Commit Graph

13 Commits

Author SHA1 Message Date
Jean-Paul Chaput fee6e4c593 * ./hurricane/src/hurricane :
- New: In DbU, create a "onCustomGrid(point,step,round)" method to place
        a point on an arbitrary grid. That different from the real or symbolic
        ones.
    - Bug: In DbU, all the snap function where bugged when passed negatives
        coordinates.
    - New: In DbU, new conversion function, DbU::getPhysical() to translate into
        physical (metric) system.
    - New: In CellWidget, separate the "Snap Grid" (real or symbolic) from the
        cursor position. The cursor position will now be displayed in half-lambda
        (symbolic mode) or founder grid unit (real mode).
          That can be changed trough the CellWidget::setCursorStep(DbU::Unit)
        method.
    - New: In CellViewer/ControllerWidget, the CTRL+I keys toggle the visibility
        of the Controller instead of systematically showing it.
2009-10-14 08:20:08 +00:00
Jean-Paul Chaput 609772dcc3 * ./hurricane/src/hviewer :
- New: In PaletteWidget: allow to select the number of rows of the grid
        widget (up to "infinite", meaning one column). Allow to hide entire
        groups in the widget.
2009-04-21 11:41:10 +00:00
Jean-Paul Chaput 634af2196f * ./hurricane :
- Change: in CellWidget::DrawingPlane, complete replacement of hard-coded
        numeric indexes by the PlaneId enum values.
    - Change: in SelectionWidget, filter on the Occurrence name instead of the
        path name. Todo: add a radio button to select on witch column we sort.
    - Bug: in SelectionWidget, when the filter is active, remap the index
        of the toggled occurrence through the filter.

  * ./hurricane,
    ./coriolis/src/katabatic,
    ./coriolis/src/kite :
    - Change: documentation building with doxygen is now optional and disabled
        by default. To enable documentation generation run cmake with the
        following argument :
          -D "BUILD_DOC:STRING=ON"
        Or edit the cmake cache variable "BUILD_DOC".
2009-03-03 22:27:03 +00:00
Jean-Paul Chaput 78be633226 * ./hurricane/src/hviewer :
- Change: modifie GraphicsWidget, PaletteWidget, NetlistWidget &
        SelectionWidget to comply to the "star" model.
