Commit Graph
106 Commits
Author SHA1 Message Date
ArdaandClaude Opus 4.6 47bfaf04e0 Grey out incompatible slots in the link dialog
Parse the readonly facet from kit manifests and use it to disable
slots that cannot participate in a link: read-only slots are greyed
on the target side only (they remain selectable as sources), action
and void slots are greyed on both sides, and type mismatches are
greyed when the other side has a selection. A status label previews
the link path at the bottom of the dialog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-08-20 21:58:17 +03:00
ArdaandClaude Opus 4.6 424caf777c Add link management: create, select, delete with undo/redo
Implement full link workflow between component slots on the wiresheet:
- Link Mark / Link From / Link To context menu items for creating links
- Link dialog with slot type validation and source/target swap button
- Selectable link wires (click to highlight in red) with right-click delete
- Undo/redo support for both add and delete link operations
- Component deletion already cascades to remove related links

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-08-20 16:34:17 +03:00
ArdaandClaude Opus 4.6 e43c5e17a4 Use absolute path for editor.properties to avoid PermissionError
The relative path failed when the working directory differed from
the script directory at runtime.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-08-20 13:13:49 +03:00
ArdaandClaude Opus 5 8f26dbfa7f Ignore Python bytecode
__pycache__/ was showing as untracked on every status.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 23:27:45 +03:00
ArdaandClaude Opus 5 c8026f00db Warn and reset instead of exiting when a kit manifest is missing
A kit with no manifest under the Sedona home folder called sys.exit(1),
tearing down the whole app over one unopenable file.

schema now raises MissingManifestError instead, collecting every
unresolved kit first so one dialog names them all rather than the user
fixing them one reopen at a time. describe_missing_manifests builds the
body, pointing at the configured Sedona home and at Preferences.

open_file catches it, reports it, and calls the new
reset_to_startup_state to return to the just-launched state: no file,
empty tree, empty sheet, cleared registries and undo stack. The generic
except now resets too, since a half-parsed file previously left
current_file_path and a stale root behind.

Placing a palette component hits the same loader, where a full reset
would be too destructive: it rolls back the <kit> entry it just added,
rebuilds the previous registry, and abandons only that placement.

schema no longer imports sys or tkinter, so it reports nothing itself
and stays testable without a display. base_window_title moves to
app_state so the reset can restore the title without duplicating it.

README: document the new behaviour, drop the fixed gap, and correct the
stale "no undo, no keyboard shortcuts for save" claim.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 23:25:01 +03:00
arda.aydin@ontrol.com.tr 9c283c7eea First Commit
Sedona sax editor AI yardimi ile yaziliyor
2026-08-13 17:59:08 +03:00