summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Introduce structure LdCanvasRect.Přemysl Janouch2011-01-061-1/+40
| | | | | It's basically the same as cairo_rectangle_t, just in our own namespace.
* Change symbol clip tolerance to widget units.Přemysl Janouch2011-01-061-9/+9
| | | | As line width is in pixels, too, this makes much more sense.
* Redraw LdCanvas on LdDiagram changes.Přemysl Janouch2011-01-051-0/+31
|
* Add new objects to the start of LdDiagram's list.Přemysl Janouch2011-01-051-1/+1
| | | | | This way it doesn't have to go through the whole linked list to find a place for the objects.
* Add a "selection-changed" signal to LdDiagram.Přemysl Janouch2011-01-052-4/+30
| | | | Make existing code emit this signal.
* Add ld_diagram_{select,unselect}_all().Přemysl Janouch2011-01-052-6/+40
|
* Export cairo_{get,set}_line_width to Lua symbols.Přemysl Janouch2011-01-051-1/+37
|
* Draw selected objects with another color.Přemysl Janouch2011-01-052-7/+70
| | | | | | | | 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.
* Move lines around. No functional change.Přemysl Janouch2011-01-0410-124/+117
|
* Make adding symbols to the diagram possible.Přemysl Janouch2011-01-043-3/+277
| | | | | | 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.
* Fix the "library" property in LdCanvas.Přemysl Janouch2011-01-041-1/+1
|
* Partial refactoring of LdCanvas.Přemysl Janouch2011-01-041-48/+87
| | | | draw_symbol() had been doing too much.
* Split in-out parameters into separate in and out.Přemysl Janouch2011-01-032-25/+29
| | | | | | In functions: ld_canvas_diagram_to_widget_coords() ld_canvas_widget_to_diagram_coords()
* Fix problems discovered while testing on Windows.Přemysl Janouch2010-12-201-2/+10
| | | | | | | * 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.
* LdCanvas maintenance.Přemysl Janouch2010-12-182-25/+27
| | | | | | | | * 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.
* Make the symbol menu grab focus.Přemysl Janouch2010-12-181-1/+38
| | | | | | | | | This way when the user clicks outside the menu when it is open, the menu will close itself first. Keyboard input is however still not handled. The symbol menu should be redesigned.
* Rename LdDocument* to LdDiagram*.Přemysl Janouch2010-12-1616-1059/+1060
| | | | My bad; this name is much more appropriate.
* Overall cleanup.Přemysl Janouch2010-12-166-20/+25
| | | | | | | | | * 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.
* Implement diagram operations in UI.Přemysl Janouch2010-12-161-47/+460
| | | | | | | * Now diagrams can be created, loaded and saved. * Define descriptions and accelerators for actions. * Set irrelevant actions unsensitive. * Also remove redundant comments for clarity.
* Add change notifications to properties.Přemysl Janouch2010-12-164-3/+21
| | | | | | Also fix the "human-name" property in LdSymbolCategory and correct gtk-doc comments for coordinates properties accessors in LdDocumentObject.
* Remove redundant flags from signals.Přemysl Janouch2010-12-122-3/+3
|
* LdWindowMain cleanup.Přemysl Janouch2010-12-122-73/+58
| | | | | | | | | | * 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.
* Rename local LdCanvas methods.Přemysl Janouch2010-12-121-5/+5
| | | | Use a "real" prefix, as GTK+ does.
* Stubplement LdDocument file operations.Přemysl Janouch2010-12-112-8/+47
| | | | Prototypes for these functions were wrong; fixed.
* Add a "modified" property to LdDocument.Přemysl Janouch2010-12-112-16/+148
| | | | | | | The property is set to TRUE whenever the document changes. The user may set it back to FALSE with ld_document_set_modified(). Also don't emit the "changed" signal when nothing has happened.
* Rename local LdLuaSymbol methods.Přemysl Janouch2010-12-111-15/+15
| | | | | | | Use a "real" prefix, as GTK+ does. Also make the implementations of virtual functions really static, as they prototypes were telling.
* Add a main toolbar.Přemysl Janouch2010-12-111-17/+24
| | | | So far it has no special powers. This should change in the future.
* Check for name collisions in symbol categories.Přemysl Janouch2010-12-111-3/+24
|
* Read human names of categories from category.json.Přemysl Janouch2010-12-111-6/+72
| | | | | | | | category.json contains a JSON object/table with localized names of the category directory they are located within. If a localized name cannot be found, the name of the category is used as the human name, too.
* Add a "human-name" property to LdSymbolCategory.Přemysl Janouch2010-12-114-7/+66
| | | | | | | Just as LdSymbol has a human name for localization purposes, LdSymbolCategory also needs to have this property. Use the human name in tooltips.
* Draw symbols from LdDocument in LdCanvas.Přemysl Janouch2010-12-101-1/+91
| | | | Just the minimal implementation so far.
* Implement more of LdCanvas.Přemysl Janouch2010-12-103-62/+339
| | | | | | | | | | 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.
* Change LdSymbolArea members.Přemysl Janouch2010-12-103-12/+19
| | | | | | Now it contains coordinates of the top-left delimiting point and computed dimensions (instead of coorinates of both delimiting points).
* Prepare the project for json-glib.Přemysl Janouch2010-12-052-0/+2
| | | | This required writing a special CMake find module.
* Random fixes.Přemysl Janouch2010-12-054-13/+15
| | | | Mostly found by -Wextra.
* Initial LdDocument implementation.Přemysl Janouch2010-12-058-43/+739
| | | | The document maintains a list of LdDocumentObject objects.
* Add a "library" property to LdCanvas.Přemysl Janouch2010-11-192-1/+63
| | | | Also make the code reference properties properly.
* Symbols are required to save cairo state.Přemysl Janouch2010-11-162-0/+6
|
* Added basic onscreen symbol menu.Přemysl Janouch2010-11-161-21/+352
| | | | | | So far it does not add symbols to the document, as there is momentarily no interface for neither the document nor the canvas.
* Formatting and naming changes in LdWindowMain.Přemysl Janouch2010-10-281-41/+29
|
* Made Lua symbol registration more robust.Přemysl Janouch2010-10-282-38/+89
|
* Separate LdLua and LdSymbolCategory.Přemysl Janouch2010-10-273-30/+55
| | | | | | | Originally, ld_lua_load_file_to_category() was adding registered symbols into a passed LdSymbolCategory object. This interface has been rewritten to be more generic by using callbacks to notify about new symbols.
* Implement parts of Lua symbol registration.Přemysl Janouch2010-10-271-5/+80
| | | | The human name and area now gets resolved.
* Fix gtk-doc comments.Přemysl Janouch2010-10-276-16/+4
|
* Added an "area" property to LdSymbol.Přemysl Janouch2010-10-272-19/+95
| | | | | To accomplish this, LdSymbolArea had to be converted to a regular boxed type.
* Add more properties to LdSymbol.Přemysl Janouch2010-10-275-66/+134
| | | | | Also move the actual storage of symbol properties to implementations of the abstract LdSymbol class. All the properties are read only.
* Added ld_library_find_symbol().Přemysl Janouch2010-10-262-0/+75
| | | | | This function tries to return a symbol that corresponds to the given identifier.
* Manage LdLibrary children in a GSList.Přemysl Janouch2010-10-263-19/+75
| | | | | | | | | The previous method of containment, that is using GHashTable, did not list children in any particular order. Also names of children were duplicated. One copy has been stored as a hash table index and another was present in the child itself.
* Redesign and implement the basic parts of LdLua.Přemysl Janouch2010-10-265-85/+226
| | | | | There's a very strong bond between LdLua and LdLuaSymbol. LdLuaSymbol is more like an interface to LdLua than a separate object.
* Implement the LdSymbol "name" property.Přemysl Janouch2010-10-263-4/+100
|