Mail Archives: geda-user/2019/07/16/08:18:36
Hi,
I just pushed a series of commits to gEDA/gaf which mostly conclude what I
had in mind for 1.9.3.
GUI dock window development is now completed. Apart from the docking
mechanism itself, the component selector was the main issue as it wasn't
really designed to be dockable. I implemented an alternate, vertical
layout for the dialog and revised the selection/update mechanism to make
this work as expected.
However, in order to get gEDA/gaf out of the deadlock it currently is in,
I had to resort to a somewhat drastic measure: I removed all changes since
1.9.2 which are either unfinished, interfere with other changes, or make
the further development of gEDA/gaf more complicated. In particular,
these are parts of the libgeda refactoring by Edward Hennessy, the newer
changes to the data/config directory system by Peter TB Brett, and the
changes to legacy gnetlist by Vladimir Zhbanov. I'm aware that this means
abandoning some good work, and I'd like to apologize to these developers.
An excerpt from NEWS summarizing the changes in 2019 is attached below.
Roland
gschem changes
--------------
* Tool windows are now "dockable", i.e., they can be either used as
modal/non-modal dialogs or docked to the edges of the main window.
* The action mechanism used for menu items, tool buttons, and key
bindings has been redesigned, making several improvements possbile:
- Actions can now be used interchangeably in the main menu, toolbar,
context menu, and keymap. They are defined in a single place
("actions.c" for C actions and "builtins.scm" for Guile actions),
including metadata like name, icon, and tooltip.
- Menu items and tool buttons representing options have a little
check or radio box beside them indicating their current state.
- Menu items and tool buttons are greyed out while they can't be
used.
- Toolbar and context menu are customizable.
- Menu and toolbar definitions are simple Scheme variables, allowing
users to add actions to the menu without having to copy the menu
definition. Actions are represented in Scheme code as applicable
SMOBs, allowing them to be called like procedures while retaining
the action information necessary for rendering the menus/toolbar.
- "Repeat Last Action" (usually bound to ".") uses the same logic as
the middle mouse button repeat action does, i.e., only actions
that "make sense" qualify for repeating.
* The menus, toolbar, and keymap have been revamped to more closely
resemble the "standards" for a desktop application. Some actions
have been assigned more accessible or memorable keys.
* Attaching and detaching attributes now work as expected:
- "Attributes / Attach Attributes" used to depend on the order in
which objects were selected, taking the first selected object as
the base object to attach attributes to, regardless of its type.
Now, the selected objects are searched for a base object of
suitable type, and only if exactly one is found, the attributes
are attached to it.
- "Attributes / Detach Attributes" used to work on selected
components and nets, detaching all attributes from these objects.
It now works on the selected *attributes*, allowing the user to
selectively detach specific attributes while leaving the rest
attached.
* The "Light Color Scheme" (V L) selected from the menu now has a true
white background. For compatibility, selecting the "lightbg"
colormap in gschemrc loads the old, light-gray color scheme; the new
color scheme can be selected as "whitebg".
* The library window has been made fit to be used as a dock window:
- When the dialog is resized to be taller than a certain aspect
ratio, it switches automatically to a stacked layout where the
preview and attribute panes are located below the symbol selector.
- While in stacked layout, the bottom panes can be expanded and
collapsed to give more room to the symbol selector.
- The window is automatically refreshed on library updates.
* Symbol editing has been improved:
- The page can now be scrolled to negative coordinates, making it
feasible to edit symbols without moving them away from the origin,
then translating them back. This also allows to consciously
choose something that makes sense for the symbol as the location
of the origin.
- The coordinate origin is now indicated with slightly darker grid
lines. (This can be enabled/disabled via "View / Show Origin".)
- The "Symbol Translate" action has been replaced with "Place
Origin" which lets the user select the position of the origin
interactively.
* Added Igor2's code for back-annotation from pcb-rnd.
* "File / Revert" only asks for confirmation if the file has been
modified.
* The "repeat" function of the middle mouse button now evaluates
actions at the current mouse position.
* Mouse gestures work properly again.
* Added further menu items:
- "View / Show Menubar" (V M)
- "View / Show Toolbar" (V T)
- "View / Show Scrollbars" (V S)
- "Tools / Select Locked Objects" (T L)
* Adding an attribute, changing the slot of a component, replacing the
contents of a picture, and selecting "Pan" from the menu used not to
work properly with undo/redo. This has been fixed.
* "Edit / Undo" and "Edit / Redo" now show the name of the action that
will be undone/redone.
- Raw text -