Status of EPICS Enhancements

Currently Version 3.02.27 for Solaris, HP, and Windows. --- March 24, 1997

        1. Menus are not loaded each time you select them.  Must exit
           program and restart it to load modified menus.  Don't want to
           do this.

        Status: In process.


Fixed   2. Schedit redraws window after selecting a parts library from the
           Configure menu.  This takes a long time on large schematics.


Fixed   3. When you select a part to put in the schematic, the view zooms
           out and pans, causing a redraw.  This takes a long time on
           large schematics.


Fixed   4. Need to be able to resize property list.

        Status: Fixed for Motif.  Also, for both Motif and Windows, the
           default list size has been changed to 14, which it was in
           pre-Motif and MS-DOS releases.


Fixed   5. Need to be able to select a property value from a list when a
           property rules file is being used.  Want to double click on the
           property to cause a selection list to pop up.


Fixed   6. The values in a list in a property rules file are sorted
           alphabetically by CapFast.  You want them to appear in the same
           order you entered them in the rules file, so that for example,
           the order would be numerical, as in: 1 second, 2 seconds,
           5 seconds, 10 seconds, 20 seconds.


        7. Only one list of legal values can be defined for a given
           property name.  This is not desirable.  For example:
               Say, we have ai record and ao record. Both of them have one
               property named "SCAN". The legal value list for ai Record is
               "1 second" , "2 second" and for ao Record may be different.

        Status: This would be difficult to implement, so is on hold.


Fixed   8. When a property's value is changed, the property list resets to
           the top of the list.


Fixed   9. The CALC property does not handle numbers (constants) properly.
           It does not accept numeric constants such as 1, 4.5, etc.


        10. Speed up redraw, if possible.  I know this might not be
            possible, but it does seem to spend a lot more time updating
            the screen than most CAD packages.

        Status: In process.


