Commit Graph

287 Commits

Author SHA1 Message Date
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 adaae1af9b * ./hurricane/src/hurricane:
- Bug: In Instance::_postCreate, do not disable Go auto materialization if
        the instance is placed.
2010-06-25 08:37:07 +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 e51246d3c7 * ./hurricane:
- Change: When static linking is required, also switch Boost libraries in static
        mode. Automatically done is modules using FindHURRICANE through
        SET_LIB_LINK_MODE(). Note: FindBoost must be called *after* SET_LIB_LINK_MODE().
2010-05-31 12:27:50 +00:00
Jean-Paul Chaput 1407845847 Install python modules at the right places. 2010-05-22 22:15:47 +00:00
Jean-Paul Chaput 87d56783e8 * ./hurricane:
- Change: In FindHURRICANE.cmake, prepend ${DESTDIR} to the search pathes
        components (for use by packagers).
2010-05-22 13:46:56 +00:00
Jean-Paul Chaput b9a97023d5 * All tools:
- Change: Adds ${LIB_SUFFIX} to all library search paths.
2010-05-19 14:31:01 +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 8a32b65a39 One more slash to remove on install command. 2010-05-16 17:36:05 +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 e29e1e9951 Adds -Wall to the C/C++ flags for any tool using Hurricane.
Sets through FindHURRICANE macro.
2010-05-14 12:28:12 +00:00
Jean-Paul Chaput 2d2c14be2c Redefine CMake C/C++ CFLAGS to add "-Wall". 2010-05-14 11:56:59 +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 d89379bc64 * ./hurricane:
- Bug: In Net.h, force expansion of SlotTemplate<Net*> with the line:
        const SlotTemplate<Net*> dummyNetSlot ( string("dummyNetSlot"), NULL );
          I've no satisfactory explanation, but in the cyclop Inspector the
        Cell's NetMap is correctly created and in the cgt Inspector, Nets
        entries of the NetMap appears as "unsupported", meaning that the
        SlotTemplate<> has not been generated for Net. This correct the
        problem.
2010-05-11 11:02:42 +00:00
The Coriolis Project 1cfe0a54c9 Correct pathes detection. 2010-04-28 21:54:54 +00:00
The Coriolis Project 6e2abf7aa2 Correct project path settings. 2010-04-28 20:36:23 +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
Damien Dupuis eed0d1b35a - comment correction in PyPad.cpp
- adding getBoundingBox method in PyReference.cpp
2010-04-27 12:25:56 +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
Ramy Iskander 7e0d158a16 Replacing "unsigned int" by "size_t" for demangle so it can be compiled on mac osx 2010-03-29 09:09:22 +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 d10f443bf9 * All Tools:
- Change: <PROJECT>_SEARCH_PATH are put back into the *first* tool of
         a project.
     - Bug: In HURRICANE_CHECK_MACRO(), the quiet flag was not correctly
         implemented. User ARGV instead of argv (case sensitivity!).
2010-03-19 14:22:25 +00:00
Jean-Paul Chaput 836f546a46 * All Tools:
- Change: New structure for the installation & CMake system.
         * Tools are now grouped in "projects". There are three projects:
           1. - IO: Standalones parsers/drivers (IO_USER_TOP, IO_TOP).
           2. - Coriolis: Base & digital tools (CORIOLIS_USER_TOP, CORIOLIS_TOP).
           3. - Chams: Analogic tools (CHAMS_USER_TOP, CHAMS_TOP).
           Each *project* has a two "TOP" environement variables, for
         example: IO_TOP and IO_USER_TOP. Thoses variables are the only
         ones useds to locate the tool (CMake modules, headers & libraries).
           The local path always takes precedence over the global one.
           The localisation process occurs in each tool top CMakeLists.txt
         where the macro SETUP_PROJECT_PATH is to be defined. There is no
         way to put it in a shared includes file as it's the macro precisely
         used to locates the includes... You have to call the macro once for
         each project you wants to uses:
             SETUP_PROJECT_PATHS(IO)
             SETUP_PROJECT_PATHS(CORIOLIS)
         * In FindTOOL.cmake, supress the <TOOL>_DIR_SEARCH and uses the
         <PROJECT>_DIR_SEARCH instead (example: CORIOLIS_DIR_SEARCH).
         * buildCoriolis.py modificated according to the new "TOP" scheme.
