2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 Matthias Ettrich
8 * Copyright 1995-2000 The LyX Team.
10 * This file copyright 1999-2000
12 *======================================================*/
14 * FormPreferences Interface Class
17 #ifndef FORMPREFERENCES_H
18 #define FORMPREFERENCES_H
20 #include "DialogBase.h"
21 #include "form_preferences.h"
22 #ifdef SIGC_CXX_NAMESPACES
23 using SigC::Connection;
29 /** This class provides an XForms implementation of the FormPreferences Dialog.
30 The preferences dialog allows users to set/save their preferences.
32 class FormPreferences : public DialogBase {
34 /**@name Constructors and Destructors */
36 /// #FormPreferences x(LyXFunc ..., Dialogs ...);#
37 FormPreferences(LyXView *, Dialogs *);
42 /**@name Real per-instance Callback Methods */
44 static int WMHideCB(FL_FORM *, void *);
45 static void OKCB(FL_OBJECT *, long);
46 static void ApplyCB(FL_OBJECT *, long);
47 static void CancelCB(FL_OBJECT *, long);
48 static void InputCB(FL_OBJECT *, long);
53 FormPreferences(FormPreferences &) : DialogBase() {}
55 /**@name Slot Methods */
57 /// Create the dialog if necessary, update it and display it.
61 /// Update the dialog.
65 /**@name Dialog internal methods */
74 FD_form_preferences * build_preferences();
76 FD_form_bind * build_bind();
78 FD_form_misc * build_misc();
80 FD_form_screen_fonts * build_screen_fonts();
82 FD_form_interface_fonts * build_interface_fonts();
84 FD_form_printer * build_printer();
86 FD_form_paths * build_paths();
87 /// Explicitly free the dialog.
91 /**@name Private Data */
93 /// Real GUI implementation.
94 FD_form_preferences * dialog_;
100 FD_form_screen_fonts * screen_fonts_;
102 FD_form_interface_fonts * interface_fonts_;
104 FD_form_printer * printer_;
106 FD_form_paths * paths_;
107 /// Which LyXView do we belong to?
110 /// Update connection.