Fixed   11. The following doesn't work as a rule:
(Mostly)        HOPR : ( $* >= $( LOPR ) )
                LOPR : ( $* <= $( HOPR ) )
            If HOPR is 1.0e+8, then it objects if LOPR is 1. (And a lot of
            other values.  I have had to comment out a number of valid
            rules because they don't work.

        Status: This works, as long as at least one of the properties
            (LOPR or HOPR in this example) is defined PRIOR TO reading the
            rules file.


        12. Reading a new property rules file doesn't clear the previous
            rules.  My rules files aren't very dynamic once they have
            stabilised.

        Status: In process.


Fixed   13. Incorporating the symbol name somewhere in the property
            window.  I often do bulk edits of rules and I lose track of
            what symbol I am editing the properties of.


        14. Optionally don't sort the properties in the properties window.
            The argument for this is similar to 6 above, but is much
            more important since there are more properties than selections
            in a property rule, and you tend to group like properties
            together.

        Status: This would be too difficult to implement.  The code was
            written (long ago) relying on the fact that the property list
            is sorted.  Unsorted properties would break netlisters that
            depend on the order of identical property names with different
            qualifiers.  All these netlisters would have to be re-written.


        15. Improve the wire routing/rerouting algorithm.

            I realise that this is difficult to define, but I find this
            is an area in which Capfast doesn't reach some of its
            competitors standards.  Two things would be nice:

              a. If someone connects two arbitrary ports together then
                 there would be a mode in which the wire would be
                 `auto-routed' so it:
                 i.   Only is routed horizontally and vertically.
                 ii.  Isn't routed 'on top of' any other wire (it may
                      cross wires, of course).
                 iii. Has corners that are snapped to gridpoints
                 iv.  Doesn't pass over any part.
                 v.   Doesn't pass over or `short to' any port that is not
                      one of its endpoints.
                 vi.  Is reasonably short - primarily it doesn't have
                      pointless U-shaped detours

              b. If the part is moved then all wires are rerouted to
                 satisfy the above constraints. 

        Status: In process.  (This is a MAJOR project.)


        16. Enter symed from schedit.  When I create a hierarchial symbol,
            I'd like to be able to pop into xsymed and edit the symbols.
            Exiting would either return me to schedit, or more simply,
            close the xsymed window.

        Status: In process.  Our plan is to implement the :system command,
            which you could use to start any program.


        17. Reload and add ports to a new symbol.  Currently if you create
            a new symbol you can add ports until you save it.  When you
            reload the drawing and select the symbol, you cannot add more
            ports, but get the error "No Block selected".

            Currently if you use Select Symbol to Replace and give
            the same symbol name then the symbol isn't reloaded, you just
            get the initial definition.  It isn't even reloaded if you
            change the symbol to some other one and then change it back.
            This is presumably because of other symbols of the same type
            may exist on the diagram - however the preferred behaviour
            would be for all symbols of the same type be updated.

        Status: The first part to this request, to be able to add ports to
            a symbol in Schedit after the schematic and symbol have been
            saved, would be dangerous.  We are working on the second part,
            to be able to re-load the symbol definition from file
            (currently they are cached in memory for speed), so you could
            add the ports in Symed and then reload the symbol definition
            into Schedit (which would affect ALL symbols by that name).


        18. Create split windows.  I'd like to be able to show two
            drawings simultaneously, in the left and right (or top and
            bottom) halves.

        Status: In process.


Fixed   19. Fix the floating license.


Fixed   20. The ability to add a text note box to a diagram and edit the
            text within it, which I found very useful in version 2, was
            withdrawn in version 3.  This makes it very difficult to
            document diagrams using a paragraph of text.  I have had to
            resort to importing note boxes created using version 2 and
            editing the ".sch" files manually to change the text (very
            dodgy).  I can't understand why this was done, as it is like
            withdrawing the comment feature from a compiler.  I would like
            to see this feature restored.


Fixed   21. Editing free form text using the "Text" menu requires the
            whole text string to be retyped.  I would like to be able to
            edit the text rather than type the whole thing back in again.
            This could be done by bringing up an "Edit text" pop-up rather
            than prompting me for a new line of text at the bottom of the
            screen.
 

        22. Whenever the "Display" flag for a property is switched on for
            the first time in the properties menu and "Move" is selected
            the display zooms out, redraws and becomes unreadable.  The
            reason is that the default location for the display of each
            property seems to be way outside the diagram.  I would like to
            see the default location chosen sensibly - e.g. somewhere near
            the centre of the symbol that property refers to or (even
            better) one line below the last property you displayed.

        Status: In process.


        23. Sometimes when I attempt to move a displayed property using
            "Move" from the properties menu the diagram redraws and the
            display of the other properties disappears.  This makes it
            impossible to line up these displays.  Usually more than one
            attempt is needed.

        Status: In process.


        24. If a symbol for a particular part is not found Capfast gives
(alpha      up and refuses to display any of the diagram.  I would prefer
 stage)     to see Capfast use a default symbol for such objects and
            attempt to display the diagram.

        Status: This has been implemented, but is still in the alpha stage,
		since it can't handle rotations or mirroring properly.


        25. I would like Phase 3 seriously to consider changing the look
            and feel of Capfast.  The editors seem clunky and old
            fashioned compared to most GUI packages.  Particular
            improvements could be (for example):

               a. Allowing you to select an object by clicking on it
                  instead of having to go into the "Select" menu.

               b. Adding a new object to the list of selected objects by
                  clicking on it with the middle mouse button.

               c. Moving objects by dragging them instead of having to
                  select the "Edit/Move" menu.

               d. Bringing up the "Properties" menu for an object
                  automatically by double clicking on it (or pressing the
                  right mouse button).

               e. Starting a wire automatically whenever the mouse is
                  clicked on a port with the CTRL key pressed.

               f. Going into "Select/Area" mode automatically whenever the
                  mouse is dragged with the CTRL and SHIFT keys pressed.

               g. Allowing a wire to be selected and repositioned by
                  clicking on it with CTRL pressed and dragging the mouse.

               h. Bringing up the "Edit" menu automatically whenever the
                  right mouse button is pressed in open space.

               i. Including "Zoom+" and "Zoom- "buttons so you don't have
                  to keep bringing up the "View" menu.

            The usual defence against such improvements is that long
            standing users of Capfast are used to the present look and
            feel and will not like a change.  What Phase 3 could do is
            include a "Preferences" menu so that users can set up their
            own look and feel.  For example "Select object with mouse
            click" could be a flag on the preferences menu you can turn on
            and off.

        Status: In process.  Chuck has wanted to do this for years.  He
            thinks it is possible to make the commands invoked by mouse
            actions be user configurable.


        26. Add a way of scrolling back in the text information window at
            the bottom of the main screen.  Often, particularly on
            startup, messages appear and scroll off before they can be
            read.

        Status: We are working on this.  However, to alleviate this a bit,
            there is a command line option to both Schedit and Symed
            ("-w#" where # is a number) that allows you to control the
            number of lines displayed in the command and message area.


Fixed   27. Add a 'Default' button in the properties window that revers a
            property back to its default value (and hence deletes the
            entry from the .sch file).

        Status: This ability already exists: by just deleting the property
            (with the Delete button) it reverts to its default value.


Fixed   28. Add an option (probably via a logical variable) that preserves
(mostly)    values and display options for properties when symbols are
            copied or drawings are merged.  I must admit that there may be
            a way of doing this but at the moment I am replying from a
            site without a manual, so I can't check.

        Status: These variables already exist: cpyinst controls whether
            instance properties (non-default) are copied with a symbol,
            and wcpynames controls whether wire names are copied.  They
            also affect what is preserved when another schematic is merged
            into the current one.  The only bug in this is that while
            you're positioning the merged in schematic, the wire names
            will display even though wcpynames is 0, and property values
            will not display, even if cpyinst is 1.  The end result is
            correct, though (after redraw).