4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS
12 #ifndef FORM_DOCUMENT_H
13 #define FORM_DOCUMENT_H
18 #include <boost/scoped_ptr.hpp>
22 class ControlDocument;
27 struct FD_document_paper;
28 struct FD_document_class;
29 struct FD_document_language;
30 struct FD_document_options;
31 struct FD_document_bullet;
33 /** This class provides an XForms implementation of the FormDocument dialog.
34 * The table-layout-form here changes values for latex-tabulars
36 class FormDocument : public FormCB<ControlDocument, FormDB<FD_document> > {
40 /** Redraw the form (on receipt of a Signal indicating, for example,
41 that the xforms colours have been re-mapped). */
42 virtual void redraw();
46 virtual ButtonPolicy::SMInput input( FL_OBJECT *, long);
47 /// Update the dialog.
48 virtual void update();
53 void ChoiceBulletSize(FL_OBJECT * ob, long);
55 void InputBulletLaTeX(FL_OBJECT * ob, long);
57 void BulletDepth(FL_OBJECT * ob);
59 void BulletPanel(FL_OBJECT * ob);
61 void BulletBMTable(FL_OBJECT * ob, long);
65 void CheckChoiceClass();
67 void UpdateLayoutDocument(BufferParams const & params);
69 void UpdateClassParams(BufferParams const & params);
72 void paper_update(BufferParams const &);
74 void class_update(BufferParams const &);
76 void language_update(BufferParams const &);
78 void options_update(BufferParams const &);
80 void bullets_update(BufferParams const &);
83 void paper_apply(BufferParams &);
85 bool class_apply(BufferParams &);
87 bool language_apply(BufferParams &);
89 bool options_apply(BufferParams &);
91 void bullets_apply(BufferParams &);
93 /// Real GUI implementation.
94 boost::scoped_ptr<FD_document_paper> paper_;
96 boost::scoped_ptr<FD_document_class> class_;
98 boost::scoped_ptr<FD_document_language> language_;
100 boost::scoped_ptr<FD_document_options> options_;
102 boost::scoped_ptr<FD_document_bullet> bullets_;
108 int current_bullet_panel;
110 int current_bullet_depth;
114 std::vector<string> lang_;