Widgets¶
A catalogue of the components exposed by dsviper-components, grouped
by functional area. Every widget assumes the host application has
constructed a CommitStore and a DSCommitStoreNotifier as described
in Architecture.
Note
Convention — most widgets take the running CommitStore as their
first constructor argument and listen on DSCommitStoreNotifier to
refresh themselves. The exceptions are flagged below.
Notifier¶
The adapter that translates runtime change notifications into Qt Signals.
Class |
Purpose |
|---|---|
|
Bridge |
Database lifecycle¶
Class |
Constructor |
Purpose |
|---|---|---|
|
|
File-picker for |
Live state inspection¶
Class |
Constructor |
Purpose |
|---|---|---|
|
|
Tree of every attachment / structure in the running state — refreshes on |
The commit DAG¶
Class |
Constructor |
Purpose |
|---|---|---|
|
|
Full DAG browser — navigate commits, jump to head, compare. |
|
embedded |
Embeddable view used by |
|
|
Enable / disable / reset commits in batch. |
|
|
Undo stack as a navigable list (replay any past state). |
Per-commit content¶
Class |
Constructor |
Purpose |
|---|---|---|
|
|
Documents and attachments grouped by commit. |
|
|
All blobs referenced anywhere in the commit history. |
|
|
Per-commit settings editor (consults the running store). |
|
|
Python program embedded in a commit — replayable. |
Documents and attachments helpers¶
Lower-level tooling used both by the per-commit dialogs above and by applications that want to expose a generic document tree on their own.
Class / module |
Purpose |
|---|---|
|
Generic document tree widget, agnostic of the backend. |
|
Attachment-level inspection of a document. |
|
Key-level inspection of a document. |
|
Programmatic builder for the document tree. |
|
Backend adapter — drives |
|
Backend adapter — drives |
|
Selection / navigation helpers shared across dialogs. |
|
Tree-item wrapper for a document. |
|
Combo-box wrapper for document selection. |
Blobs¶
Class |
Constructor |
Purpose |
|---|---|---|
|
|
Standalone blob browser (independent of commit history). |
|
embedded |
Tree-view item helper used by the blob dialogs. |
Collaboration / sync¶
Class |
Constructor |
Purpose |
|---|---|---|
|
|
Collect remote-server credentials. |
|
runtime |
Threaded worker driving fetch / push / sync off the UI thread. |
|
runtime |
Descriptor for a synchronisation source. |
|
|
Real-time sync log display. |
Embedded Python scripting¶
Class / module |
Purpose |
|---|---|
|
Script editor dialog. Constructor: |
|
Embeddable code editor (used by the dialog). |
|
Script model. Constructor: `(scripts_folder: str, namespace_vars: dict |
|
Python syntax highlighter for the editor. |
Tip
Pass the application’s Context (or any object the user should be able
to script against) through namespace_vars. ge-py exposes
{"ctx": Context.instance(), "store": store} so scripts can call
ctx.dispatch("…", λ) exactly like the menu actions.
Utilities¶
Class / module |
Purpose |
|---|---|
|
Geometry persistence and show / hide conventions for dialogs. |
|
Qt delegate that disables editing for a column. |
|
Qt delegate enforcing per-cell validation. |
|
Runtime log compatible with |
|
Thin wrapper over |
See also¶
Architecture — the Notifier Bridge and the integration recipe each widget assumes.
ge-py walk-through — a real application that uses most of these widgets, with the wiring code visible.