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 "support/utility.hpp"
23 #ifdef SIGC_CXX_NAMESPACES
24 using SigC::Connection;
30 struct FD_form_tabular;
31 struct FD_form_tabular_options;
32 struct FD_form_column_options;
33 struct FD_form_cell_options;
34 struct FD_form_longtable_options;
35 struct FD_form_create_tabular;
37 /** This class provides an XForms implementation of the FormTabular Dialog.
38 The tabular dialog allows users to set/save their tabular.
40 class FormTabular : public DialogBase, public noncopyable {
42 /// #FormTabular x(LyXFunc ..., Dialogs ...);#
43 FormTabular(LyXView *, Dialogs *);
47 static int WMHideCB(FL_FORM *, void *);
49 static void CloseCB(FL_OBJECT *, long);
51 static void OKCB(FL_OBJECT *, long);
53 static void CancelCB(FL_OBJECT *, long);
55 static void ApplyCB(FL_OBJECT *, long);
57 static void InputCB(FL_OBJECT *, long);
60 /// Create the dialog if necessary, update it and display it.
65 void showInset(InsetTabular *);
71 void hideInset(InsetTabular *);
72 /// Update the dialog.
75 void updateInset(InsetTabular *);
77 bool local_update(bool);
84 void SetTabularOptions(FL_OBJECT *, long);
86 FD_form_tabular * build_tabular();
88 FD_form_tabular_options * build_tabular_options();
90 FD_form_column_options * build_column_options();
92 FD_form_cell_options * build_cell_options();
94 FD_form_longtable_options * build_longtable_options();
96 FD_form_create_tabular * build_create_tabular();
98 /// Real GUI implementation.
99 FD_form_tabular * dialog_;
101 FD_form_tabular_options * tabular_options_;
103 FD_form_column_options * column_options_;
105 FD_form_cell_options * cell_options_;
107 FD_form_longtable_options * longtable_options_;
109 FD_form_create_tabular * create_tabular_;
111 /// Which LyXView do we belong to?
115 /// Update connection.
120 InsetTabular * inset_;