Commit Graph

93 Commits

Author SHA1 Message Date
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