Commit Graph

69 Commits

Author SHA1 Message Date
Jean-Paul Chaput 1334caad6d * All Tools:
- New: Added FreeBSD/Ubuntu patches from Otacilio De Araujo
       (<otaciliodearaujo@gmail.com>).

  * ./hurricane:
    - Change: In CellViewer, one unificated method to lauch Python
        scripts whatever they are Stratus or not.
    - Change: In ScriptWidget, the function lauched is now
        "ScriptMain()".
    - New: In PyCellViewer, add the refresh method.
2012-12-03 08:26:28 +00:00
Jean-Paul Chaput 47f3771f1d * All Tools:
- A complete sweep of cleanup to suppress allmost all compiler warnings.

  * ./hurricane/doc/hurricane:
    - New: Documentation cleanup and update, particularly on the new Layer
        derived classes.

  * ./hurricane/src/hurricane,
    ./hurricane/src/isobar,
    ./hurricane/src/viewer:
    - New: Creation of new methods, more explicit on DbU. Based on a to/from
        naming scheme.
    - New: Python support extented to include all objects needed to configure
        through python scripts.
    - Change: Finally understood what's causing the _XOPEN_SOURCE redefinition.
        Basically the Python.h must be included first before any other
        include. The type-puned problem will remains still (that is a Python
        problem, not our own).
    - Change: In DisplayStyle, uses shared_ptr for DrawingStyle instead of
        custom made reference count.
2012-11-16 12:48:38 +00:00
Jean-Paul Chaput bb50b1e302 * ./hurricane/src/viewer:
- Change: In CellWidget, small cosmetics.
2011-04-12 20:36:30 +00:00
Damien Dupuis 2df0dd439b Missing linking libs 2011-03-10 11:27:21 +00:00
Jean-Paul Chaput 562cca23c7 Added DbU::physicalToGrid method. 2011-02-24 10:00:46 +00:00
Damien Dupuis feecdab3e1 missing header 2011-02-15 11:54:48 +00:00
Jean-Paul Chaput eb86ef8bc9 * <All Tools>/CMakeLists.txt:
- Change: Added versioning to library.
2011-02-02 22:25:07 +00:00
Jean-Paul Chaput 67af923d4f * <All Tools>/CMakeLists.txt:
- Bug: During the packaging stage, DESTDIR must be appended to the
        pathes prepended to CMAKE_MODULE_PATH.
2011-02-02 12:23:43 +00:00
Jean-Paul Chaput b8e42d2efc * ./hurricane/src/viewer:
- New: In ExceptionWidget, mimic more closely the behavior of a QDialog.
        Uses QTextEdit/QTextDocument for the trace. Static "all in one" methods,
        build from various exceptions/Errors & QString. Automatic window centering
        when the trace is displayed.
2011-01-10 23:58:31 +00:00
Jean-Paul Chaput 214bb4dda4 Add the ability to get a command by it's name. 2011-01-09 18:19:21 +00:00
Jean-Paul Chaput f7721dd754 * ./hurricane/src/hurricane:
- Change: In RoutingPad, uses my C++ style. Normalize constructors calls.
        Allow to select (trough flags) the way the "best component" is choosen.
        Currently: Biggest Area or Lowest Layer or Highest Layer.

  * ./hurricane/src/viewer:
    - New: In DisplayStyle, darkening is now expressed as a ratio over the HSV
        components of a color. Introduce a new DisplayStyle::HSVr type.
        Allow a more readable darkening effect. All object modicated accordingly.
    - Change: In NetlistWidget, the "Net" section now correctly dimension itself
        on the widest net name. Must suppress all the size Hints in the header
        & data models.
2010-12-30 18:38:43 +00:00
Jean-Paul Chaput daab8a8b8f * ./hurricane/src/viewer:
- In CellViewer, adds a shortcut for launching Stratus scipts: SHIFT+P,S
        and one for pure Python scripts: SHIFT+P,P.
    - In ExceptionWidget, put the trace inside a QScrollArea so all the call
        stack can be viewed regardless of the window's size. It seems that
        QFontMetrics has problems to compute the right text size when using
        a Qt::RichText enabled widget. Adds some "manual" corrections, hope
        they will be sufficiently portables.
