Přemysl Eric Janouch
54ef5ce450
Fix comments.
2011-01-09 07:08:39 +01:00
Přemysl Eric Janouch
8243114d09
Draw diagram objects in reversed order.
...
Previously older objects drew on top of newer ones.
2011-01-09 06:05:43 +01:00
Přemysl Eric Janouch
911fac4c2f
Replace GSList with GList in LdDiagram.
...
This has been an unnecessary limitation.
2011-01-09 05:58:34 +01:00
Přemysl Eric Janouch
3aeedd37b6
When zooming, focus on the cursor.
2011-01-09 05:32:08 +01:00
Přemysl Eric Janouch
61ae34236a
Highlight symbol terminals on mouse hover.
2011-01-09 04:50:58 +01:00
Přemysl Eric Janouch
f12df021f7
Refactor queue_object_redraw().
2011-01-09 04:41:41 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
7ce03bac9d
Make LdCanvas zoom on mouse wheel.
2011-01-08 12:05:59 +01:00
Přemysl Eric Janouch
96f7710c25
Introduce LdRectangle, LdPoint and LdPointArray.
...
Remove LdCanvasRect and LdSymbolArea.
2011-01-08 09:01:33 +01:00
Přemysl Eric Janouch
c815d0c16a
Allow object selection in LdCanvas.
...
Refactor a part of LdCanvas in the process.
2011-01-07 04:52:44 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
8eba321abe
Redraw LdCanvas on LdDiagram changes.
2011-01-05 11:03:38 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
fdf1ddbbb1
Move lines around. No functional change.
2011-01-04 23:05:38 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
25a0ea7ce5
Fix the "library" property in LdCanvas.
2011-01-04 04:08:05 +01:00
Přemysl Eric Janouch
820239597e
Partial refactoring of LdCanvas.
...
draw_symbol() had been doing too much.
2011-01-04 00:45:44 +01:00
Přemysl Eric Janouch
2cb570f894
Split in-out parameters into separate in and out.
...
In functions:
ld_canvas_diagram_to_widget_coords()
ld_canvas_widget_to_diagram_coords()
2011-01-03 05:57:22 +01:00
Přemysl Eric Janouch
9dc1822040
Fix problems discovered while testing on Windows.
...
* Set the working directory for glib-genmarshal correctly.
* Use one more path suffix when searching for glibconfig.h.
* Don't assume that gdk_screen_get_resolution() returns
a useful value.
2010-12-20 05:20:21 +01:00
Přemysl Eric Janouch
9178fb8d81
LdCanvas maintenance.
...
* Rename ld_canvas_translate_*_coordinates() to ld_canvas_*_to_*_coords().
* Add missing parameter assertions to those functions.
* Rename local variables in draw_grid().
* Use gdk_cairo_rectangle() in expose-event handler.
* Update comments.
2010-12-18 15:34:34 +01:00
Přemysl Eric Janouch
86e73f86c2
Rename LdDocument* to LdDiagram*.
...
My bad; this name is much more appropriate.
2010-12-16 11:34:02 +01:00
Přemysl Eric Janouch
721cc30478
Overall cleanup.
...
* Add missing asserts to exported functions.
* Unify formatting.
* Fix the gtk-doc comment for ld_symbol_category_set_human_name().
* Make ld_library_load() reflect it's declaration.
* Remove an unused variable in ld_library_load_cb().
* Change all char's to gchar's.
2010-12-16 06:51:18 +01:00
Přemysl Eric Janouch
2c3345a4fd
Add change notifications to properties.
...
Also fix the "human-name" property in LdSymbolCategory
and correct gtk-doc comments for coordinates properties
accessors in LdDocumentObject.
2010-12-16 04:50:54 +01:00
Přemysl Eric Janouch
a56bfd6087
LdWindowMain cleanup.
...
* Restructure the initialization code.
* Move LdCanvas event mask setting to ld-canvas.c.
* Remove some redundant code.
* Use consistent naming.
* Update comments.
Practically no functional change.
2010-12-12 17:56:59 +01:00
Přemysl Eric Janouch
fdab244e2e
Rename local LdCanvas methods.
...
Use a "real" prefix, as GTK+ does.
2010-12-12 17:30:28 +01:00
Přemysl Eric Janouch
dea23f1204
Draw symbols from LdDocument in LdCanvas.
...
Just the minimal implementation so far.
2010-12-10 22:58:36 +01:00
Přemysl Eric Janouch
3419680f25
Implement more of LdCanvas.
...
1. Add methods for coordinate translation between cairo/GtkWidget
coordinates and LdDocument coordinates.
2. Draw the grid correctly (also make it significantly faster).
3. Place the canvas into a GtkScrolledWindow and register
the set_scroll_adjustments signal in the GtkWidget base class.
4. Allow scrolling inside of an area of 200 x 200 units (for now).
In the future, it should be possible to go to infinity.
2010-12-10 22:36:41 +01:00
Přemysl Eric Janouch
147cf2977a
Initial LdDocument implementation.
...
The document maintains a list of LdDocumentObject objects.
2010-12-05 15:15:52 +01:00
Přemysl Eric Janouch
7a0b280854
Add a "library" property to LdCanvas.
...
Also make the code reference properties properly.
2010-11-19 07:05:44 +01:00
Přemysl Eric Janouch
efc3ad6f5c
Implemented a skeleton of LdCanvas.
...
It now paints itself white and draws a simple grid.
Also an LdDocument can be assigned to it.
2010-09-20 05:29:41 +02:00
Přemysl Eric Janouch
b66704114e
Little improvements, overall cleanup.
2010-09-19 19:12:36 +02:00
Přemysl Eric Janouch
65bbe06267
Add marshaller files generated by glib-genmarshal.
2010-09-19 19:12:36 +02:00
Přemysl Eric Janouch
354e54826f
Changed the object prefix from "logdiag" to "ld".
...
It was just too long to type and read. My mistake.
2010-09-19 19:12:36 +02:00
Přemysl Eric Janouch
341f51eb41
Renamed source files.
...
Also a little change in CMakeLists.txt.
The next commit is going to change the object prefix.
2010-09-19 19:12:12 +02:00