lyx_mirror/src/frontends/gnome
Angus Leeming 0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
..
dialogs Changes Dialog for gnome frontend. 2003-02-12 06:10:42 +00:00
.cvsignore
accessors.py Implement the Log dialog, also update accessors.py 2002-06-03 03:38:30 +00:00
ChangeLog Finish the migration from namespace grfx to lyx::graphics. 2003-07-21 21:30:57 +00:00
Dialogs2.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
Dialogs3.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
Dialogs_impl.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
Dialogs.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
FileDialog.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GAbout.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GAbout.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GChanges.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GChanges.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GError.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GError.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GERT.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GERT.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GFloat.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GFloat.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GLog.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GLog.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
gnome_helpers.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
gnome_helpers.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GnomeBase.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GnomeBase.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
gnomeBC.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
gnomeBC.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
gnomeTimeout.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
gnomeTimeout.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GPreamble.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GPreamble.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GTabularCreate.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GTabularCreate.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GUrl.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GUrl.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GView.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
GView.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
lyx_gui.C If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
Makefile.am Hold on to your hats. 2003-02-25 14:51:38 +00:00
pixbutton.h If I ever see another licence blurb again, it'll be too soon... 2003-08-23 00:17:00 +00:00
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.