2009-02-03 15:05:05 +00:00
Jean-Paul Chaput 4067a363dc * ./hurricane/src/hviewer :
- Bug: correction of the bad keyPress event handling in InspectorWidget
        (had to press twice the key for the action to be transmitted).
          Uses an eventFilter() at InspectorWidget instead of a keyPressEvent()
        overload. The keyPress event is first received by the QTableView then
        transmitted to the upper level. The eventFilter allows the InspectorWidget
        to catch the event *before* it gets to QTableView (but let pass thoses
        it don't want).
    - Bug: idem for SeletionWidget.
    - Change: do not draw the rectangular area of AreaCommand until it is bigger
        than a given threshold (programmable). Affect ZoomCommand and
        SelectCommand. ZoomCommand no longer issue a warning when the zoom is
        to small.
    - New feature: fit to net in the NetlistWidget. Uses simple contextual menu,
        another way to avoid overloading keyPressEvent().
    - Change: in Query, the filter has now it's own subtype: Query::Mask.
    - Change: enhancement for the "start" model of signal propagation, used to
        re-implement the DisplayFilterWidget.
    - Change: more clear policy for signal emission: a signal must be emitted
        by any "setter" method (setStartLevel(), setStopLevel(), ...). Has to
        be enforced for all setter (work in progress).
    - Change: re-implemenation of the delayed refresh mechanism. No more flags
        propaged througout the functions calls but a session mechanism instead.
        See CellWidget::openRefreshSession() & CellWidget::closeRefreshSession().
        Nothing is actually drawn until the last session is closed.
          Session mechanism can be invoked by signals/slots, see NetlistWidget.
    - Change: less dangerous key mapping:
        'z'          : zoom in.
        'm'          : zoom out.
        'CTRL+z'     : previous zoom level.
        'CTRL+m'     : next zoom level.
        'CTRL+Up'    : back in hierarchy.
        'CTRL+Down'  : go down in hierarchy.
        'SHIFT+Up'   : back in hierarchy stack.
        'SHIFT+Down' : go down in hierarchy stack.
2009-02-02 14:45:48 +00:00
Jean-Paul Chaput 3d6ebdda92 * ./hurricane/src/hviewer :
- Change: simpler implementation of the occurence selection mechanims
        between SelectionPopup, SelectCommand, SelectionWidget & CellWidget.
        Consistent (identical) names of signal/slots : selectionToggled() and
        toggleSelection().
    - Change: disable QApplication::processEvent() has it seems to slow down
        display refreshment on Mac OS. This may be a side effect of another
        problem not yet diagnosed.
    - New feature: CellWidget internal state enhancement : now manage an
        history of scales (through 'u' & 'd').
    - New feature: hierarchical exploration through 'CTRL+u' & 'CTRL+d'.
        On second though, what a bad key mapping. To be corrected soon...
2009-01-30 14:52:05 +00:00
Jean-Paul Chaput 8961968b8b * ./hurricane/src/hviewer :
- New feature: CellWidget now store it's internal state in a separate
        nested object CellWidgetState. The State is work in progress, currently
        is store the Cell*, showSelection, cumulativeSelection, selection
        criterions and showBoundaries. showBoundaries may evolve to be stored
        as part of the Palette's state.
    - Change: implement the "start" propagation model signal/slot for
        showSelection, cumulativeSelection & showBoundaries. The main concern
        is to avoid signals loop. See SelectionWidget::setShowSelection(bool)
        for an example.
    - Change: supress the minimumSize of the SelectionWidget (200 pixels is a
        waste of space when the Path is empty).
2009-01-27 10:14:46 +00:00
Jean-Paul Chaput 8a2d46e21e * ./hurricane/src/hviewer :
- Bug: redraw the palette layer samples whenever the style changes. Uses a
        new, more clear model to transmit signals. A star model where the
        CellWidget is the center, signals propagate a void pointer which tells
        the emitter to avoid looping. First a slave emit the signal to the
        CellWidget. When the CellWidget receive the signal it's transmitted to
        all slave widgets.
    - New feature: ExceptionWidget (derived from QDialog) to display properly
        catched exceptions. The Abort button of the Dialog forces the program
        to core-dump with a SIGSEGV. The "Try to Continue" resumes the program,
        which is higtly to crash anyway...
    - New feature: a HApplication in replacement of the QApplication to catch
        exceptions in the notify() function, that is exceptions that could be
        throwed inside event handlers.
2009-01-18 21:17:43 +00:00
Jean-Paul Chaput 9edbed80ae * Merry Christmas & Fuck Numericable.
* ./hurricane/src/hurricane :
    - New feature: Display support for Rubber, three modes of representation : centric,
        barycentric and (pseudo) steiner.
    - New feature: ability to generate pdf/ps snapshot using QPrinter. Can perform
        an exact snapshot or print a synthetic A4 (choice hard-wired for now).
    - Change: display styles reorganisation, recreation of the "Alliance Graal" look.
    - New feature: darkening managment at CellWidget level, to allow Extension to
        darken when unselecteds.
    - New feature: ExtentionGo are now managed by the selection redraw function.
    - New feature: Selector set is now sorted by object type, this allow to speedup
        the redraw function which will now perform only one loop.
2008-12-25 10:27:58 +00:00
Jean-Paul Chaput b725e49732 * ./hurricane/src/hurricane :
- New feature : remove Hurricane's original basic Timer and replace it with
        the one from Coriolis/crlcore. Added ability to get the elapsed time
        without stopping the timer.
  * ./hurricane/src/hviewer :
    - New feature : complete redesign of the drawing refreshment loop. Now there's
        a "secondary" loop managed by the "RedrawManager" object which bufferize
        the redraw requests. The "_redraw()" function has been made interruptible
        at coarse level (between layer).
          Important note about the redrawing design : the QApplication::processEvents()
        function cannot be called inside the paintEvent() functions/sub-functions.
        So the drawing is separated from the paintEvent. The paintEvent() performs
        only quick pixmap buffer copy. The _redraw() is triggered by the move/refresh
        events bufferized by the RedrawManager, flush periodically the loop event 
        and send direct (not posted) paint events (repaint() call).
          Another constraint is that the displayed Widget can only be painted during
        the paintEvent(). Otherwise the painter refuses to initialize.
    - Ergonomy : adopt more standard key/mouse bindings. No more CTRL key for zooming
        (too small zooms are rejecteds, thresold at 10x10 pixels). Continuous move
        is enabled with SPACE+mouse.

  * ./coriolis/src/unicorn :
    - Reorganisation : Unicorn is now supplied as a separate library. Due to a limitation
        of cmake the binary can no longer be named "unicorn" as it conflicts with the
        library name. So it's been renamed into unimain (better candidates?)
2008-12-20 16:56:05 +00:00
Jean-Paul Chaput 4bc6940b39 * ./hurricane/src/hviewer :
- New feature : full uses of SelectionModel in NetlistWidget, allow multiple
        selection. New option to automatically select Nets from the Netlist
        browser into the SelectionWidget (temporarily set up in cumulative
        mode).
    - Rename : SelectorCommand into SelectorCriterion (file name renaming in
        next commit).
    - Reorganisazion : in CellWidget, SelectorCommand/SelectorCriterions operations
        are gathered in a single object : SelectionCriterions.
2008-11-28 23:10:39 +00:00
Jean-Paul Chaput e5f5ce3592 * ./hurricane/src/hviewer :
- Bug : InspectorWidget was using Record from Occurrences in the SelectionWidget.
        but those Occurences were created on the fly by the CellWidget/Selectors.
        So, whenever the selection changes the Occurrence may diseapear leaving a
        bad Record in the InspectorWidget (core dump).
          Now, the TabInspector keep a copy of the Inspected occurrence, so it
        can go through any selection change.
          In addition, the InspectorWidget could be passed Occurrence that it keeps
        local copy along with Record*.
    - New Feature : internal, first step toward an extensible ControllerWidget :
        now all Tab are derived classes of ControllerTab.
2008-11-27 15:09:04 +00:00
Jean-Paul Chaput 9c4d322de1 * ./hurricane/src/hviewer :
- A whole bunch of forgotten files.
2008-11-27 08:14:50 +00:00