Commit Graph

214 Commits

Author SHA1 Message Date
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
d3e5483c84 Make adding symbols to the diagram possible.
This required creating a simple framework for operations to LdCanvas.
It is probable that it's going to require some changes when other
operations are added. The basic idea behind it seems to be good, though.
2011-01-04 09:54:05 +01:00
713f2821e4 Fix the desktop file.
The "Exec" and "Name" entries were swapped.
2011-01-04 06:06:26 +01:00
25a0ea7ce5 Fix the "library" property in LdCanvas. 2011-01-04 04:08:05 +01:00
820239597e Partial refactoring of LdCanvas.
draw_symbol() had been doing too much.
2011-01-04 00:45:44 +01:00