2010-03-18 15:32:16 +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
Jean-Paul Chaput b7adc4db52 Caching QVariant of the column to accelerate the QTreeView. 2010-03-09 14:19:23 +00:00
Jean-Paul Chaput 4449b76213 * ./hurricane/src/hurricane:
- Bug: In DebugSession, bad stacking/unstacking of debug levels (unapaired),
        and wrong value stacked sometimes.

   * All Hurricane/Coriolis tools:
     - Change: Simplify the CMakeLists,
2010-03-08 16:33:57 +00:00
Damien Dupuis 88778da1a2 Added DirectSetBoolAttribute method. I did some tests with it and thought it might be useful. 2010-01-29 08:51:48 +00:00
Jean-Paul Chaput bdad551e30 * ./hurricane/src/hviewer:
- Change: In CellWidget, Ruler again, no more negative ticks.
2010-01-27 12:07:51 +00:00
Jean-Paul Chaput ca270f2396 * ./hurricane/src/hurricane,
./hurricane/src/hviewer:
    - Change: In DbU/CellWidget, some more small adjustments on the ruler.
2010-01-27 10:52:34 +00:00
Jean-Paul Chaput 08333f11fa * ./hurricane/src/hurricane:
- Bug: In DbU, "micro" symbol is "u", not "m".
    - Change: In DbU, uses different precisions on differents units.

  * ./hurricane/src/hviewer:
    - Change: In CellWidget, when drawing a Ruler, display the current Unit
        mode on first & last tick.
2010-01-27 09:43:07 +00:00
Jean-Paul Chaput e6f4c5c508 Increase precision of DbU::getValueString() to 3 decimals for micrometer.
Uses SmartTruncate when displaying rulers.
2010-01-26 16:24:20 +00:00
Jean-Paul Chaput faceb1f169 * ./hurricane/src/hurricane:
- New: In DbU, extend the StringMode/getValueString() to support the physical
        unit in addition of lambda & foundry grid. "setStringMode()" has now a
        second parameter "UnitPower", only used when the mode is DbU::Physical.

  * ./hurricane/src/hviewer:
    - New: In CellWidget, the fitToContents now adds a margin of 5% to get border
        clear of the bounding box.
    - New: In CellWidget, ability to display lengths in nanometers & micrometers
        in complement of symbolic and foundry grid. DisplayFilterWidget modificated
        accordingly. New members:
          void           setPhysicalMode ( DbU::UnitPower );
          bool           physicalMode    () const;
          DbU::UnitPower getUnitPower    () const;
        In addition to:
          bool           gridMode        () const;
          bool           symbolicMode    () const;
          void           setGridMode     ();
          void           setSymbolicMode ();
2010-01-26 12:58:36 +00:00
Jean-Paul Chaput 0c88f99622 Spot now uses the custom grid as it should. Allowing to step
by one foundry step.
2010-01-25 15:52:37 +00:00
Jean-Paul Chaput cea214de5e Test for NULL cell in setCell() ... 2010-01-25 14:41:48 +00:00
Jean-Paul Chaput ae85636e13 * ./hurricane/src/hviewer:
- Change: In CellWidget/Ruler, rulers are now unidirectionals (as in Cadence).
    - New: In CellWidget, support for drawing components names. Includes correction
        of badly computed coordinates in drawDisplayText.
          Components names are drawed only for the top level of hierarchy and only
        if the bounding box is large enought (currently hard-coded to 50x50 pixels).
    - New: In Net, "Automatic" attributes to distinguish automatically generated
        net names without string pattern matching. "Automatic" Net's names are not
        drawn by the CellWidget to much cluttering the display. And testing a boolean
        is way faster than a pattern matching on a hard-coded name.
    - Change: In CellWidget, when loading a terminal Cell, draw it's internals.
2010-01-22 16:38:21 +00:00
Jean-Paul Chaput 51573cfa23 * ./hurricane/src/hurricane :
- In Common.h, disable floatCompare(), floatDifference() & floatRound() as
        they triggers g++ warnings in optimized mode. Replace with roundfp().
2009-12-27 20:12:46 +00:00
Jean-Paul Chaput 089ff09c4f Oups. 2009-12-08 14:30:49 +00:00