mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-14 06:57:01 +00:00
38a20ba481
Apparently. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3848 a592a061-630c-0410-9148-cb99ea01b6c8
61 lines
1.8 KiB
Plaintext
61 lines
1.8 KiB
Plaintext
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.
|