2010-12-15 15:10:58 +00:00
Jean-Paul Chaput 828b1d6b6f * ./hurricane/src/hurricane:
- New: Torus object. To allow a simpler management of a chip's corona,
         the toric area between the pads and the core.
    - Change: In HyperNet/LeafPlugOccurrences, change the instance stop criterions
        from "isLeaf()", which means "contains no instances" to "isTerminal()"
        which can be programmatically changed. This has to be done for the Pads
        which are non-leaf due to "padreal" but still must be considered for their
        connectors.
          This modification is coupled with one in the Ap parser.
    - Change: In Backtrace, enable support for Apple backtrace. This is a blind
        test as I can't check by myself.

  * ./hurricane/src/viewer:
    - Change: In CellWidget/SelectionModel/SelectionWidget, rewrite the Gos selec-
        tion mechanism. Now ExtensionGo could be selecteds as they ought to be.
        Also adopt a more standard way of how objetcs are selecteds.
          Prefer "dataChanged()" signal over "reset()" or "layoutChanged()" as
        it keeps the selection instead of resetting it.
          Unselecteds entry in the window (toggled with 't') are now shown in
        red for better readability.
2010-12-04 15:22:54 +00:00
Jean-Paul Chaput 8be83b1ae0 * ./hurricane/src/hurricane:
- New: Backtrace to print the stack when an exception is thrown.
    - New: In Error, support for Backtrack.
    - Change: In TextTranslator, provides a default HTML translator instead of
        building it every time it was needed.
    - Bug: In Common, when demangling a C++ symbol fails, returns the empty
        string instead of NULL.

  * ./hurricane/src/viewer:
    - New: In Exception, support for the Backtrack new feature.

  * ./hurricane/src/isobar:
    - Change: In PyHurricane, when catching a C++ exception, adds a newline to
        have a more clean display.
2010-11-16 13:43:34 +00:00
Jean-Paul Chaput b90b40f656 * ./hurricane/src/hurricane:
- New: In Query, adds an accessor to get the current path.
    - Bug: In NetExternalComponents, every component of an external net was
        considered as an external one. Now only truly external components
        are considered.

  *  ./hurricane/src/isobar:
     - New: StratusScript, dedicated Stratus script laucher.
     - Bug: In CellWidget, when drawing selecteds Gos, the loop variable was
         not reset between loops resulting in incomplete display.

  * ./hurricane/src/isobar:
    - New: In PyHorizontal & PyVertical, adds mutator methods.
2010-11-02 16:05:29 +00:00
Jean-Paul Chaput a2d5823fce * ./hurricane/src/viewer:
- Change: In Controller, adjust to the configuration changes.
2010-09-15 21:28:03 +00:00
Jean-Paul Chaput c2f3a393f1 * ./hurricane/src/viewer:
- New: Specific support for Stratus scripts. In a perfect world, this
        should be added in the stratus tool, but it would be much more
        complicated.
2010-08-26 22:01:12 +00:00
Jean-Paul Chaput 6e91d50324 * ./hurricane/src/viewer:
- Change: In CellViewer, attempt to put the menus entries in a more
        classic (intuitive?) order.
2010-08-26 15:01:39 +00:00
Jean-Paul Chaput 8a0852c730 * ./hurricane/src/viewer:
- New: In CellViewer, new menu entries for Import/Export cell, build on the
        model of open/save.
