Commit Graph

49 Commits

Author SHA1 Message Date
f074bc6742 Also find terminals on ends of connections. 2011-02-19 22:49:21 +01:00
8aef3fc772 Use "typedef struct" in ld-diagram-view.c. 2011-02-19 22:49:20 +01:00
b5ff3b5bbb Don't emit changes when reading.
When the value for a property isn't present in it's JsonObject,
it can be assigned upon reading. Previously this could generate
history events even when just viewing an old diagram with some
of newer properties missing.

Modify the code, so setting to default doesn't count as a change
anymore.
2011-02-19 22:49:20 +01:00
6820d27efa Add "x" and "y" properties to LdDiagramView.
Plus a bit of refactoring.
2011-02-19 22:49:20 +01:00
7fa6efbaec Rename LdCanvas to LdDiagramView. 2011-02-19 22:49:20 +01:00
412a01690b Change selection color to red.
To make it more distinctive.
2011-02-19 22:49:20 +01:00
baed5ee4bd Allow rotation of symbols.
Bind this action to the right mouse button.

Due to limitations of json-glib, we can't store rotation as an enum.
2011-02-14 10:14:28 +01:00
5ccabad6ce Emit "cancel-operation", don't call the handler. 2011-02-14 08:46:41 +01:00
1730064ed3 Avoid too wide items in symbol menus. 2011-02-14 08:21:30 +01:00
8ac4674a8e Fix ld-types.h for gtk-doc. 2011-02-14 06:41:08 +01:00
68e6e4a7e8 Make symbol menus nicer. 2011-02-12 18:26:27 +01:00
b7875c361f Update the symbol library, add trivial text API. 2011-02-12 18:26:15 +01:00
2c5f2f5b3f Export more cairo functions to Lua.
Also rewrite the wrappers to be shorter.
2011-02-11 18:07:49 +01:00
d96acedcdb Speed up drawing of the grid. 2011-02-10 06:03:41 +01:00
2aac9c6f23 Fix drawing of symbol menus. 2011-02-07 13:53:56 +01:00
1277b6eaaf Add support for LdDiagramConnection to LdCanvas.
Heavy LdCanvas refactoring, some modifications to ld-types.

It just wasn't possible for me to further work with an old,
2000 lines long file without shuffling everything around
at the same time.
2011-02-07 01:10:17 +01:00
ee95916749 Fix memory leaks in LdDiagramConnection. 2011-02-06 18:29:35 +01:00
107ec13506 Fix a memory leak in LdDiagramSymbol. 2011-02-06 17:57:37 +01:00
7f08a51c66 Extend symbol area to whole pixels.
This gives better cairo performance.
2011-02-06 12:36:11 +01:00
2dcf578c12 Use correct rounding when moving selection. 2011-02-05 20:17:39 +01:00
dca71f66c3 Fix undoing, create a unit test for history. 2011-02-05 19:47:07 +01:00
611b11508a Make grid dots pixel-sharp. 2011-02-05 18:52:51 +01:00
3cec64ebe8 Refactor ld-canvas.c, extend LdCanvas operations.
Now objects can be selected and moved by dragging the mouse.
2011-02-05 18:48:11 +01:00
2b0672a2cb Implement zooming in LdWindowMain.
Add convenience methods to LdCanvas.
2011-02-04 20:19:01 +01:00
f2005e3b2f Make LdDiagram work with json-glib 0.10. 2011-02-04 17:17:57 +01:00
75c2358b69 Extend LdPointArray. 2011-02-02 23:53:38 +01:00
f864693f1b Update gtk-doc documentation. 2011-02-02 17:26:04 +01:00
2744d84896 Introduce LdDiagramConnection. 2011-02-02 17:22:34 +01:00
539f537846 Fix drawing of the grid. 2011-02-01 17:21:08 +01:00
a967a2c3b8 Bind actions to cursor keys in LdCanvas.
If there's a selection, move it. Otherwise move the viewport.
2011-02-01 14:52:48 +01:00
18f5da9529 Add an undo framework to LdDiagram.
Modify LdDiagram and LdDiagramObject to use it.

Trash commit c2403fdcf7.
2011-02-01 14:52:17 +01:00
caf06ff4e8 Introduce LdUndoAction. 2011-01-31 21:58:41 +01:00
c07d5f552d Connect to the "data-changed" signal in LdDiagram.
Also rewrite some of the functions.
2011-01-29 15:19:52 +01:00
400568ed7d Add some reminder comments. 2011-01-29 13:09:16 +01:00
cf3e4ae473 Fix program messages and gtk-doc comments. 2011-01-28 17:50:21 +01:00
c2403fdcf7 Extend LdDiagramObject.
* Add generic methods for data storage, making it able
  to store data in a hierarchy.
* Reimplement ld_diagram_{get,set}_data_for_param on top
  of the generic methods.
* Add a "data-changed" signal.
2011-01-28 16:29:18 +01:00
d6de5609ed Remove marshallers from the tree and ignore them.
Require glib-genmarshal (a part of the standard GTK+ distribution).
2011-01-27 18:56:41 +01:00
17bf37ceba Rename ld_diagram_object_{get,set}_data().
Make small corrections.
2011-01-27 16:31:20 +01:00
b782dae4b2 Make ld_canvas_new() return a GtkWidget reference.
For consistency with GTK+.
2011-01-24 17:22:37 +01:00
5d766cba77 Rename g_cclosure_user_marshal_* to ld_marshal_*. 2011-01-24 17:18:28 +01:00
33beece3ab Move the library toolbar to its own class. 2011-01-24 17:13:56 +01:00
9a49a2219a Fix gtk-doc comments for signals. 2011-01-23 15:52:52 +01:00
60a00e3551 Refactor LdDiagram selection handling methods.
Add ld_diagram_remove_selection().
2011-01-16 18:33:19 +01:00
6854c8a643 Revert the order of LdDiagram objects.
Now they go from oldest to newest.
2011-01-16 14:33:52 +01:00
cb278a2bf1 Use properties instead of accessor methods. 2011-01-16 14:22:21 +01:00
5124cf8d71 Basic implementation of loading.
Add an error domain for the purpose of returning errors.
2011-01-16 13:36:11 +01:00
e9da09f196 Basic implementation of saving.
When the objects are stored, ensure that they have a "type" member
that makes it possible to determine their class/purpose.
2011-01-16 12:17:51 +01:00
1201caf8a4 Use JsonObject for LdDiagramObject parameters.
Make LdDiagramObject a regular class.
2011-01-15 17:59:07 +01:00
616c49a505 Make a separate library.
This is required for gtkdoc-scangobj. So far it's much like it's been
before, the main differences are that source files are in two directories
from now on and the build process has two stages.
2011-01-10 17:07:02 +01:00