Commit Graph

121 Commits

Author SHA1 Message Date
Přemysl Eric Janouch a18b6d6f35 Start making a replacement for LdLibraryToolbar.
The main advantages are the lack of need to create an icon
for each category there is in the library and faster workflow.
2012-10-08 00:12:58 +02:00
Přemysl Eric Janouch 6a24ede141 Ignore double/triple clicks in LdDiagramView.
Fixes fast rotating.
2012-10-08 00:12:58 +02:00
Přemysl Eric Janouch 6c925b7092 Clean up LdDiagram.
* Don't emit signals when disposing.
* Remove some leftovers.
2012-10-08 00:04:47 +02:00
Přemysl Eric Janouch 4196a10ece Get more GTK+ 3 ready and respect seals. 2012-09-05 19:58:51 +02:00
Přemysl Eric Janouch cf5260990c Improve code in LdDiagram a bit. 2012-08-31 14:04:09 +02:00
Přemysl Eric Janouch 20c2595f2d Check symbol names in LdLua during registration. 2012-08-31 14:04:09 +02:00
Přemysl Eric Janouch a1b79a55d2 Change how Cairo is presented to Lua scripts.
Makes the whole thing a bit more stable and less weird.
2012-08-12 06:10:27 +02:00
Přemysl Eric Janouch 9366c42026 Do name collision checking more properly. 2012-08-12 01:29:48 +02:00
Přemysl Eric Janouch bb224bafd0 More fixing.
* Fix a resource leak in LdLibrary.
* Add missing property change notifiers
  to ld_diagram_object_{get,set}_storage().
* Don't unref the parameter in ld_symbol_category_remove_{symbol,subcategory}
  if it wasn't actually removed from the internal list.
* Fix a cyclic dependency problem in LdDiagram.
2012-08-12 01:01:13 +02:00
Přemysl Eric Janouch f55afb6542 Put subcategories and symbols in different lists.
Removes some ugliness from the code.
2012-08-11 20:17:10 +02:00
Přemysl Eric Janouch b0ecd81212 Maintenance.
* Fix setting the GSETTINGS_SCHEMA_DIR environment variable.
* Use g_value_take_boxed() instead of deprecated
  g_value_set_boxed_take_ownership().
