Commit Graph

368 Commits

Author SHA1 Message Date
81f116ed12 Handle Edit menu actions (Delete, Select All). 2011-01-16 18:33:31 +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
9c5ade156a Make config.h.in fit between other source files. 2011-01-10 17:09:40 +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
63b36a2b5b Use a central header.
$ time (make clean; make)

Before: ~8.0 seconds
After: ~8.1 seconds
2011-01-10 11:27:05 +01:00
01d771403e Write a signature to diagram files. 2011-01-10 06:56:07 +01:00
d7c22f10d5 Fix drawing of symbol menus. 2011-01-10 05:19:32 +01:00
d785feeb82 Show names of symbols in the statusbar. 2011-01-10 04:58:32 +01:00
09a6e91f96 Remove a FIXME.
We don't really need to set the GError to anything.
2011-01-10 04:34:24 +01:00
bd4ca0dd29 Simulate motion events when needed. 2011-01-10 04:24:16 +01:00
a3eaab63ff Draw category icons with style colors.
Previously the icons have been black in all themes.
2011-01-10 03:45:38 +01:00
73b611a844 Add a View menu to LdWindowMain, disabled so far. 2011-01-09 13:54:20 +01:00
10280a1949 Update category icons.
Change line width and position of shapes,
so they appear a bit sharper in the application.

Save them in plain SVG, not Inkscape SVG.
2011-01-09 13:49:55 +01:00
1677e320a3 Add a "zoom" property to LdCanvas. 2011-01-09 08:35:40 +01:00
9db7e667ac Add hide_terminals() to LdCanvas. 2011-01-09 08:10:20 +01:00
01541d7c46 Add a "class" property to LdDiagramSymbol.
Also add missing gtk-doc comments
for ld_diagram_symbol_{get,set}_class().
2011-01-09 07:30:01 +01:00
1cf5b9cd83 Make ld_lua_logdiag_register() a bit safer. 2011-01-09 07:09:18 +01:00
54ef5ce450 Fix comments. 2011-01-09 07:08:39 +01:00
8243114d09 Draw diagram objects in reversed order.
Previously older objects drew on top of newer ones.
2011-01-09 06:05:43 +01:00
911fac4c2f Replace GSList with GList in LdDiagram.
This has been an unnecessary limitation.
2011-01-09 05:58:34 +01:00
9de3a0976d Ensure that the canvas is focused. 2011-01-09 05:52:27 +01:00
800a381129 Call bind_textdomain_codeset(). 2011-01-09 05:40:25 +01:00
3aeedd37b6 When zooming, focus on the cursor. 2011-01-09 05:32:08 +01:00
e83cadd03b Add an inductor symbol. 2011-01-09 05:05:31 +01:00
61ae34236a Highlight symbol terminals on mouse hover. 2011-01-09 04:50:58 +01:00
f12df021f7 Refactor queue_object_redraw(). 2011-01-09 04:41:41 +01:00
2328058b46 Add ld_point_distance(). 2011-01-09 04:35:10 +01:00
fe996324d3 Take a better approach to drawing the grid.
If the diagram is zoomed out too much, just use bigger steps between dots.
2011-01-08 16:41:55 +01:00
909a0352cc Don't draw the grid when it would be too narrow.
This prevents eating all the memory.
2011-01-08 12:11:08 +01:00
edd64aa132 Read terminals from Lua scripts and export them.
Also add a missing part of LdSymbol API.
2011-01-08 12:09:45 +01:00
7ce03bac9d Make LdCanvas zoom on mouse wheel. 2011-01-08 12:05:59 +01:00
96f7710c25 Introduce LdRectangle, LdPoint and LdPointArray.
Remove LdCanvasRect and LdSymbolArea.
2011-01-08 09:01:33 +01:00
0b3f6503bb Add basic logical symbols (NOT, AND, OR). 2011-01-07 16:38:21 +01:00
fda123249a Export more cairo methods to Lua. 2011-01-07 16:15:58 +01:00
6b5bae881c Update copyright years. 2011-01-07 05:13:00 +01:00
c815d0c16a Allow object selection in LdCanvas.
Refactor a part of LdCanvas in the process.
2011-01-07 04:52:44 +01:00
1704b94650 Introduce structure LdCanvasRect.
It's basically the same as cairo_rectangle_t,
just in our own namespace.
2011-01-06 13:07:04 +01:00
53d1de680d Change symbol clip tolerance to widget units.
As line width is in pixels, too, this makes much more sense.
2011-01-06 03:28:47 +01:00
8eba321abe Redraw LdCanvas on LdDiagram changes. 2011-01-05 11:03:38 +01:00
63f6feaa0e Add new objects to the start of LdDiagram's list.
This way it doesn't have to go through the whole linked list
to find a place for the objects.
2011-01-05 05:29:52 +01:00
b08217f999 Add a "selection-changed" signal to LdDiagram.
Make existing code emit this signal.
2011-01-05 04:37:42 +01:00
e92bebfa57 Add ld_diagram_{select,unselect}_all(). 2011-01-05 04:35:25 +01:00
c4b8f092b7 Export cairo_{get,set}_line_width to Lua symbols. 2011-01-05 03:56:59 +01:00
25f1186000 Draw selected objects with another color.
Store all colors in LdCanvasPrivate and initialize them upon
object creation. This creates a base for color themes.

Make attempts to try adding an object that's not a part
of the document to the selection issue a warning.
2011-01-05 01:11:03 +01:00
fdf1ddbbb1 Move lines around. No functional change. 2011-01-04 23:05:38 +01:00