lyx_mirror/src/frontends/xforms/forms
André Pönitz c520bdbd89 Juergen S.'s slightly modified patch to access the preview setting from the gui
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4498 a592a061-630c-0410-9148-cb99ea01b6c8
2002-06-27 17:48:09 +00:00
..
.cvsignore fix aiksaurus compile 2002-06-18 18:39:36 +00:00
fdfix.sh Fail gracefully if fdesign fails. 2002-06-14 10:51:32 +00:00
fdfixc.sed xforms clean-up, described in detail in my mail of 31 May. See 2002-06-13 13:43:51 +00:00
fdfixh.sed xforms clean-up, described in detail in my mail of 31 May. See 2002-06-13 13:43:51 +00:00
form_aboutlyx.fd xforms clean-up, described in detail in my mail of 31 May. See 2002-06-13 13:43:51 +00:00
form_bibitem.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_bibtex.fd Merge Herbert's bibtex patch; it doesn't introduce any new bugs and 2002-06-20 20:41:00 +00:00
form_browser.fd
form_character.fd blah 2001-09-07 15:58:45 +00:00
form_citation.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_document.fd xforms clean-up, described in detail in my mail of 31 May. See 2002-06-13 13:43:51 +00:00
form_error.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_ert.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_external.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_filedialog.fd
form_float.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_forks.fd The graphics inset now has: 2002-02-27 09:59:52 +00:00
form_graphics.fd xforms clean-up, described in detail in my mail of 31 May. See 2002-06-13 13:43:51 +00:00
form_include.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_index.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_maths_deco.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_maths_delim.fd *duck* 2002-06-18 15:44:30 +00:00
form_maths_matrix.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_maths_panel.fd Martin's latest mods to the math panel. 2002-01-18 12:18:20 +00:00
form_maths_space.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_maths_style.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_minipage.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_paragraph.fd Edwin's Para MVC. Sorry for the delay ! 2002-06-11 16:40:18 +00:00
form_preamble.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_preferences.fd Juergen S.'s slightly modified patch to access the preview setting from the gui 2002-06-27 17:48:09 +00:00
form_print.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_ref.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_search.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_sendto.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_spellchecker.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_tabular_create.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_tabular.fd xforms clean-up, described in detail in my mail of 31 May. See 2002-06-13 13:43:51 +00:00
form_texinfo.fd Auto-scan for texinfo and bibtex dialogs 2002-06-20 23:35:10 +00:00
form_thesaurus.fd the aik patch 2002-01-13 01:46:33 +00:00
form_toc.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
form_url.fd Ensure all widgets follow the naming scheme. 2002-03-12 14:11:15 +00:00
Makefile.am Make the .Ch files dependent on the fdfix files. 2002-06-14 10:12:59 +00:00
README Pedantry 2002-06-14 10:58:05 +00:00

All .fd files go in this directory.
Each .fd file should have just one form in them

NOTE: An exception to the above is any tabbed form which 
      xforms requires multiple forms to create.  In that case
      the group of forms constitutes one gui form.

* All forms should be named form_xxx and saved into a file of the same name.
For example, the copyright notice is called form_copyright and is stored in
form_copyright.fd.
Tabbed folders should be named form_xxx_yyy.
For example, the file folder in the graphics dialog has the identifier
form_graphics_file.

If you match this pattern, the fdfix.sh script will be able to manipulate
the generated .c and .h files to produce the .C and .h files used by LyX. A form
called form_xxx will result in a struct FD_xxx.

* Name all buttons and other form components that are likely to cause a
callback. The names should be of the form:  button_ok, radio_group_item and
so on.

Being more explicit:
	class             | prefix
	------------------+-------
	FL_BROWSER        | browser
	FL_BUTTON         | button
	FL_PIXMAPBUTTON   | button
	FL_CHECKBUTTON    | check
	FL_CHOICE         | choice
	FL_COUNTER        | counter
	FL_DIAL           | dial
	FL_INPUT          | input
	FL_FRAME          | frame
	FL_LABELFRAME     | frame
	FL_ROUND3DBUTTON,
	RADIO_BUTTON      | radio
	FL_SLIDER         | slider
	FL_VALSLIDER      | slider
	FL_TABFOLDER      | tabfolder
	FL_TEXT           | text

The only exceptions to this are objects that are to be converted in the sed
scripts. At the moment this applies only to bmtable:

	Convert an FL_BUTTON to a FL_BMTABLE by using prefix "bmtable".

Enter the full name of the callback eg.:
        C_FormBaseOkCB

If you follow these simple rules then you will generate code for functions
build_xxx that will need no further editing to make them work. For example,
form_graphics.h contains the struct declarations and build methods, so:

extern FD_graphics * build_graphics(void *);
extern FD_graphics_file * build_graphics_file(void *);
extern FD_graphics_size * build_graphics_size(void *);
extern FD_graphics_bbox * build_graphics_bbox(void *);
extern FD_graphics_special * build_graphics_special(void *);
extern FD_graphics_lyxview * build_graphics_lyxview(void *);

where the function is to be passed a pointer to the parent dialog
(usually "this") so that this pointer can be cast off to FormBase * in the
assigned callback function and the appropriate class method called.