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
f9dbe12971
Stubplement LdDocument file operations.
...
Prototypes for these functions were wrong; fixed.
2010-12-11 20:32:03 +01:00
Přemysl Eric Janouch
e364267010
Add a "modified" property to LdDocument.
...
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.
2010-12-11 20:31:54 +01:00
Přemysl Eric Janouch
805089c38f
Rename local LdLuaSymbol methods.
...
Use a "real" prefix, as GTK+ does.
Also make the implementations of virtual functions
really static, as they prototypes were telling.
2010-12-11 14:26:00 +01:00
Přemysl Eric Janouch
afacad693d
Add a main toolbar.
...
So far it has no special powers. This should change in the future.
2010-12-11 04:15:23 +01:00
Přemysl Eric Janouch
fe7c270bdd
Check for name collisions in symbol categories.
2010-12-11 03:49:54 +01:00
Přemysl Eric Janouch
e6230576b7
Add category.json files for testing categories.
2010-12-11 03:49:53 +01:00
Přemysl Eric Janouch
67325d5f70
Read human names of categories from category.json.
...
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.
2010-12-11 03:49:46 +01:00
Přemysl Eric Janouch
74e43ceee4
Add a "human-name" property to LdSymbolCategory.
...
Just as LdSymbol has a human name for localization purposes,
LdSymbolCategory also needs to have this property.
Use the human name in tooltips.
2010-12-11 02:44:00 +01:00
Přemysl Eric Janouch
aeb6e7ed58
Add a few symbols for testing.
...
The lucky ones are: capacitor, resistor and diode.
More symbols can be expected later, when more cairo
functions are exported to Lua and relevant standards
become accessible to me.
2010-12-10 23:27:45 +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
37d898fb1a
Change LdSymbolArea members.
...
Now it contains coordinates of the top-left delimiting
point and computed dimensions (instead of coorinates of
both delimiting points).
2010-12-10 08:57:42 +01:00
Přemysl Eric Janouch
3d3a71d5d2
Prepare the project for json-glib.
...
This required writing a special CMake find module.
2010-12-05 15:30:21 +01:00
Přemysl Eric Janouch
1d956964e2
Random fixes.
...
Mostly found by -Wextra.
2010-12-05 15:21:00 +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
d31d420f59
Symbols are required to save cairo state.
2010-11-16 10:30:10 +01:00
Přemysl Eric Janouch
8f2dad4ead
Added basic onscreen symbol menu.
...
So far it does not add symbols to the document,
as there is momentarily no interface for neither
the document nor the canvas.
2010-11-16 10:26:15 +01:00
Přemysl Eric Janouch
263aa9062e
Formatting and naming changes in LdWindowMain.
2010-10-28 14:11:59 +02:00
Přemysl Eric Janouch
5a24eaabb2
Made Lua symbol registration more robust.
2010-10-28 09:07:47 +02:00
Přemysl Eric Janouch
9271ce1134
Separate LdLua and LdSymbolCategory.
...
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.
2010-10-27 20:49:21 +02:00
Přemysl Eric Janouch
8b5fa9a49a
Implement parts of Lua symbol registration.
...
The human name and area now gets resolved.
2010-10-27 20:05:52 +02:00
Přemysl Eric Janouch
1c5127068e
Fix gtk-doc comments.
2010-10-27 18:18:37 +02:00
Přemysl Eric Janouch
121d923d29
Added an "area" property to LdSymbol.
...
To accomplish this, LdSymbolArea had to be converted
to a regular boxed type.
2010-10-27 18:15:31 +02:00
Přemysl Eric Janouch
9156953cc9
Add more properties to LdSymbol.
...
Also move the actual storage of symbol properties to implementations
of the abstract LdSymbol class. All the properties are read only.
2010-10-27 16:52:00 +02:00
Přemysl Eric Janouch
aa33db342b
Added ld_library_find_symbol().
...
This function tries to return a symbol that corresponds
to the given identifier.
2010-10-26 20:01:52 +02:00
Přemysl Eric Janouch
979308aa7f
Manage LdLibrary children in a GSList.
...
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.
2010-10-26 16:41:03 +02:00
Přemysl Eric Janouch
9a242786b1
Redesign and implement the basic parts of LdLua.
...
There's a very strong bond between LdLua and LdLuaSymbol.
LdLuaSymbol is more like an interface to LdLua than a separate object.
2010-10-26 16:40:53 +02:00
Přemysl Eric Janouch
2b9b543402
Implement the LdSymbol "name" property.
2010-10-26 16:40:21 +02:00
Přemysl Eric Janouch
ba3b348dfd
Implement the rest of LdSymbolCategory.
...
Added GObject properties for object parameters.
Implemented methods for children management.
2010-10-26 16:40:08 +02:00
Přemysl Eric Janouch
ffc57249c8
Make LdLibrary call LdLua to load symbol scripts.
2010-10-26 13:58:39 +02:00
Přemysl Eric Janouch
e0e63649dc
Redesign the library and related components.
...
This step is needed, since the current design is quite chaotic
and it would not be possible to finish the application.
There's still a lot to be done.
After this step, it's time to implement the rest of LdLua.
2010-10-26 13:58:33 +02:00
Přemysl Eric Janouch
0c9b297e50
Implement part of LdLuaSymbol.
...
The "new" method requires to be passed a parameter that
makes it possible to call the appropriate render function.
Stub-plemented the "draw" method.
2010-10-17 14:05:53 +02:00
Přemysl Eric Janouch
9fc354e066
Implement a few bits of LdLua.
...
Some comments in the source code have been updated.
2010-10-17 14:05:53 +02:00
Přemysl Eric Janouch
efe45e9601
Convert LdSymbol into an abstract class.
...
Created LdLuaSymbol, which subclasses LdSymbol.
2010-10-17 14:05:53 +02:00
Přemysl Eric Janouch
23a1f25130
Created LdLua class.
2010-10-17 14:05:53 +02:00
Přemysl Eric Janouch
c0ec389b59
Renamed LdSymbolLibrary to LdLibrary.
2010-10-17 14:05:53 +02:00
Přemysl Eric Janouch
5da5689541
WIP: Refactoring of the library and symbols
2010-10-17 14:05:53 +02:00
Přemysl Eric Janouch
25668c2073
Updated to new GTK+.
...
FindGTK2.cmake required a change for successful program compilation.
It seems that gdk_pixbuf has been put as a separate library.
The new tools also generate a slightly different version
of marshallers, so I've added it to the tree.
2010-10-17 13:36:03 +02:00
Přemysl Eric Janouch
f250621519
Split ld-symbol-library.c.
...
Originally, there were three object classes defined in this file.
It would later become rather chaotic if left that way.
2010-09-20 18:18:30 +02:00
Přemysl Eric Janouch
f675a7c07c
Require Lua 5.1 and GTK+ 2.12.
2010-09-20 17:28:23 +02: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
2dd5dbaf67
Automatized generation of marshallers.
2010-09-19 19:12:36 +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
Přemysl Eric Janouch
db46ae5505
Started implementing the canvas and the document.
2010-09-17 18:53:57 +02:00