2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 2000-2001 The LyX Team.
11 *======================================================*/
13 #ifndef FORM_PARAGRAPH_H
14 #define FORM_PARAGRAPH_H
16 #include <boost/smart_ptr.hpp>
22 #include "FormBaseDeprecated.h"
25 struct FD_form_tabbed_paragraph;
26 struct FD_form_paragraph_general;
27 struct FD_form_paragraph_extra;
29 /** This class provides an XForms implementation of the FormParagraph dialog.
30 * @author Jürgen Vigna
32 class FormParagraph : public FormBaseBD {
35 FormParagraph(LyXView *, Dialogs *);
37 /// Pointer to the actual instantiation of the ButtonController.
38 virtual xformsBC & bc();
39 /** Redraw the form (on receipt of a Signal indicating, for example,
40 that the xforms colours have been re-mapped). */
41 virtual void redraw();
47 virtual void update();
48 /// Filter the inputs on callback from xforms
49 virtual bool input(FL_OBJECT * ob, long);
51 virtual void connect();
52 /// Disconnect signals
53 virtual void disconnect();
55 void changedParagraph();
57 LyXParagraph const * getCurrentParagraph() const;
59 virtual FL_FORM * form() const;
62 void general_update();
66 /// Fdesign generated methods
67 FD_form_tabbed_paragraph * build_tabbed_paragraph();
69 FD_form_paragraph_general * build_paragraph_general();
71 FD_form_paragraph_extra * build_paragraph_extra();
72 /// Real GUI implementation.
73 boost::scoped_ptr<FD_form_tabbed_paragraph> dialog_;
75 boost::scoped_ptr<FD_form_paragraph_general> general_;
76 /// The ButtonController
77 ButtonController<NoRepeatedApplyReadOnlyPolicy, xformsBC> bc_;
78 /// Changed Paragraph connection.
81 /// The current LyXParagraph
82 LyXParagraph const * par_;
87 xformsBC & FormParagraph::bc()