mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-14 06:57:01 +00:00
0be0fcfd59
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
---|---|---|
.. | ||
dialogs | ||
.cvsignore | ||
accessors.py | ||
ChangeLog | ||
Dialogs2.C | ||
Dialogs3.C | ||
Dialogs_impl.h | ||
Dialogs.C | ||
FileDialog.C | ||
GAbout.C | ||
GAbout.h | ||
GChanges.C | ||
GChanges.h | ||
GError.C | ||
GError.h | ||
GERT.C | ||
GERT.h | ||
GFloat.C | ||
GFloat.h | ||
GLog.C | ||
GLog.h | ||
gnome_helpers.C | ||
gnome_helpers.h | ||
GnomeBase.C | ||
GnomeBase.h | ||
gnomeBC.C | ||
gnomeBC.h | ||
gnomeTimeout.C | ||
gnomeTimeout.h | ||
GPreamble.C | ||
GPreamble.h | ||
GTabularCreate.C | ||
GTabularCreate.h | ||
GUrl.C | ||
GUrl.h | ||
GView.C | ||
GView.h | ||
lyx_gui.C | ||
Makefile.am | ||
pixbutton.h | ||
README | ||
support.c | ||
support.h |
GNOME FRONT END =============== Firstly, this stuff is pre-alpha. I don't use it so you shouldn't either. At all, no exceptions :). Secondly I'm no c++ guru, I'm learning as I go along so if something looks stupid, there's a good chance it is. Adding Dialogs -------------- The GNOME frontend of LyX uses libglade to draw the dialogs. The base (GnomeBase.C) class handles the drawing and activating of the Dialogs, for an example of contructing a simple dialog see GUrl.[Ch] FormUrl::FormUrl(ControlUrl & c) : FormCB<ControlUrl>(c, "FormUrl") {} To manipulate a widget you extract a pointer using getWidget(string). If you look at FormUrl you'll see that there are a number of helper functions at the bottom of the .C file. These are automatically generated by accessors.py For accessors.py to work glade files now must adhere to the following conventions: * The root widget and the file should be named after the form (i.e FormTabularCreate & FormTabularCreate.glade) * Functional widgets, those actually used rather than the filler widgets like Gtk::HBox etc, should have an r_ as the first two characters of their name. (see below) To make the build system include your new dialog edit Makefile.am as follows: 1) make clean in src/frontends/gnome/ 2) Add GX.C and GX.h to libgnome_la_SOURCES 3) Remove FormX.lo and form_x.lo (if applicable) from xforms_objects 4) make clean && make in src/frontends/ 5) make in src/ Using accessors.py ------------------ Usage: python accessors.py glade_ui_file DialogClass e.g python accessors.py FormTabularCreate.glade GTabularCreate Accessors.py will write the helper functions to DialogClass.C_gen and the function declarations to DialogClass.g_gen. To ensure the widgets you're interested in are made available using this method, prefix the widgets name with r_ when you build the dialog in Glade.