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 * FormTabular Interface Class
20 #include "DialogBase.h"
21 #include "form_tabular.h"
22 #ifdef SIGC_CXX_NAMESPACES
23 using SigC::Connection;
30 /** This class provides an XForms implementation of the FormTabular Dialog.
31 The tabular dialog allows users to set/save their tabular.
33 class FormTabular : public DialogBase {
35 /**@name Constructors and Destructors */
37 /// #FormTabular x(LyXFunc ..., Dialogs ...);#
38 FormTabular(LyXView *, Dialogs *);
43 /**@name Real per-instance Callback Methods */
45 static int WMHideCB(FL_FORM *, void *);
46 static void TabularCloseCB(FL_OBJECT *, long);
47 static void TabularOKCB(FL_OBJECT *, long);
48 static void TabularCancelCB(FL_OBJECT *, long);
49 static void TabularApplyCB(FL_OBJECT *, long);
50 static void TabularInputCB(FL_OBJECT *, long);
55 FormTabular(FormTabular &) : DialogBase() {}
57 /**@name Slot Methods */
59 /// Create the dialog if necessary, update it and display it.
62 void showInset(InsetTabular *);
66 void hideInset(InsetTabular *);
67 /// Update the dialog.
69 void updateInset(InsetTabular *);
70 bool local_update(bool);
73 /**@name Dialog internal methods */
83 FD_form_tabular * build_tabular();
85 FD_form_tabular_options * build_tabular_options();
87 FD_form_column_options * build_column_options();
89 FD_form_cell_options * build_cell_options();
91 FD_form_longtable_options * build_longtable_options();
93 FD_form_create_tabular * build_create_tabular();
95 /// Explicitly free the dialog.
99 /**@name Private Data */
101 /// Real GUI implementation.
102 FD_form_tabular * dialog_;
104 FD_form_tabular_options * tabular_options_;
106 FD_form_column_options * column_options_;
108 FD_form_cell_options * cell_options_;
110 FD_form_longtable_options * longtable_options_;
112 FD_form_create_tabular * create_tabular_;
114 /// Which LyXView do we belong to?
117 /// Update connection.
122 InsetTabular * inset_;