Commit Graph

34 Commits

Author SHA1 Message Date
c918a6a428 causality inference done 2026-07-22 18:04:07 +02:00
32154386e8 Start with causality inference 2026-07-22 13:20:49 +02:00
09248421d0 Bond graph ports and drawing added 2026-07-22 12:24:58 +02:00
0c578af85d port and param editor in and outside of text editor the same 2026-07-22 11:45:43 +02:00
edefb23edc More types and units 2026-07-22 11:38:07 +02:00
48ac9e2f59 proper modelica text model editing 2026-07-21 17:16:06 +02:00
2f6487e510 Added direct graph navigation without activating Matplotlib toolbar modes:
Mouse wheel zooms in and out around the cursor.
Left-click dragging pans the graph.
Matplotlib toolbar modes still work and take precedence when activated.
The existing Home button can reset the view.
2026-07-21 15:29:58 +02:00
eb8f77ce64 better signal graphing 2026-07-21 15:24:24 +02:00
35d933ccbb Added signal graphing 2026-07-21 15:14:12 +02:00
edd7bb98f2 Saving sim results 2026-07-21 14:40:03 +02:00
ddc004dee5 sim window save/load 2026-07-21 14:01:55 +02:00
cdfc891980 Start of a sim window 2026-07-21 13:54:57 +02:00
6fb2478589 basic runner setup changed 2026-07-21 13:21:52 +02:00
dc770a0886 new runner layout, still todo 2026-07-20 22:03:43 +02:00
38e3d7aae9 Added run button and parameter dialog 2026-07-20 18:46:59 +02:00
4cfe7c3a0e Fixed om emission 2026-07-20 18:17:45 +02:00
d368b36b8c basic openmodelica model emitting 2026-07-20 17:34:31 +02:00
42bf09610b Added binary file format 2026-07-20 15:39:34 +02:00
9ed8e371ef added stub simulation entry and logs 2026-07-20 15:26:18 +02:00
495edd42f4 Added array ports and junctions 2026-07-20 15:00:06 +02:00
a067c85994 new text mode editor 2026-07-20 14:24:47 +02:00
bf2512995f labels 2026-07-20 14:02:22 +02:00
8f87a3b477 new connection editing 2026-07-20 13:50:33 +02:00
6a3e9f01d0 Fixed dragging corners 2026-07-20 13:24:37 +02:00
4ab74f64e2 Better drawing and added more icons 2026-07-20 13:18:16 +02:00
ee859c4311 Added new connection styles 2026-07-20 12:45:47 +02:00
8fa450d734 more ui files instead of python generated ui 2026-07-20 12:27:29 +02:00
48a2b4c8d0 Reorganized the application around a clear frontend/backend boundary.
src/bedit/
├── __main__.py
├── core/                   # Pure Python, no PySide
│   ├── model.py
│   ├── port_types.py
│   ├── serializer.py
│   └── libraries.py
└── gui/                    # All Qt-dependent code
    ├── app.py
    ├── main_window.py
    ├── preferences.py
    ├── controllers/
    ├── dialogs/
    ├── graphics/
    ├── models/
    └── generated/          # Designer/resource output only
Notable improvements:
Domain models, serialization, port types, and library parsing are now Qt-free.
Qt signals and undo infrastructure are explicitly isolated under gui/controllers.
Library parsing is separated from the Qt repository and tree models.
All generated Python is contained in gui/generated.
Designer build tasks now write to the generated directory.
The application entry point and package metadata use the new paths.
README now documents the structure and dependency rules.
Removed the old mixed document, library, and workspace packages.
2026-07-20 12:09:00 +02:00
1a47952358 Fixed some small stuff 2026-07-20 11:52:34 +02:00
8df5c2a8f9 fix some things 2026-07-19 22:16:37 +02:00
dbca41640f Implemented the new port-management and grid workflow.
Right-click blocks in the graph, Document tree, or Libraries tree and choose “Port Options…”.
Unified port list with:Add/remove port
Name
Type (Signal currently)
Input/output orientation

New ports start at (0, 0) in the icon editor.
Connected ports cannot be removed, reoriented, or changed incompatibly.
Added a PortType registry; connections require matching port types.
Removed/hid the separate Add Input and Add Output workspace tools.
Library port changes are written back to the library JSON.
Added independent graph and icon grid-size settings.
Components, interface terminals, icon shapes, resize handles, and icon ports snap to their corresponding grid.
Icon canvases and component hitboxes are now fixed at 128×128.
Selected icon shapes show a bottom-right resize handle.
Circles preserve equal width and height while resizing.
Shapes and ports are constrained to the icon hitbox.

Fixed the icon-editor crash and grid behavior.
Renamed the resize handle’s shape attribute, which was overriding Qt’s required shape() method.
Icon shapes, resize handles, and port anchors now snap while dragging.
Graph blocks and interface terminals also snap while dragging.
Replaced the nearly invisible dotted graph grid with higher-contrast grid lines.
Retained final release-time snapping as a safety check.
Python compilation and diff validation pass.
2026-07-19 22:06:36 +02:00
09824195c9 Implemented the vector icon editor, library previews, and workspace camera controls.
Key changes:
Component Options now has an “Edit Icon…” button instead of direct shape/color fields.
Icon editor supports:Rectangles with configurable corner radius
Circles and ellipses
Lines
Triangles
Text
Movable/selectable shapes
Shape context menus
Line style and width
Solid or transparent fill
Stroke and fill colours through Qt’s colour picker
Editable shape dimensions
Deleting selected shapes

Input anchors are green and output anchors red; both can be dragged around the icon.
Icons use a 120×80 vector coordinate system and are stored as editable elements in document JSON.
Components render their vector icons directly in the workspace.
Library and document trees display 16×16 icon previews.
Added a Camera toolbar:Zoom In
Zoom Out
Center

Mouse-wheel zoom works directly over the workspace.
Icon changes and port positions support undo/redo.
2026-07-19 21:46:44 +02:00
76bd313f79 Basic document handling 2026-07-19 21:26:27 +02:00
c5ab3329ae Start of BEdit 2026-07-19 19:19:15 +02:00