2010-08-22 12:35:29 +00:00
Jean-Paul Chaput 3774c09bab * All Main Python Modules:
- Change: New problem identified with the Python modules: each module seems
        to be built as a complete binary, so all the static C++ initializers are
        allocated in each module. In particular the C++ tree inheritance is built
        for *each* module so we cannot longer uses the typeid() comparisons
        across modules... It was used by boost::program_options to perform is
        casts with boost::any and was starting throwing exceptions because of
        bad casts. program_option was first initialized in "configuration"
        first included by PyViewer then in PyCRL (see Utilities.cpp).
          A first solution is to re-order the import of Python modules in
        stratus1/st_model so that CRL is imported first.
          The second is to not not link "configuration" with boost::program_option
        as only the binary vlsisapd-conf-editor needs it.
          That is a serious problem of which we must be aware and can cause further
        strange behaviors.
          Debug code used to diagnostic has been kept commented in the sources a
        it may be needed again :-(
          This behavior do not affect our singletons because they are part of
        dynamic libraries that seems to be correctly shared between the various
        Python modules.
2010-07-17 10:22:00 +00:00
The Coriolis Project 9f6e840036 Misplaced include (something about slot defined by QT and python : python must be included first) 2010-07-15 12:11:16 +00:00
Damien Dupuis b2e2eafadb Minor changes for compatibility with Mac osx 10.6
- moving Script from isobar to viewer
    - adding missing target_link_libraries
    - adding boost::filesystem component dependency
2010-07-15 11:13:24 +00:00
Jean-Paul Chaput 21e0040b3b Forgotten. 2010-07-14 20:07:38 +00:00
Jean-Paul Chaput 7231703f4f * All Tools:
- Change: Switch from "goodies" to "bootstrap".
2010-07-14 19:39:36 +00:00
Jean-Paul Chaput 62b8477fee * All tools:
- Bug: target_link_libraries() must be put back for OSX Snow Leopard
        (doesn't seems to affect Leopard). As I do not have an OSX under
        my hand it's untested and is likely to fail at that point.

  * ./hurricane:
    - Bug: In Instance, correct support for Instance::PlacementStatus::Code.
    - New: NetExternalComponents python object wrapper, moves
        getExternalComponents() from Hurricane module into that new object.
    - New: Breakpoint python object wrapper, to allow stratus1 to stop each
        times it calls the viewer.
    - Change: In PyHurricane, UpdateSession is now a true object with static
        methods.
    - Change: In BreakpointWidget uses a local event loop mechanism that no
        longer consumes 100% of a CPU while doing nothing... (copied from
        Qt's sources of QDialog).
2010-07-12 15:07:58 +00:00
Jean-Paul Chaput 90527e4533 Forgotten TextTranslator sources. 2010-07-06 10:10:50 +00:00
Jean-Paul Chaput fbd9aba2f5 * All tools:
- Library linking: there must not be "target_link_library()" for libraries,
        only when building binaries. Avoid clashes between static module
        or class variables, and strange reinitialisation of those variables.
    - Change: Boost is now always linked staticly.
  * ./hurricane/src/hurricane:
    - New: TextTranslator to allow translation to and from text & HTML.
    - Change: In Exception, make uses of TextTranslator to correctly display
        exception text when in graphic mode.
  * ./hurricane/src/isobar:
    - New: Script, small object to wrap around Python scripts.
2010-07-01 11:46:29 +00:00
Jean-Paul Chaput 85b246eb16 * ./hurricane/src/viewer:
- Change: In DisplayStyle, new attribute "goMatched" to tell if the style
        is associated to a given Go and therefore should be displayed in the
        Layer table.
2010-06-22 20:37:28 +00:00
Jean-Paul Chaput 72418edb16 * ./hurricane/src/viewer:
- Change: The tab settings of the controller now refers to the XML
        configuration widget.
2010-06-18 14:01:08 +00:00
Jean-Paul Chaput c293c57fb8 * ./hurricane:
- Change: In Instance & Cell, do *not* materialize unplaced instances.
        This is to avoid overloading the QuadTree at point (0,0) and besides
        has no senses. Uses the PlacementStatus state.
    - Bug: In Viewer CMakeLists.txt, put tool include directories first.
2010-06-08 12:02:03 +00:00
Jean-Paul Chaput 4db3b0b3de * All tools:
- Change: adopt a tree layout compliant with the UNIX FHS.
        * includes under      TOP/include/coriolis2.
        * shared datas under  TOP/shared/coriolis2.
        * docs under          TOP/share/doc/coriolis2.
        * configuration under TOP/etc/coriolis2

  * ./crlcore:
    - Change: In Environment, comply to the new tree layout, search configuration
        files under TOP/etc/coriolis2/.

  * ./knik:
    - Change: In flute, comply to the new tree layout, get the "POW*.dat" files
        from TOP/share/coriolis2/flute-2.4.
2010-05-18 12:53:00 +00:00
Jean-Paul Chaput 9b54c926fe Adds LIB_SUFFIX to all CMakeLists install "lib" targets, so that 64 bits
libraries gets installed in "lib64" instead of "lib".

buildCoriolis.py sets automatically LIB_SUFFIX for cmake.
coriolis2.spec modificated to uses lib64 on 64 bits.
2010-05-17 21:19:07 +00:00
Jean-Paul Chaput bca3815efe Correct argument of dbuModeChanged and changeDbuMode consistently (to unigned int) 2010-05-17 16:37:14 +00:00
Jean-Paul Chaput b8883968be * All tools:
- Change: Correction to suppress all g++ warnings. Except thoses comming
        from bad Python system includes...
2010-05-17 14:40:36 +00:00
Jean-Paul Chaput f8d79dc53e * All tools:
- Change: In the CMakeLists.txt, in all the install commands remove all
        the leading "/" as they prevents the CMAKE_INSTALL_PREFIX to be took
        into account. It was nevertheless working because buildCoriolis.py was
        using DESTDIR which is prepended anyway.
  * ./goodies:
    - Change: In buildCoriolis.py, no longer uses the DESTDIR but instead
        CMAKE_INSTALL_PREFIX.
2010-05-16 16:33:58 +00:00
Jean-Paul Chaput 74e05d19ff * ./hurricane:
- Cleanup: In Slot.h, comment out print for debug.
    - New: In CellViewer, adds a renameCell() method to "rename" the currently
        loaded Cell "in place". Utility function for SaveCellDialog (see below).
2010-05-14 07:36:42 +00:00
Jean-Paul Chaput 92422cb683 * ./hurricane:
- Bug: In CellWidget, correct the slightly off position of Labels references.
    - New: In ControllerWidget, new TabSettings tab to hold the configuration
        settings of the various Coriolis tools. The TabSettings is a tab itself.
2010-04-28 15:40:51 +00:00
Jean-Paul Chaput 22f2a47f99 * ./hurricane:
- Bug: In CellWidget, correct the slightly off position of Labels references.
2010-04-27 10:54:26 +00:00
Jean-Paul Chaput ddf2fb19bc * ./hurricane:
- Bug: In PaletteWidget, do not derive from QScrollArea. Instead uses it
        as a child widget. This solves the refreshing problem of the Palette.
        As a rule now: never derives from anything other than QWidget.
    - New: GotoWidget, not having this feature finally unverved me enough for
        beeing implemented. You can specify an (x,y) on which the view will
        be centered and an aperture which gives the size of the view smallest
        side. It's a way of specifying the zoom level (as the zoom is not
        meaningful for users). An aperture of "zero" disable that feature,
        that is, zoom remains unchanged. The coordinates are integer which
        are implicitly expressed in the current mode used by the viewer
        (Symbolic, Grid, or Physical in micro-meters).
    - Change: Big rewrite of how the Symbolic/Grid/Physical modes are sets
        to/from the CellWidget. Impacted widgets are CellWidget &
        DisplayFilterWidget.
          Main changes are that there is no more "individual" setter/getter for
        modes (setSymbolic(), setGrid(), setPhysical(DbU::UnitPower)) but one
        with two arguments:
              setDbuMode(int mode,DbU::UnitPower)
          Signals & slots of the widgets also evolves into:
              dbuModeChanged(int mode,DbU::UnitPower)
              changeDbuMode (int mode,DbU::UnitPower)
2010-04-26 13:22:23 +00:00
Jean-Paul Chaput b985e8c96f * ./hurricane:
- New: In Reference, adds a type to differentiate between "Labels" and
        "Position". Labels are strings that we wants to display, and position
        are specific points with a name attached to it.
    - New: In CellWidget, specific display for the two kind of references
        (Label & Display).
2010-04-17 10:13:17 +00:00
Jean-Paul Chaput d1d2a2ea01 * ./hurricane/src/hurricane:
- New: In Query, add support for Markers, although they are Go's, are stored
        in a separate QuadTree directly at Cell level. In a very similar fashion
        to the ExtensionGos. Sometimes should look if thoses mecanism could be
        unified.

  * ./hurricane/src/viewer:
    - New: In CellWidget, add support for displaying References. Uses the Marker
        Query. For now labels are displayed centered on the reference point,
        making that point hard to see. That behavior may be changed later if
        needs to be.
    - Bug: In InspectorWidget, the History::push() wasn't updating the ComboBox
        index. The line was strangely commented out (?).
2010-04-03 13:56:07 +00:00
Jean-Paul Chaput 53ba314063 * ./hurricane/src/viewer:
- Change: In Cyclop, now uses the GtkStyle when not under OSX and Qt is
        newer or equal to Qt 4.5.0.
    - Change: In the various Qt Model Table, do the rowHeigh bug correction.
    - Bug: In InspectorWidget/NetlistModel, when browsing through the records
        tree, the records were generated twice at each slot change. This
        was due to the History ComboBox sending a index change signal then
        the InspectorWidget setting the slot *again*.
          When trying to explore a Slot, but this Slot is empty (like an
        empty vector, for instance) do not gut the RecordModel. Because
        as we find out that the new Slot is empty we go back and restore
        the previous contents. Potentially slow if we comes from a Slot
        with lots of records. Now we dump the contents only if there is
        something to explore.

  * ./hurricane/src/hurricane:
    - Bug: In Record, the slots where stored in a list container, which was
        making indexed accesses very very slow. This slowdown was also
        affecting the destructor of Record (this is the explanation why
        the RecordWidget was slow, even when *leaving* the net IntrusiveSet).
          Now implemented in term of STL vector.
    - Bug: In Slot/Common, still some adjustements to make the Inspection
        mechanism work with all types. Correct the "IntrusiveMap<>" not
        working with the NetMap. Related to templates not using the same
        constness.
    - Change: In Entity/DBo/Cell, Some more adjustements on Slot/Records.
2010-03-26 18:01:41 +00:00
Jean-Paul Chaput d55da89955 * ./hurricane/src/viewer:
- Bug: In NetlistWidget/NetlistModel, suppress the "forceRowHeight()"
        method which was terribly slowing down the table display. Instead
        uses the "setDefaultSectionSize()" of the vertical header to setup
        the row height (much more compact display).
    - Bug: In NetlistModel, strangely, although we have a "data()" and a 
        "headerData()" method, the "data()" is also called for the headers
        potentially erasing any previous setting done with "headerData()".
          This was occuring for the fonts settings. Don't known if it is
        a bug or a feature of Qt...
    - Thoses changes has to be ported to the others widgets some times...
2010-03-23 12:54:50 +00:00
Jean-Paul Chaput 822fd9ae23 Rename documentation of hviewer into viewer. 2010-03-15 14:05:45 +00:00
Jean-Manuel Caba c24c8b18e4 some hviewer dir where still present in CMakelist 2010-03-10 10:41:05 +00:00
Jean-Paul Chaput 905c7b4960 * ./hurricane/src/hurricane:
- SVN MOVE: "hviewer" directory renamed to "viewer".
2010-03-09 15:10:18 +00:00
Christophe Alexandre 4e645a28aa introducing hinspector widget 2008-04-25 14:15:42 +00:00
Jean-Paul Chaput 8d46981a42 * viewer :
- No more flickering. Was due to a one pixel moving of a two
       pixel periodic pattern, which obviously result in a complete
       pattern inversion. Now shift by two pixels, hoping there is
       no "3 pixels periodic" patterns...
   - As a side effect, it introduce a "multiplicator effect" on
       mouse movement, but it could be useful (avoid big displacement
       of the mouse).
2008-04-07 10:04:13 +00:00
The Coriolis Project 9d48b67296 ged rid of H namespace 2008-04-03 15:21:18 +00:00
Jean-Paul Chaput 97916fd05b Complete replacement of xtof viewer by jpc'one.
Still in early stage. Many features missings.
2008-04-03 15:07:41 +00:00