* Remove an unused variable.
* Clean up load_category() a bit.
2012-08-11 07:25:54 +02:00
Přemysl Eric Janouch b3ccabe627 Clean up dead assignments. 2012-02-02 13:28:27 +01:00
Přemysl Eric Janouch a2b898b610 Change the cursor when scrolling the view.
For consistency with other GTK+ applications.
2011-06-09 21:56:38 +02:00
Přemysl Eric Janouch d8fd4430fc Add scrolling using the middle mouse button.
A bit of refactoring, too.
2011-06-09 21:11:41 +02:00
Přemysl Eric Janouch 82bf779405 Disallow wheel zooming when holding mouse buttons. 2011-06-09 21:11:41 +02:00
Přemysl Eric Janouch cd66c3d84a Ignore terminals when hovering above selection.
Also fix checking for the shift key and rename the "object"
variable to "object_at_cursor" in button handlers.
2011-06-09 21:11:41 +02:00
Přemysl Eric Janouch c8caca073f Add API for turning off the grid. 2011-03-07 17:29:26 +01:00
Přemysl Eric Janouch 6ae08ee425 Glue to terminal points when creating connections. 2011-03-07 17:29:26 +01:00
Přemysl Eric Janouch 89b20380d3 Allow rotating of symbols while placing them. 2011-03-07 17:29:26 +01:00
Přemysl Eric Janouch 95b92e12f9 Fix gtk-doc comments. 2011-02-20 13:39:44 +01:00
Přemysl Eric Janouch 403a9d702a Disable LdDiagramView scrollbars when not needed. 2011-02-20 12:54:15 +01:00
Přemysl Eric Janouch f9827e2ff3 Refactor oper_connect_motion(). 2011-02-20 12:41:45 +01:00
Přemysl Eric Janouch f074bc6742 Also find terminals on ends of connections. 2011-02-19 22:49:21 +01:00
Přemysl Eric Janouch 8aef3fc772 Use "typedef struct" in ld-diagram-view.c. 2011-02-19 22:49:20 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 6820d27efa Add "x" and "y" properties to LdDiagramView.
Plus a bit of refactoring.
2011-02-19 22:49:20 +01:00
Přemysl Eric Janouch 7fa6efbaec Rename LdCanvas to LdDiagramView. 2011-02-19 22:49:20 +01:00
Přemysl Eric Janouch 412a01690b Change selection color to red.
To make it more distinctive.
2011-02-19 22:49:20 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 5ccabad6ce Emit "cancel-operation", don't call the handler. 2011-02-14 08:46:41 +01:00
Přemysl Eric Janouch 1730064ed3 Avoid too wide items in symbol menus. 2011-02-14 08:21:30 +01:00
Přemysl Eric Janouch 8ac4674a8e Fix ld-types.h for gtk-doc. 2011-02-14 06:41:08 +01:00
Přemysl Eric Janouch 68e6e4a7e8 Make symbol menus nicer. 2011-02-12 18:26:27 +01:00
Přemysl Eric Janouch b7875c361f Update the symbol library, add trivial text API. 2011-02-12 18:26:15 +01:00
Přemysl Eric Janouch 2c5f2f5b3f Export more cairo functions to Lua.
Also rewrite the wrappers to be shorter.
2011-02-11 18:07:49 +01:00
Přemysl Eric Janouch d96acedcdb Speed up drawing of the grid. 2011-02-10 06:03:41 +01:00
Přemysl Eric Janouch 2aac9c6f23 Fix drawing of symbol menus. 2011-02-07 13:53:56 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch ee95916749 Fix memory leaks in LdDiagramConnection. 2011-02-06 18:29:35 +01:00
Přemysl Eric Janouch 107ec13506 Fix a memory leak in LdDiagramSymbol. 2011-02-06 17:57:37 +01:00
Přemysl Eric Janouch 7f08a51c66 Extend symbol area to whole pixels.
This gives better cairo performance.
2011-02-06 12:36:11 +01:00
Přemysl Eric Janouch 2dcf578c12 Use correct rounding when moving selection. 2011-02-05 20:17:39 +01:00
Přemysl Eric Janouch dca71f66c3 Fix undoing, create a unit test for history. 2011-02-05 19:47:07 +01:00
Přemysl Eric Janouch 611b11508a Make grid dots pixel-sharp. 2011-02-05 18:52:51 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 2b0672a2cb Implement zooming in LdWindowMain.
Add convenience methods to LdCanvas.
2011-02-04 20:19:01 +01:00
Přemysl Eric Janouch f2005e3b2f Make LdDiagram work with json-glib 0.10. 2011-02-04 17:17:57 +01:00
Přemysl Eric Janouch 75c2358b69 Extend LdPointArray. 2011-02-02 23:53:38 +01:00
Přemysl Eric Janouch f864693f1b Update gtk-doc documentation. 2011-02-02 17:26:04 +01:00
Přemysl Eric Janouch 2744d84896 Introduce LdDiagramConnection. 2011-02-02 17:22:34 +01:00
Přemysl Eric Janouch 539f537846 Fix drawing of the grid. 2011-02-01 17:21:08 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch caf06ff4e8 Introduce LdUndoAction. 2011-01-31 21:58:41 +01:00
Přemysl Eric Janouch c07d5f552d Connect to the "data-changed" signal in LdDiagram.
Also rewrite some of the functions.
2011-01-29 15:19:52 +01:00
Přemysl Eric Janouch 400568ed7d Add some reminder comments. 2011-01-29 13:09:16 +01:00
Přemysl Eric Janouch cf3e4ae473 Fix program messages and gtk-doc comments. 2011-01-28 17:50:21 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 17bf37ceba Rename ld_diagram_object_{get,set}_data().
Make small corrections.
2011-01-27 16:31:20 +01:00
Přemysl Eric Janouch b782dae4b2 Make ld_canvas_new() return a GtkWidget reference.
For consistency with GTK+.
2011-01-24 17:22:37 +01:00
Přemysl Eric Janouch 5d766cba77 Rename g_cclosure_user_marshal_* to ld_marshal_*. 2011-01-24 17:18:28 +01:00
Přemysl Eric Janouch 33beece3ab Move the library toolbar to its own class. 2011-01-24 17:13:56 +01:00
Přemysl Eric Janouch 9a49a2219a Fix gtk-doc comments for signals. 2011-01-23 15:52:52 +01:00
Přemysl Eric Janouch 60a00e3551 Refactor LdDiagram selection handling methods.
Add ld_diagram_remove_selection().
2011-01-16 18:33:19 +01:00
Přemysl Eric Janouch 6854c8a643 Revert the order of LdDiagram objects.
Now they go from oldest to newest.
2011-01-16 14:33:52 +01:00
Přemysl Eric Janouch cb278a2bf1 Use properties instead of accessor methods. 2011-01-16 14:22:21 +01:00
Přemysl Eric Janouch 5124cf8d71 Basic implementation of loading.
Add an error domain for the purpose of returning errors.
2011-01-16 13:36:11 +01:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 1201caf8a4 Use JsonObject for LdDiagramObject parameters.
Make LdDiagramObject a regular class.
2011-01-15 17:59:07 +01:00
Přemysl Eric Janouch 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