* fix: avoid deleting inner network's input nodes
* [wip]feat: set primary input on node deletion
- set input's input value to deleted node's primary input
* fix: check deleting node's output is used by other node(s)
* feat: enable conditionally reconnecting input
- user can press a key to avoid reconnecting nodes during deletion
* refactor: improve and restructure code
- make code quality improvements
- add NodeGraphHandlerData struct to replace big tuple
* fix: avoid deleting inner network's input nodes
* [wip]feat: set primary input on node deletion
- set input's input value to deleted node's primary input
* fix: check deleting node's output is used by other node(s)
* feat: enable conditionally reconnecting input
- user can press a key to avoid reconnecting nodes during deletion
* refactor: improve and restructure code
- make code quality improvements
- add NodeGraphHandlerData struct to replace big tuple
* Remove unnecessary recursion
* Code review cleanup
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Making the change as advised. This change will allow the user to see all possible submenus without being able to use them if there is no active document.
This somewhat reverts the behaviour of one previous PR.
* [wip]feat: add snapping options
* [wip]fix: use svelte component for optionsWidget
* fix: use apt PopoverButton types
* refactor: minor formatting improvements
* Fix popover layout
* [wip]feat: attempt implementing CheckboxInputData struct
* fix: use correct Checkbox struct 's default method
* fix: revert adding CheckboxInputData struct
- This reverts commit 2a481887fc.
* feat: use checkboxes for snapping options
* feat: add label to dropdown checkbox elements
* fix: separate Snap dropdown menu elements
- move each element into separate row
* [wip]feat: modularize snapping states
- maintain individual snapping states for document
* fix: snapping checkboxes' behavior
- checkboxes now update internal snapping state
* refactor: update snap states individually
- this prevents out-of-sync states
- enables reusing existing snap state object
* feat: snap to boxes and nodes conditionally
* [wip]feat: attempt to invert checkbox on update
- attempt implementing mutable WidgetCallback struct
- attempt using above struct to invert checkbox state on update
* Fix widget diffing
* refactor: remove unused code
* feat: align checkboxes consistently with labels
* feat: use separators to stylize snapping menu
- removes need for custom CSS and label property
- ensures consistency across the application
* refactor: remove unneeded css
---------
Co-authored-by: hypercube <0hypercube@gmail.com>, TrueDoctor <dennis@kobert.dev>
* [WIP]feat: add bounding box to path tool
* feat: draw bounding box for path tool
- register Enter key for finalizing bounding box position
- add (WIP)func to select all in bounding box area
- add hint data for new state
* fix: re-render shape overlays after selection
* fix: maintain existing point selection with Shift key
* feat: add Shift key support for Enter Key state
* fix: set apt name for Enter state's keybind
* refactor: remove unnecessary code
* refactor: correct hints and remove unneeded code
- correct DrawingBox state's footer hints
- remove PathToolData's quad and bbox methods
* refactor: remove duplicate mouse position vectors
* [wip]fix: disable fill and gradient tools on bmp images
- aims to fix#1161
* [wip]fix: disable gradient tool for bmp images
* fix: disable gradient tool for bitmap images
- fixes https://github.com/GraphiteEditor/Graphite/issues/1161
* [wip]fix: disable menu bar elements if no open document
* [WIP]feat: render certain menubar elements if document is open
* fix: conditional menu bar rendering fixes
- update menu bar on certain document actions
- fix menu bar order on rendering all elements
* refactor: change conditional menu elements property
- use existing 'disabled' property
* feat: render menu dropdown items conditionally
* fix: revert formatter whitespace changes
* refactor: improve variable naming and message usage
- name menu bar bool flag better
- use SendLayout message and remove unneeded calls