Difference between revisions of "Toolbar Rewrite"
Jump to navigation
Jump to search
(Created page with " A page to explore rewriting the Toolbox widget == Current Situation == Toolbars: * Tools: Now a Flowbox * Snapping: Now a Popover * Main: (File ops, Undo/Redo, Copy/Paste,...") |
|||
| Line 9: | Line 9: | ||
* Main: (File ops, Undo/Redo, Copy/Paste, etc.) Two possible positions/orientations. | * Main: (File ops, Undo/Redo, Copy/Paste, etc.) Two possible positions/orientations. | ||
* Auxiliary : Changes depending on which tool is active. | * Auxiliary : Changes depending on which tool is active. | ||
*Changing toolbar orientation (currently only Main toolbar). | |||
Classes: | |||
* ToolboxFactory: Only static member functions and constants. Handles: | |||
** Creating toolboxes | |||
** Icon sizes | |||
** Setting which Auxiliary toolbar to show. | |||
** Desktop interface | |||
* UXManager, UXManagerImpl | |||
** Controls if Main toolbar is on top or on right side. | |||
* SPDesktopWidget | |||
** Tightly coupled and might need to be rewritten at the same time. | |||
** This widget should eventually be removed. Some functionality should go into InkscapeWindow and some into CanvasGrid. | |||
=== Widget Structure === | === Widget Structure === | ||
Latest revision as of 08:16, 15 October 2021
A page to explore rewriting the Toolbox widget
Current Situation
Toolbars:
- Tools: Now a Flowbox
- Snapping: Now a Popover
- Main: (File ops, Undo/Redo, Copy/Paste, etc.) Two possible positions/orientations.
- Auxiliary : Changes depending on which tool is active.
- Changing toolbar orientation (currently only Main toolbar).
Classes:
- ToolboxFactory: Only static member functions and constants. Handles:
- Creating toolboxes
- Icon sizes
- Setting which Auxiliary toolbar to show.
- Desktop interface
- UXManager, UXManagerImpl
- Controls if Main toolbar is on top or on right side.
- SPDesktopWidget
- Tightly coupled and might need to be rewritten at the same time.
- This widget should eventually be removed. Some functionality should go into InkscapeWindow and some into CanvasGrid.
Widget Structure
Tools
GtkEventBox "ToolboxCommon"
GtkBox "ToolToolbox
GtkFlowbox "tool-toolbox"
GtkFlowboxChild
GtkToggleButton
GktFlowboxChild
...
Snap
GtkEventBox "ToolboxCommon"
GtkBox "SnapToolbox
GtkToolbar "snap-toolbox"
GtkToggleToolButton
GktToolButton
GtkToolItem "tool-item-advanced"
GtkMenuButton "btn-advanced"
GtkToolItem "tool-item-simple"
GtkMenuButton "btn-simple"
Main
GtkEventBox "ToolboxCommon"
GtkToolbar "CommandsToolbar"
GtkToolButton "FileNew"
GtkButton
GtkToolButton "FileOpen"
...
Auxillary
GtkEventBox "ToolboxCommon"
GtkBox "AuxToolBox"
GtkGrid "SelectToolbar"
GtkToolbar "SubToolbar"
GtkToolButton
GtkButton
...
GtkGrid "NodeToolbar"
...