lyx_mirror/src/frontends/xforms/forms
Angus Leeming 7e4c025484 The External dialog for xforms.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8198 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-05 02:49:46 +00:00
..
.cvsignore better lib building 2003-05-08 18:05:07 +00:00
fdfix.sh The std::string mammoth path. 2003-10-06 15:43:21 +00:00
fdfixc.sed POSIX-compliant sed. 2003-09-15 08:12:13 +00:00
fdfixh.sed POSIX-compliant sed. 2003-09-15 08:12:13 +00:00
form_aboutlyx.fd Port the About LyX dialog to the Dialog scheme. 2003-03-09 20:29:58 +00:00
form_bibitem.fd
form_bibtex.fd Revert, revert, revert. Sorry about that, y'all. 2003-09-03 17:40:58 +00:00
form_box.fd Fix parbox/minipage radio button behaviour 2003-12-01 16:42:16 +00:00
form_branch.fd The 'Branches' mega-patch. 2003-08-17 11:28:23 +00:00
form_browser.fd port the various dialogs to display the contents of an external file to the new Dialog-based scheme 2003-03-25 18:13:46 +00:00
form_changes.fd Rob's changes patch 2003-03-14 11:31:07 +00:00
form_character.fd The new combox code. 2003-04-02 14:20:30 +00:00
form_citation.fd
form_colorpicker.fd A color picker for xforms. 2003-07-23 15:36:40 +00:00
form_document.fd The 'Branches' mega-patch. 2003-08-17 11:28:23 +00:00
form_errorlist.fd the errorlist change 2003-05-13 21:15:48 +00:00
form_ert.fd
form_external.fd The External dialog for xforms. 2003-12-05 02:49:46 +00:00
form_filedialog.fd
form_float.fd
form_forks.fd
form_graphics.fd Tiny clean up. 2003-09-29 21:40:13 +00:00
form_include.fd
form_maths_delim.fd Move 4 of the xforms math (sub) dialogs to the new scheme. 2003-06-17 10:30:38 +00:00
form_maths_matrix.fd Move 4 of the xforms math (sub) dialogs to the new scheme. 2003-06-17 10:30:38 +00:00
form_maths_panel.fd remove non-ascii characters from translatable strings 2003-11-21 11:38:17 +00:00
form_maths_space.fd Move 4 of the xforms math (sub) dialogs to the new scheme. 2003-06-17 10:30:38 +00:00
form_maths_style.fd Move 4 of the xforms math (sub) dialogs to the new scheme. 2003-06-17 10:30:38 +00:00
form_minipage.fd
form_note.fd Extend Note inset to other forms of annotation like Comment 2003-07-08 14:19:25 +00:00
form_paragraph.fd move space above/below from Paragraph into a separate vspace inset. 2003-11-28 15:53:34 +00:00
form_preamble.fd
form_preferences.fd A color picker for xforms. 2003-07-23 15:36:40 +00:00
form_print.fd
form_ref.fd
form_search.fd
form_sendto.fd
form_spellchecker.fd
form_tabular_create.fd Port the TabularCreate dialog to the Dialog scheme. 2003-03-09 19:34:46 +00:00
form_tabular.fd remove non-ascii characters from translatable strings 2003-11-21 11:38:17 +00:00
form_texinfo.fd Move the Texinfo dialog to the new Dialog scheme. 2003-06-19 17:16:12 +00:00
form_text.fd
form_thesaurus.fd port the thesaurus dialog to the new scheme 2003-03-26 12:17:20 +00:00
form_toc.fd
form_url.fd
form_vspace.fd Follow J�rgen Spitzm�ller's lead and add a 'keep' option to the xforms dialog. 2003-11-29 20:13:51 +00:00
form_wrap.fd
Makefile.am Use 'standard' make syntax rather than gnu-isms. 2003-12-03 13:15:00 +00:00
README The new combox code. 2003-04-02 14:20:30 +00:00
tmp_str.sed POSIX-compliant sed. 2003-09-15 08:12:13 +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 and to combox:

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

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.