]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormTabular.h
ae5b498a3c4659edaa6e6e9de3e7c2ffcc01a7da
[lyx.git] / src / frontends / xforms / FormTabular.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ======================================================
4  * 
5  *           LyX, The Document Processor
6  *       
7  *          Copyright 1995 Matthias Ettrich
8  *          Copyright 1995-2000 The LyX Team.
9  *
10  *======================================================*/
11 /* FormTabular.h
12  * FormTabular Interface Class
13  */
14
15 #ifndef FORMTABULAR_H
16 #define FORMTABULAR_H
17
18 #include "FormInset.h"
19
20 class InsetTabular;
21 struct FD_form_tabular;
22 struct FD_form_tabular_options;
23 struct FD_form_column_options;
24 struct FD_form_cell_options;
25 struct FD_form_longtable_options;
26
27 /** This class provides an XForms implementation of the FormTabular Dialog.
28     The tabular dialog allows users to set/save their tabular.
29  */
30 class FormTabular : public FormInset {
31 public:
32         /// #FormTabular x(LyXFunc ..., Dialogs ...);#
33         FormTabular(LyXView *, Dialogs *);
34         ///
35         ~FormTabular();
36
37 private:
38         /** Redraw the form (on receipt of a Signal indicating, for example,
39             that the xform colours have been re-mapped). */
40         virtual void redraw();
41         /// Disconnect signals. Also perform any necessary housekeeping.
42         virtual void disconnect();
43
44         /// Slot launching dialog to an existing inset
45         void showInset(InsetTabular *);
46         /// Slot launching dialog to an existing inset
47         void updateInset(InsetTabular *);
48         /// Update dialog before showing it
49         virtual void update();
50         /// Build the dialog
51         virtual void build();
52         /// Filter the inputs
53         virtual bool input(FL_OBJECT *, long);
54         /// Pointer to the actual instantiation of the xform's form
55         virtual FL_FORM * form() const;
56
57         /// Fdesign generated methods
58         FD_form_tabular * build_tabular();
59         ///
60         FD_form_tabular_options * build_tabular_options();
61         ///
62         FD_form_column_options * build_column_options();
63         ///
64         FD_form_cell_options * build_cell_options();
65         ///
66         FD_form_longtable_options * build_longtable_options();
67
68         /// Real GUI implementation.
69         FD_form_tabular * dialog_;
70         ///
71         FD_form_tabular_options * tabular_options_;
72         ///
73         FD_form_column_options * column_options_;
74         ///
75         FD_form_cell_options * cell_options_;
76         ///
77         FD_form_longtable_options * longtable_options_;
78
79         /// pointer to the inset passed through showInset
80         InsetTabular * inset_;
81         ///
82         int actCell_;
83 };
84
85 #endif