mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-04 14:20:05 +00:00
7e4c025484
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8198 a592a061-630c-0410-9148-cb99ea01b6c8 |
||
---|---|---|
.. | ||
.cvsignore | ||
fdfix.sh | ||
fdfixc.sed | ||
fdfixh.sed | ||
form_aboutlyx.fd | ||
form_bibitem.fd | ||
form_bibtex.fd | ||
form_box.fd | ||
form_branch.fd | ||
form_browser.fd | ||
form_changes.fd | ||
form_character.fd | ||
form_citation.fd | ||
form_colorpicker.fd | ||
form_document.fd | ||
form_errorlist.fd | ||
form_ert.fd | ||
form_external.fd | ||
form_filedialog.fd | ||
form_float.fd | ||
form_forks.fd | ||
form_graphics.fd | ||
form_include.fd | ||
form_maths_delim.fd | ||
form_maths_matrix.fd | ||
form_maths_panel.fd | ||
form_maths_space.fd | ||
form_maths_style.fd | ||
form_minipage.fd | ||
form_note.fd | ||
form_paragraph.fd | ||
form_preamble.fd | ||
form_preferences.fd | ||
form_print.fd | ||
form_ref.fd | ||
form_search.fd | ||
form_sendto.fd | ||
form_spellchecker.fd | ||
form_tabular_create.fd | ||
form_tabular.fd | ||
form_texinfo.fd | ||
form_text.fd | ||
form_thesaurus.fd | ||
form_toc.fd | ||
form_url.fd | ||
form_vspace.fd | ||
form_wrap.fd | ||
Makefile.am | ||
README | ||
tmp_str.sed |
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.