2000-07-11 Juergen Vigna <jug@sad.it>
+ * src/BufferView2.C (open_new_inset): changed to a bool returnvalue
+ as the insertInset could not be good!
+
* src/screen.C (ToggleSelection): fixed toggle selection bug as
the bool param should not be last.
bool insertInset(Inset * inset, string const & lout = string(),
bool no_table = false);
/// open and lock an updatable inset
- void open_new_inset(UpdatableInset * new_inset);
+ bool open_new_inset(UpdatableInset * new_inset);
/// Inserts a lyx file at cursor position. Returns false if it fails.
bool insertLyXFile(string const & file);
///
// Open and lock an updatable inset
-void BufferView::open_new_inset(UpdatableInset * new_inset)
+bool BufferView::open_new_inset(UpdatableInset * new_inset)
{
beforeChange();
text->FinishUndo();
- insertInset(new_inset);
+ if (!insertInset(new_inset))
+ return false;
text->CursorLeft(this);
update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
new_inset->Edit(this, 0, 0, 0);
class InsetCitation;
class InsetBibtex;
class InsetInfo;
+class InsetTabular;
/** Container of all dialogs and signals a LyXView needs or uses to access them
The list of dialog signals isn't comprehensive but should be a good guide
///
Signal0<void> showLogFile;
///
- Signal0<void> showTable;
+ Signal1<void, InsetTabular *> showTabular;
///
- Signal0<void> updateTable; // needed for InsetTabular-Update
+ Signal1<void, InsetTabular *> updateTabular;
///
- Signal0<void> showTableNew;
+ Signal1<void, InsetTabular *> hideTabular;
+ ///
+ Signal0<void> showTabularCreate;
///
Signal0<void> showCharacter;
///
#include FORMS_H_LOCATION
#include "Dialogs.h"
+#include "FormCitation.h"
#include "FormCopyright.h"
-#include "FormPrint.h"
#include "FormPreferences.h"
-#include "FormCitation.h"
+#include "FormPrint.h"
+#include "FormTabular.h"
#ifdef __GNUG__
#pragma implementation
Dialogs::Dialogs(LyXView * lv)
{
+ dialogs_.push_back(new FormCitation(lv, this));
dialogs_.push_back(new FormCopyright(lv, this));
- dialogs_.push_back(new FormPrint(lv, this));
dialogs_.push_back(new FormPreferences(lv, this));
- dialogs_.push_back(new FormCitation(lv, this));
+ dialogs_.push_back(new FormPrint(lv, this));
+ dialogs_.push_back(new FormTabular(lv, this));
// reduce the number of connections needed in
// dialogs by a simple connection here.
--- /dev/null
+/* FormTabular.C
+ * FormTabular Interface Class Implementation
+ */
+
+#include <config.h>
+#include "lyx_gui_misc.h"
+#include "gettext.h"
+#include FORMS_H_LOCATION
+
+#include "FormTabular.h"
+#include "xform_macros.h"
+#include "input_validators.h"
+#include "LyXView.h"
+#include "lyxfunc.h"
+#include "Dialogs.h"
+#include "lyxrc.h"
+#include "debug.h"
+#include "insets/insettabular.h"
+#include "buffer.h"
+
+
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::slot;
+#endif
+
+C_RETURNCB(FormTabular, WMHideCB)
+C_GENERICCB(FormTabular, TabularCloseCB)
+C_GENERICCB(FormTabular, TabularInputCB)
+
+
+FormTabular::FormTabular(LyXView * lv, Dialogs * d)
+ : dialog_(0), tabular_options_(0), column_options_(0),
+ cell_options_(0), longtable_options_(0), create_tabular_(0),
+ lv_(lv), d_(d), u_(0), h_(0), inset_(0), actCell_(-1)
+{
+ // let the dialog be shown
+ // This is a permanent connection so we won't bother
+ // storing a copy because we won't be disconnecting.
+ d->showTabular.connect(slot(this, &FormTabular::showInset));
+ d->updateTabular.connect(slot(this, &FormTabular::updateInset));
+ d->hideTabular.connect(slot(this, &FormTabular::hideInset));
+ d->showTabularCreate.connect(slot(this, &FormTabular::show_create));
+}
+
+
+FormTabular::~FormTabular()
+{
+ free();
+}
+
+
+void FormTabular::build()
+{
+ dialog_ = build_tabular();
+ tabular_options_ = build_tabular_options();
+ column_options_ = build_column_options();
+ cell_options_ = build_cell_options();
+ longtable_options_ = build_longtable_options();
+ create_tabular_ = build_create_tabular();
+
+ fl_set_input_return(column_options_->input_column_width,
+ FL_RETURN_CHANGED);
+ fl_set_input_return(column_options_->input_special_alignment,
+ FL_RETURN_CHANGED);
+ fl_set_input_return(cell_options_->input_mcolumn_width,
+ FL_RETURN_CHANGED);
+ fl_set_input_return(cell_options_->input_special_multialign,
+ FL_RETURN_CHANGED);
+
+ fl_addto_tabfolder(dialog_->tabFolder, _("Tabular"),
+ tabular_options_->form_tabular_options);
+ fl_addto_tabfolder(dialog_->tabFolder, _("Column/Row"),
+ column_options_->form_column_options);
+ fl_addto_tabfolder(dialog_->tabFolder, _("Cell"),
+ cell_options_->form_cell_options);
+ fl_addto_tabfolder(dialog_->tabFolder, _("LongTable"),
+ longtable_options_->form_longtable_options);
+
+ fl_set_form_atclose(dialog_->form_tabular,
+ C_FormTabularWMHideCB, 0);
+
+ fl_set_slider_bounds(create_tabular_->slider_rows, 1, 50);
+ fl_set_slider_bounds(create_tabular_->slider_columns, 1, 50);
+ fl_set_slider_value(create_tabular_->slider_rows, 5);
+ fl_set_slider_value(create_tabular_->slider_columns, 5);
+ fl_set_slider_precision(create_tabular_->slider_rows, 0);
+ fl_set_slider_precision(create_tabular_->slider_columns, 0);
+ fl_set_form_atclose(create_tabular_->form_create_tabular,
+ C_FormTabularWMHideCB, 0);
+}
+
+
+void FormTabular::show()
+{
+ if (!dialog_) {
+ build();
+ }
+ update(); // make sure its up-to-date
+
+ if (dialog_->form_tabular->visible) {
+ fl_raise_form(dialog_->form_tabular);
+ } else {
+ fl_show_form(dialog_->form_tabular,
+ FL_PLACE_MOUSE | FL_FREE_SIZE,
+ FL_FULLBORDER,
+ _("Tabular Layout"));
+// u_ = d_->updateBufferDependent.connect(slot(this,
+// &FormTabular::update));
+ h_ = d_->hideBufferDependent.connect(slot(this,
+ &FormTabular::hide));
+ }
+}
+
+void FormTabular::showInset(InsetTabular * ti)
+{
+ inset_ = ti;
+ if (ti) {
+ show();
+ }
+}
+
+void FormTabular::hide()
+{
+ if (dialog_ && dialog_->form_tabular && dialog_->form_tabular->visible) {
+ fl_hide_form(dialog_->form_tabular);
+ u_.disconnect();
+ h_.disconnect();
+ inset_ = 0;
+ }
+}
+
+
+void FormTabular::hideInset(InsetTabular * ti)
+{
+ if (inset_ == ti) {
+ inset_ = 0;
+ hide();
+ }
+}
+
+
+void FormTabular::apply()
+{
+}
+
+
+void FormTabular::update()
+{
+ if (dialog_) {
+ local_update(true);
+ }
+}
+
+void FormTabular::updateInset(InsetTabular *)
+{
+ update();
+}
+
+void FormTabular::input()
+{
+ bool activate = true;
+ //
+ // whatever checks you need
+ //
+ if (activate) {
+ } else {
+ }
+}
+
+
+void FormTabular::free()
+{
+ // we don't need to delete u and h here because
+ // hide() does that after disconnecting.
+ if (dialog_) {
+ if (dialog_->form_tabular
+ && dialog_->form_tabular->visible) {
+ hide();
+ }
+ fl_free_form(dialog_->form_tabular);
+ delete dialog_;
+ dialog_ = 0;
+ }
+}
+
+
+int FormTabular::WMHideCB(FL_FORM * form, void *)
+{
+ // Ensure that the signals (u and h) are disconnected even if the
+ // window manager is used to close the dialog.
+ FormTabular * pre = static_cast<FormTabular*>(form->u_vdata);
+ pre->hide();
+ return FL_CANCEL;
+}
+
+
+void FormTabular::TabularCloseCB(FL_OBJECT * ob, long)
+{
+ FormTabular * pre = static_cast<FormTabular*>(ob->form->u_vdata);
+ pre->hide();
+}
+
+
+void FormTabular::TabularInputCB(FL_OBJECT * ob, long)
+{
+ FormTabular * pre = static_cast<FormTabular*>(ob->form->u_vdata);
+ pre->input();
+}
+
+
+bool FormTabular::local_update(bool flag)
+{
+ if (!inset_ || !inset_->tabular)
+ return false;
+
+ LyXTabular
+ * tabular = inset_->tabular;
+ int
+ align,
+ cell,
+ column,row;
+ char
+ buf[12];
+ string
+ pwidth, special;
+
+ actCell_ = cell = inset_->GetActCell();
+ column = tabular->column_of_cell(cell)+1;
+ fl_set_object_label(dialog_->text_warning,"");
+ confirmed_ = false;
+ fl_activate_object(column_options_->input_special_alignment);
+ fl_activate_object(cell_options_->input_special_multialign);
+ fl_activate_object(column_options_->input_column_width);
+ sprintf(buf,"%d",column);
+ fl_set_input(dialog_->input_tabular_column, buf);
+ fl_deactivate_object(dialog_->input_tabular_column);
+ row = tabular->row_of_cell(cell)+1;
+ sprintf(buf,"%d",row);
+ fl_set_input(dialog_->input_tabular_row, buf);
+ fl_deactivate_object(dialog_->input_tabular_row);
+ if (tabular->IsMultiColumn(cell))
+ fl_set_button(cell_options_->radio_multicolumn, 1);
+ else
+ fl_set_button(cell_options_->radio_multicolumn, 0);
+ if (tabular->GetRotateCell(cell))
+ fl_set_button(cell_options_->radio_rotate_cell, 1);
+ else
+ fl_set_button(cell_options_->radio_rotate_cell, 0);
+ if (tabular->TopLine(cell))
+ fl_set_button(column_options_->radio_border_top, 1);
+ else
+ fl_set_button(column_options_->radio_border_top, 0);
+ if (tabular->BottomLine(cell))
+ fl_set_button(column_options_->radio_border_bottom, 1);
+ else
+ fl_set_button(column_options_->radio_border_bottom, 0);
+ if (tabular->LeftLine(cell))
+ fl_set_button(column_options_->radio_border_left, 1);
+ else
+ fl_set_button(column_options_->radio_border_left, 0);
+ if (tabular->RightLine(cell))
+ fl_set_button(column_options_->radio_border_right, 1);
+ else
+ fl_set_button(column_options_->radio_border_right, 0);
+ align = tabular->GetAlignment(cell);
+ fl_set_button(column_options_->radio_align_left, 0);
+ fl_set_button(column_options_->radio_align_right, 0);
+ fl_set_button(column_options_->radio_align_center, 0);
+ special = tabular->GetAlignSpecial(cell,LyXTabular::SET_SPECIAL_COLUMN);
+ if (flag)
+ fl_set_input(column_options_->input_special_alignment,
+ special.c_str());
+ if (lv_->buffer()->isReadonly())
+ fl_deactivate_object(column_options_->input_special_alignment);
+ special = tabular->GetAlignSpecial(cell,LyXTabular::SET_SPECIAL_MULTI);
+ if (flag)
+ fl_set_input(cell_options_->input_special_multialign, special.c_str());
+ if (lv_->buffer()->isReadonly())
+ fl_deactivate_object(cell_options_->input_special_multialign);
+ pwidth = tabular->GetPWidth(cell);
+ if (flag)
+ fl_set_input(column_options_->input_column_width,pwidth.c_str());
+ if (lv_->buffer()->isReadonly()) {
+ fl_deactivate_object(column_options_->input_column_width);
+ } else {
+ fl_activate_object(column_options_->input_column_width);
+ }
+ if (!pwidth.empty()) {
+ fl_activate_object(cell_options_->radio_linebreak_cell);
+ fl_set_object_lcol(cell_options_->radio_linebreak_cell, FL_BLACK);
+ fl_set_button(cell_options_->radio_linebreak_cell,
+ tabular->GetLinebreaks(cell));
+ } else {
+ fl_deactivate_object(cell_options_->radio_linebreak_cell);
+ fl_set_object_lcol(cell_options_->radio_linebreak_cell, FL_INACTIVE);
+ fl_set_button(cell_options_->radio_linebreak_cell,0);
+ }
+ if ((!pwidth.empty() && !tabular->IsMultiColumn(cell)) ||
+ (align == LYX_ALIGN_LEFT))
+ fl_set_button(column_options_->radio_align_left, 1);
+ else if (align == LYX_ALIGN_RIGHT)
+ fl_set_button(column_options_->radio_align_right, 1);
+ else
+ fl_set_button(column_options_->radio_align_center, 1);
+ if (!pwidth.empty() && !tabular->IsMultiColumn(cell)) {
+ fl_deactivate_object(column_options_->radio_align_left);
+ fl_deactivate_object(column_options_->radio_align_right);
+ fl_deactivate_object(column_options_->radio_align_center);
+ fl_set_object_lcol(column_options_->radio_align_left, FL_INACTIVE);
+ fl_set_object_lcol(column_options_->radio_align_right, FL_INACTIVE);
+ fl_set_object_lcol(column_options_->radio_align_center, FL_INACTIVE);
+ } else {
+ fl_activate_object(column_options_->radio_align_left);
+ fl_activate_object(column_options_->radio_align_right);
+ fl_activate_object(column_options_->radio_align_center);
+ fl_set_object_lcol(column_options_->radio_align_left, FL_BLACK);
+ fl_set_object_lcol(column_options_->radio_align_right, FL_BLACK);
+ fl_set_object_lcol(column_options_->radio_align_center, FL_BLACK);
+ }
+ fl_set_button(tabular_options_->radio_longtable,
+ tabular->IsLongTabular());
+ if (tabular->IsLongTabular()) {
+ fl_activate_object(longtable_options_->radio_lt_firsthead);
+ fl_activate_object(longtable_options_->radio_lt_head);
+ fl_activate_object(longtable_options_->radio_lt_foot);
+ fl_activate_object(longtable_options_->radio_lt_lastfoot);
+ fl_activate_object(longtable_options_->radio_lt_newpage);
+ fl_set_object_lcol(longtable_options_->radio_lt_firsthead, FL_BLACK);
+ fl_set_object_lcol(longtable_options_->radio_lt_head, FL_BLACK);
+ fl_set_object_lcol(longtable_options_->radio_lt_foot, FL_BLACK);
+ fl_set_object_lcol(longtable_options_->radio_lt_lastfoot, FL_BLACK);
+ fl_set_object_lcol(longtable_options_->radio_lt_newpage, FL_BLACK);
+ fl_set_button(longtable_options_->radio_lt_firsthead,
+ tabular->GetRowOfLTFirstHead(cell));
+ fl_set_button(longtable_options_->radio_lt_head,
+ tabular->GetRowOfLTHead(cell));
+ fl_set_button(longtable_options_->radio_lt_foot,
+ tabular->GetRowOfLTFoot(cell));
+ fl_set_button(longtable_options_->radio_lt_lastfoot,
+ tabular->GetRowOfLTLastFoot(cell));
+ fl_set_button(longtable_options_->radio_lt_newpage,
+ tabular->GetLTNewPage(cell));
+ } else {
+ fl_deactivate_object(longtable_options_->radio_lt_firsthead);
+ fl_deactivate_object(longtable_options_->radio_lt_head);
+ fl_deactivate_object(longtable_options_->radio_lt_foot);
+ fl_deactivate_object(longtable_options_->radio_lt_lastfoot);
+ fl_deactivate_object(longtable_options_->radio_lt_newpage);
+ fl_set_button(longtable_options_->radio_lt_firsthead,0);
+ fl_set_button(longtable_options_->radio_lt_head,0);
+ fl_set_button(longtable_options_->radio_lt_foot,0);
+ fl_set_button(longtable_options_->radio_lt_lastfoot,0);
+ fl_set_button(longtable_options_->radio_lt_newpage,0);
+ fl_set_object_lcol(longtable_options_->radio_lt_firsthead,FL_INACTIVE);
+ fl_set_object_lcol(longtable_options_->radio_lt_head, FL_INACTIVE);
+ fl_set_object_lcol(longtable_options_->radio_lt_foot, FL_INACTIVE);
+ fl_set_object_lcol(longtable_options_->radio_lt_lastfoot, FL_INACTIVE);
+ fl_set_object_lcol(longtable_options_->radio_lt_newpage, FL_INACTIVE);
+ }
+ fl_set_button(tabular_options_->radio_rotate_tabular,
+ tabular->GetRotateTabular());
+ return true;
+}
+
+// +-----------------------------------------------------------------------+
+// | Functions/Dialogs for creating tabular insets |
+// +-----------------------------------------------------------------------+
+
+void FormTabular::show_create()
+{
+ if (!dialog_) {
+ build();
+ }
+ if (create_tabular_->form_create_tabular->visible) {
+ fl_raise_form(create_tabular_->form_create_tabular);
+ } else {
+ fl_show_form(create_tabular_->form_create_tabular,
+ FL_PLACE_MOUSE | FL_FREE_SIZE,
+ FL_FULLBORDER, _("Insert Tabular"));
+ }
+}
+
+
+void FormTabular::hide_create()
+{
+ if (create_tabular_->form_create_tabular)
+ fl_hide_form(create_tabular_->form_create_tabular);
+}
+
+
+void FormTabular::apply_create()
+{
+ int
+ xsize,ysize;
+
+// comm->setMinibuffer(_("Inserting tabular inset..."));
+ ysize = int(fl_get_slider_value(create_tabular_->slider_columns) + 0.5);
+ xsize = int(fl_get_slider_value(create_tabular_->slider_rows) + 0.5);
+ InsetTabular * in = new InsetTabular(lv_->buffer(),xsize,ysize);
+ if (!lv_->view()->open_new_inset(in)) {
+ delete in;
+ }
+// comm->setMinibuffer(_("Tabular mode"));
+}
+
+
+void FormTabular::TabularOKCB(FL_OBJECT * ob, long)
+{
+ FormTabular * pre = (FormTabular*)ob->form->u_vdata;
+ pre->apply_create();
+ pre->hide_create();
+}
+
+
+void FormTabular::TabularApplyCB(FL_OBJECT * ob, long)
+{
+ FormTabular * pre = (FormTabular*)ob->form->u_vdata;
+ pre->apply_create();
+}
+
+
+void FormTabular::TabularCancelCB(FL_OBJECT * ob, long)
+{
+ FormTabular * pre = (FormTabular*)ob->form->u_vdata;
+ pre->hide_create();
+}
--- /dev/null
+// -*- C++ -*-
+/* This file is part of
+ * ======================================================
+ *
+ * LyX, The Document Processor
+ *
+ * Copyright 1995 Matthias Ettrich
+ * Copyright 1995-2000 The LyX Team.
+ *
+ * This file copyright 1999-2000
+ * Allan Rae
+ *======================================================*/
+/* FormTabular.h
+ * FormTabular Interface Class
+ */
+
+#ifndef FORMTABULAR_H
+#define FORMTABULAR_H
+
+#include "DialogBase.h"
+#include "form_tabular.h"
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Connection;
+#endif
+
+class LyXView;
+class Dialogs;
+class InsetTabular;
+
+/** This class provides an XForms implementation of the FormTabular Dialog.
+ The tabular dialog allows users to set/save their tabular.
+ */
+class FormTabular : public DialogBase {
+public:
+ /**@name Constructors and Destructors */
+ //@{
+ /// #FormTabular x(LyXFunc ..., Dialogs ...);#
+ FormTabular(LyXView *, Dialogs *);
+ ///
+ ~FormTabular();
+ //@}
+
+ /**@name Real per-instance Callback Methods */
+ //@{
+ static int WMHideCB(FL_FORM *, void *);
+ static void TabularCloseCB(FL_OBJECT *, long);
+ static void TabularOKCB(FL_OBJECT *, long);
+ static void TabularCancelCB(FL_OBJECT *, long);
+ static void TabularApplyCB(FL_OBJECT *, long);
+ static void TabularInputCB(FL_OBJECT *, long);
+ //@}
+
+private:
+ FormTabular() {}
+ FormTabular(FormTabular &) : DialogBase() {}
+
+ /**@name Slot Methods */
+ //@{
+ /// Create the dialog if necessary, update it and display it.
+ void show();
+ void show_create();
+ void showInset(InsetTabular *);
+ /// Hide the dialog.
+ void hide();
+ void hide_create();
+ void hideInset(InsetTabular *);
+ /// Update the dialog.
+ void update();
+ void updateInset(InsetTabular *);
+ bool local_update(bool);
+ //@}
+
+ /**@name Dialog internal methods */
+ //@{
+ /// Apply from dialog
+ void apply();
+ void apply_create();
+ /// Filter the inputs
+ void input();
+ /// Build the dialog
+ void build();
+ ///
+ FD_form_tabular * build_tabular();
+ ///
+ FD_form_tabular_options * build_tabular_options();
+ ///
+ FD_form_column_options * build_column_options();
+ ///
+ FD_form_cell_options * build_cell_options();
+ ///
+ FD_form_longtable_options * build_longtable_options();
+ ///
+ FD_form_create_tabular * build_create_tabular();
+ ///
+ /// Explicitly free the dialog.
+ void free();
+ //@}
+
+ /**@name Private Data */
+ //@{
+ /// Real GUI implementation.
+ FD_form_tabular * dialog_;
+ ///
+ FD_form_tabular_options * tabular_options_;
+ ///
+ FD_form_column_options * column_options_;
+ ///
+ FD_form_cell_options * cell_options_;
+ ///
+ FD_form_longtable_options * longtable_options_;
+ ///
+ FD_form_create_tabular * create_tabular_;
+ ///
+ /// Which LyXView do we belong to?
+ LyXView * lv_;
+ Dialogs * d_;
+ /// Update connection.
+ Connection u_;
+ /// Hide connection.
+ Connection h_;
+ //@}
+ InsetTabular * inset_;
+ int actCell_;
+ bool confirmed_;
+};
+
+#endif
ETAGS_ARGS = --lang=c++
libxforms_la_SOURCES = \
Dialogs.C \
+ FormCitation.C \
+ FormCitation.h \
+ form_citation.C \
+ form_citation.h \
FormCopyright.C \
FormCopyright.h \
form_copyright.C \
FormPrint.h \
form_print.C \
form_print.h \
- FormCitation.C \
- FormCitation.h \
- form_citation.C \
- form_citation.h \
+ FormTabular.C \
+ FormTabular.h \
+ form_tabular.C \
+ form_tabular.h \
input_validators.h \
input_validators.c \
xform_macros.h
-/** Header file generated with fdesign on Thu Jul 6 17:01:34 2000.**/
+/** Header file generated with fdesign on Tue Jul 11 11:01:26 2000.**/
#ifndef FD_form_citation_h_
#define FD_form_citation_h_
-/** Header file generated with fdesign on Thu Jul 6 17:01:34 2000.**/
+/** Header file generated with fdesign on Tue Jul 11 11:01:26 2000.**/
#ifndef FD_form_copyright_h_
#define FD_form_copyright_h_
-/** Header file generated with fdesign on Thu Jul 6 17:01:34 2000.**/
+/** Header file generated with fdesign on Tue Jul 11 11:01:26 2000.**/
#ifndef FD_form_bind_h_
#define FD_form_bind_h_
-/** Header file generated with fdesign on Thu Jul 6 17:01:34 2000.**/
+/** Header file generated with fdesign on Tue Jul 11 11:01:26 2000.**/
#ifndef FD_form_print_h_
#define FD_form_print_h_
--- /dev/null
+// File modified by fdfix.sh for use by lyx (with xforms >= 0.86) and gettext
+#include <config.h>
+#include "lyx_gui_misc.h"
+#include "gettext.h"
+
+/* Form definition file generated with fdesign. */
+
+#include FORMS_H_LOCATION
+#include <stdlib.h>
+#include "FormTabular.h"
+
+FD_form_tabular * FormTabular::build_tabular()
+{
+ FL_OBJECT *obj;
+ FD_form_tabular *fdui = new FD_form_tabular;
+
+ fdui->form_tabular = fl_bgn_form(FL_NO_BOX, 510, 340);
+ fdui->form_tabular->u_vdata = this;
+ obj = fl_add_box(FL_FLAT_BOX, 0, 0, 510, 340, "");
+ fdui->tabFolder = obj = fl_add_tabfolder(FL_TOP_TABFOLDER, 10, 10, 485, 240, _("Tabbed folder"));
+ fl_set_object_resize(obj, FL_RESIZE_ALL);
+ fdui->button_close = obj = fl_add_button(FL_NORMAL_BUTTON, 395, 300, 100, 30, idex(_("Close|#C")));fl_set_button_shortcut(obj, scex(_("Close|#C")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularCloseCB, 0);
+ fdui->input_tabular_column = obj = fl_add_input(FL_NORMAL_INPUT, 15, 300, 60, 30, _("Column"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
+ fdui->input_tabular_row = obj = fl_add_input(FL_NORMAL_INPUT, 85, 300, 60, 30, _("Row"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
+ fdui->text_warning = obj = fl_add_text(FL_NORMAL_TEXT, 10, 250, 485, 30, "");
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fl_end_form();
+
+ fdui->form_tabular->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
+FD_form_tabular_options * FormTabular::build_tabular_options()
+{
+ FL_OBJECT *obj;
+ FD_form_tabular_options *fdui = new FD_form_tabular_options;
+
+ fdui->form_tabular_options = fl_bgn_form(FL_NO_BOX, 485, 220);
+ fdui->form_tabular_options->u_vdata = this;
+ obj = fl_add_box(FL_UP_BOX, 0, 0, 485, 220, "");
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 280, 20, 120, 75, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ fdui->button_append_column = obj = fl_add_button(FL_NORMAL_BUTTON, 10, 40, 120, 30, idex(_("Append Column|#A")));fl_set_button_shortcut(obj, scex(_("Append Column|#A")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->button_delete_column = obj = fl_add_button(FL_NORMAL_BUTTON, 140, 40, 120, 30, idex(_("Delete Column|#O")));fl_set_button_shortcut(obj, scex(_("Delete Column|#O")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->button_append_row = obj = fl_add_button(FL_NORMAL_BUTTON, 10, 70, 120, 30, idex(_("Append Row|#p")));fl_set_button_shortcut(obj, scex(_("Append Row|#p")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->button_delete_row = obj = fl_add_button(FL_NORMAL_BUTTON, 140, 70, 120, 30, idex(_("Delete Row|#w")));fl_set_button_shortcut(obj, scex(_("Delete Row|#w")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->button_set_borders = obj = fl_add_button(FL_NORMAL_BUTTON, 10, 10, 120, 30, idex(_("Set Borders|#S")));fl_set_button_shortcut(obj, scex(_("Set Borders|#S")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->button_unset_borders = obj = fl_add_button(FL_NORMAL_BUTTON, 140, 10, 120, 30, idex(_("Unset Borders|#U")));fl_set_button_shortcut(obj, scex(_("Unset Borders|#U")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_longtable = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 280, 30, 90, 25, _("Longtable"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_rotate_tabular = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 280, 55, 90, 25, idex(_("Rotate 90°|#9")));fl_set_button_shortcut(obj, scex(_("Rotate 90°|#9")), 1);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_text(FL_NORMAL_TEXT, 285, 10, 100, 20, _("Spec. Table"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fl_end_form();
+
+ fdui->form_tabular_options->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
+FD_form_column_options * FormTabular::build_column_options()
+{
+ FL_OBJECT *obj;
+ FD_form_column_options *fdui = new FD_form_column_options;
+
+ fdui->form_column_options = fl_bgn_form(FL_NO_BOX, 485, 220);
+ fdui->form_column_options->u_vdata = this;
+ obj = fl_add_box(FL_UP_BOX, 0, 0, 485, 220, "");
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 20, 20, 170, 105, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ obj = fl_add_text(FL_NORMAL_TEXT, 25, 10, 70, 20, _("Borders"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->radio_border_top = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 85, 45, 25, 25, idex(_("Top|#t")));fl_set_button_shortcut(obj, scex(_("Top|#t")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_bottom = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 85, 75, 25, 25, idex(_("Bottom|#b")));fl_set_button_shortcut(obj, scex(_("Bottom|#b")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_BOTTOM_LEFT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_left = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 65, 60, 25, 25, idex(_("Left|#l")));fl_set_button_shortcut(obj, scex(_("Left|#l")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_right = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 105, 60, 25, 25, idex(_("Right|#r")));fl_set_button_shortcut(obj, scex(_("Right|#r")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_RIGHT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 200, 20, 130, 105, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ obj = fl_add_text(FL_NORMAL_TEXT, 205, 10, 115, 20, _("H. Alignment"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->radio_align_left = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 205, 30, 110, 25, idex(_("Left|#e")));fl_set_button_shortcut(obj, scex(_("Left|#e")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_align_right = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 205, 55, 115, 25, idex(_("Right|#i")));fl_set_button_shortcut(obj, scex(_("Right|#i")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_align_center = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 205, 80, 115, 25, idex(_("Center|#c")));fl_set_button_shortcut(obj, scex(_("Center|#c")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->input_column_width = obj = fl_add_input(FL_NORMAL_INPUT, 375, 150, 95, 30, _("Width of column:"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 340, 20, 130, 105, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ fdui->radio_valign_top = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 345, 30, 110, 25, idex(_("Top|#p")));fl_set_button_shortcut(obj, scex(_("Top|#p")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_valign_center = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 345, 55, 115, 25, idex(_("Center|#n")));fl_set_button_shortcut(obj, scex(_("Center|#n")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_valign_bottom = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 345, 80, 115, 25, idex(_("Bottom|#o")));fl_set_button_shortcut(obj, scex(_("Bottom|#o")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_text(FL_NORMAL_TEXT, 345, 10, 115, 20, _("V. Alignment"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 20, 140, 220, 50, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fdui->input_special_alignment = obj = fl_add_input(FL_NORMAL_INPUT, 30, 150, 200, 30, "");
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_text(FL_NORMAL_TEXT, 25, 130, 170, 20, _("Special Column Alignment"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fl_end_form();
+
+ fdui->form_column_options->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
+FD_form_cell_options * FormTabular::build_cell_options()
+{
+ FL_OBJECT *obj;
+ FD_form_cell_options *fdui = new FD_form_cell_options;
+
+ fdui->form_cell_options = fl_bgn_form(FL_NO_BOX, 485, 220);
+ fdui->form_cell_options->u_vdata = this;
+ obj = fl_add_box(FL_UP_BOX, 0, 0, 485, 220, "");
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 110, 180, 100, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ obj = fl_add_text(FL_NORMAL_TEXT, 15, 100, 70, 20, _("Borders"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 195, 110, 130, 100, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ obj = fl_add_text(FL_NORMAL_TEXT, 200, 100, 115, 20, _("H. Alignment"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 340, 110, 130, 100, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ obj = fl_add_text(FL_NORMAL_TEXT, 345, 100, 115, 20, _("V. Alignment"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 15, 150, 85, "");
+ obj = fl_add_text(FL_NORMAL_TEXT, 15, 5, 140, 20, _("Special Cell"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->radio_multicolumn = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 25, 145, 25, idex(_("Multicolumn|#M")));fl_set_button_shortcut(obj, scex(_("Multicolumn|#M")), 1);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_linebreak_cell = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 50, 145, 25, idex(_("Linebreaks|#N")));fl_set_button_shortcut(obj, scex(_("Linebreaks|#N")), 1);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_rotate_cell = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 10, 75, 145, 25, _("Rotate 90°"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 165, 15, 305, 85, "");
+ fl_set_object_color(obj, FL_COL1, FL_COL1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fdui->input_special_multialign = obj = fl_add_input(FL_NORMAL_INPUT, 175, 30, 280, 30, "");
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_text(FL_NORMAL_TEXT, 170, 5, 290, 20, _("Special Multicolumn Alignment"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->input_mcolumn_width = obj = fl_add_input(FL_NORMAL_INPUT, 360, 65, 95, 30, _("Width of multi-column:"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_top = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 75, 135, 25, 25, idex(_("Top|#t")));fl_set_button_shortcut(obj, scex(_("Top|#t")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_bottom = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 75, 165, 25, 25, idex(_("Bottom|#b")));fl_set_button_shortcut(obj, scex(_("Bottom|#b")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_BOTTOM_LEFT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_left = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 55, 150, 25, 25, idex(_("Left|#l")));fl_set_button_shortcut(obj, scex(_("Left|#l")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_border_right = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 95, 150, 25, 25, idex(_("Right|#r")));fl_set_button_shortcut(obj, scex(_("Right|#r")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_RIGHT);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_align_left = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 195, 120, 110, 25, idex(_("Left|#e")));fl_set_button_shortcut(obj, scex(_("Left|#e")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_align_right = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 195, 145, 115, 25, idex(_("Right|#i")));fl_set_button_shortcut(obj, scex(_("Right|#i")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_align_center = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 195, 170, 115, 25, idex(_("Center|#c")));fl_set_button_shortcut(obj, scex(_("Center|#c")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_valign_top = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 340, 120, 110, 25, idex(_("Top|#p")));fl_set_button_shortcut(obj, scex(_("Top|#p")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_valign_center = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 340, 145, 115, 25, idex(_("Center|#n")));fl_set_button_shortcut(obj, scex(_("Center|#n")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_valign_bottom = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 340, 170, 115, 25, idex(_("Bottom|#o")));fl_set_button_shortcut(obj, scex(_("Bottom|#o")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fl_end_form();
+
+ fdui->form_cell_options->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
+FD_form_longtable_options * FormTabular::build_longtable_options()
+{
+ FL_OBJECT *obj;
+ FD_form_longtable_options *fdui = new FD_form_longtable_options;
+
+ fdui->form_longtable_options = fl_bgn_form(FL_NO_BOX, 485, 220);
+ fdui->form_longtable_options->u_vdata = this;
+ obj = fl_add_box(FL_UP_BOX, 0, 0, 485, 220, "");
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 20, 100, 75, "");
+ obj = fl_add_text(FL_NORMAL_TEXT, 15, 10, 85, 20, _("Header"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->radio_lt_firsthead = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 15, 30, 90, 25, _("First Head"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_lt_head = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 15, 60, 90, 25, _("Head"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 130, 20, 100, 75, "");
+ obj = fl_add_text(FL_NORMAL_TEXT, 135, 10, 85, 20, _("Footer"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->radio_lt_foot = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 135, 30, 90, 25, _("Foot"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fdui->radio_lt_lastfoot = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 135, 60, 90, 25, _("Last Foot"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ obj = fl_add_frame(FL_ENGRAVED_FRAME, 245, 20, 95, 75, "");
+ obj = fl_add_text(FL_NORMAL_TEXT, 250, 10, 85, 20, _("Special"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
+ fl_set_object_lstyle(obj, FL_BOLD_STYLE);
+ fdui->radio_lt_newpage = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 250, 30, 90, 25, _("New Page"));
+ fl_set_object_callback(obj, TabularInputCB, 0);
+ fl_end_form();
+
+ fdui->form_longtable_options->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
+FD_form_create_tabular * FormTabular::build_create_tabular()
+{
+ FL_OBJECT *obj;
+ FD_form_create_tabular *fdui = new FD_form_create_tabular;
+
+ fdui->form_create_tabular = fl_bgn_form(FL_NO_BOX, 310, 130);
+ fdui->form_create_tabular->u_vdata = this;
+ obj = fl_add_box(FL_UP_BOX, 0, 0, 310, 130, "");
+ fdui->button_ok = obj = fl_add_button(FL_RETURN_BUTTON, 10, 90, 90, 30, _("OK"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularOKCB, 0);
+ fdui->button_apply = obj = fl_add_button(FL_NORMAL_BUTTON, 110, 90, 90, 30, idex(_("Apply|#A")));fl_set_button_shortcut(obj, scex(_("Apply|#A")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularApplyCB, 0);
+ fdui->button_cancel = obj = fl_add_button(FL_NORMAL_BUTTON, 210, 90, 90, 30, idex(_("Cancel|^[")));fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1);
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_callback(obj, TabularCancelCB, 0);
+ fdui->slider_columns = obj = fl_add_valslider(FL_HOR_SLIDER, 80, 50, 220, 30, _("Columns"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_resize(obj, FL_RESIZE_X);
+ fdui->slider_rows = obj = fl_add_valslider(FL_HOR_SLIDER, 80, 10, 220, 30, _("Rows"));
+ fl_set_object_lsize(obj, FL_NORMAL_SIZE);
+ fl_set_object_lalign(obj, FL_ALIGN_LEFT);
+ fl_set_object_resize(obj, FL_RESIZE_X);
+ fl_end_form();
+
+ fdui->form_create_tabular->fdui = fdui;
+
+ return fdui;
+}
+/*---------------------------------------*/
+
--- /dev/null
+/** Header file generated with fdesign on Tue Jul 11 16:33:31 2000.**/
+
+#ifndef FD_form_tabular_h_
+#define FD_form_tabular_h_
+
+/** Callbacks, globals and object handlers **/
+extern "C" void TabularCloseCB(FL_OBJECT *, long);
+
+extern "C" void TabularInputCB(FL_OBJECT *, long);
+
+extern "C" void TabularInputCB(FL_OBJECT *, long);
+
+extern "C" void TabularInputCB(FL_OBJECT *, long);
+
+extern "C" void TabularInputCB(FL_OBJECT *, long);
+
+extern "C" void TabularOKCB(FL_OBJECT *, long);
+extern "C" void TabularApplyCB(FL_OBJECT *, long);
+extern "C" void TabularCancelCB(FL_OBJECT *, long);
+
+
+/**** Forms and Objects ****/
+typedef struct {
+ FL_FORM *form_tabular;
+ void *vdata;
+ char *cdata;
+ long ldata;
+ FL_OBJECT *tabFolder;
+ FL_OBJECT *button_close;
+ FL_OBJECT *input_tabular_column;
+ FL_OBJECT *input_tabular_row;
+ FL_OBJECT *text_warning;
+} FD_form_tabular;
+
+typedef struct {
+ FL_FORM *form_tabular_options;
+ void *vdata;
+ char *cdata;
+ long ldata;
+ FL_OBJECT *button_append_column;
+ FL_OBJECT *button_delete_column;
+ FL_OBJECT *button_append_row;
+ FL_OBJECT *button_delete_row;
+ FL_OBJECT *button_set_borders;
+ FL_OBJECT *button_unset_borders;
+ FL_OBJECT *radio_longtable;
+ FL_OBJECT *radio_rotate_tabular;
+} FD_form_tabular_options;
+
+typedef struct {
+ FL_FORM *form_column_options;
+ void *vdata;
+ char *cdata;
+ long ldata;
+ FL_OBJECT *radio_border_top;
+ FL_OBJECT *radio_border_bottom;
+ FL_OBJECT *radio_border_left;
+ FL_OBJECT *radio_border_right;
+ FL_OBJECT *radio_align_left;
+ FL_OBJECT *radio_align_right;
+ FL_OBJECT *radio_align_center;
+ FL_OBJECT *input_column_width;
+ FL_OBJECT *radio_valign_top;
+ FL_OBJECT *radio_valign_center;
+ FL_OBJECT *radio_valign_bottom;
+ FL_OBJECT *input_special_alignment;
+} FD_form_column_options;
+
+typedef struct {
+ FL_FORM *form_cell_options;
+ void *vdata;
+ char *cdata;
+ long ldata;
+ FL_OBJECT *radio_multicolumn;
+ FL_OBJECT *radio_linebreak_cell;
+ FL_OBJECT *radio_rotate_cell;
+ FL_OBJECT *input_special_multialign;
+ FL_OBJECT *input_mcolumn_width;
+ FL_OBJECT *radio_border_top;
+ FL_OBJECT *radio_border_bottom;
+ FL_OBJECT *radio_border_left;
+ FL_OBJECT *radio_border_right;
+ FL_OBJECT *radio_align_left;
+ FL_OBJECT *radio_align_right;
+ FL_OBJECT *radio_align_center;
+ FL_OBJECT *radio_valign_top;
+ FL_OBJECT *radio_valign_center;
+ FL_OBJECT *radio_valign_bottom;
+} FD_form_cell_options;
+
+typedef struct {
+ FL_FORM *form_longtable_options;
+ void *vdata;
+ char *cdata;
+ long ldata;
+ FL_OBJECT *radio_lt_firsthead;
+ FL_OBJECT *radio_lt_head;
+ FL_OBJECT *radio_lt_foot;
+ FL_OBJECT *radio_lt_lastfoot;
+ FL_OBJECT *radio_lt_newpage;
+} FD_form_longtable_options;
+
+typedef struct {
+ FL_FORM *form_create_tabular;
+ void *vdata;
+ char *cdata;
+ long ldata;
+ FL_OBJECT *button_ok;
+ FL_OBJECT *button_apply;
+ FL_OBJECT *button_cancel;
+ FL_OBJECT *slider_columns;
+ FL_OBJECT *slider_rows;
+} FD_form_create_tabular;
+
+
+#endif /* FD_form_tabular_h_ */
--- /dev/null
+Magic: 13000
+
+Internal Form Definition File
+ (do not change)
+
+Number of forms: 6
+Unit of measure: FL_COORD_PIXEL
+SnapGrid: 5
+
+=============== FORM ===============
+Name: form_tabular
+Width: 510
+Height: 340
+Number of Objects: 6
+
+--------------------
+class: FL_BOX
+type: FLAT_BOX
+box: 0 0 510 340
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TABFOLDER
+type: TOP_TABFOLDER
+box: 10 10 485 240
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_TOP_LEFT
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Tabbed folder
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: tabFolder
+callback:
+argument:
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 395 300 100 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Close|#C
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_close
+callback: TabularCloseCB
+argument: 0
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 15 300 60 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_TOP_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Column
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_tabular_column
+callback:
+argument:
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 85 300 60 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_TOP_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Row
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_tabular_row
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 10 250 485 30
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: text_warning
+callback:
+argument:
+
+=============== FORM ===============
+Name: form_tabular_options
+Width: 485
+Height: 220
+Number of Objects: 11
+
+--------------------
+class: FL_BOX
+type: UP_BOX
+box: 0 0 485 220
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 280 20 120 75
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 10 40 120 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Append Column|#A
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_append_column
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 140 40 120 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Delete Column|#O
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_delete_column
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 10 70 120 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Append Row|#p
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_append_row
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 140 70 120 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Delete Row|#w
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_delete_row
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 10 10 120 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Set Borders|#S
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_set_borders
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 140 10 120 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Unset Borders|#U
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_unset_borders
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 280 30 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Longtable
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_longtable
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 280 55 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Rotate 90°|#9
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_rotate_tabular
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 285 10 100 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Spec. Table
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+=============== FORM ===============
+Name: form_column_options
+Width: 485
+Height: 220
+Number of Objects: 21
+
+--------------------
+class: FL_BOX
+type: UP_BOX
+box: 0 0 485 220
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 20 20 170 105
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 25 10 70 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Borders
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 85 45 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_TOP_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Top|#t
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_top
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 85 75 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_BOTTOM_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Bottom|#b
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_bottom
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 65 60 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Left|#l
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_left
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 105 60 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_RIGHT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Right|#r
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_right
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 200 20 130 105
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 205 10 115 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: H. Alignment
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 205 30 110 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Left|#e
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_left
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 205 55 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Right|#i
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_right
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 205 80 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Center|#c
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_center
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 375 150 95 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Width of column:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_column_width
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 340 20 130 105
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 345 30 110 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Top|#p
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_valign_top
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 345 55 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Center|#n
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_valign_center
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 345 80 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Bottom|#o
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_valign_bottom
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 345 10 115 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: V. Alignment
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 20 140 220 50
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 30 150 200 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_special_alignment
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 25 130 170 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Special Column Alignment
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+=============== FORM ===============
+Name: form_cell_options
+Width: 485
+Height: 220
+Number of Objects: 26
+
+--------------------
+class: FL_BOX
+type: UP_BOX
+box: 0 0 485 220
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 10 110 180 100
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 15 100 70 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Borders
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 195 110 130 100
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 200 100 115 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: H. Alignment
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 340 110 130 100
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 345 100 115 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: V. Alignment
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 10 15 150 85
+boxtype: FL_NO_BOX
+colors: FL_BLACK FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 15 5 140 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Special Cell
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 10 25 145 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Multicolumn|#M
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_multicolumn
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 10 50 145 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Linebreaks|#N
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_linebreak_cell
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 10 75 145 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Rotate 90°
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_rotate_cell
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 165 15 305 85
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 175 30 280 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_special_multialign
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 170 5 290 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Special Multicolumn Alignment
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_INPUT
+type: NORMAL_INPUT
+box: 360 65 95 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Width of multi-column:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: input_mcolumn_width
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 75 135 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_TOP_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Top|#t
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_top
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 75 165 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_BOTTOM_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Bottom|#b
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_bottom
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 55 150 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Left|#l
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_left
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 95 150 25 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_RIGHT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Right|#r
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_border_right
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 195 120 110 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Left|#e
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_left
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 195 145 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Right|#i
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_right
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 195 170 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Center|#c
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_align_center
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 340 120 110 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Top|#p
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_valign_top
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 340 145 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Center|#n
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_valign_center
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: RADIO_BUTTON
+box: 340 170 115 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Bottom|#o
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_valign_bottom
+callback: TabularInputCB
+argument: 0
+
+=============== FORM ===============
+Name: form_longtable_options
+Width: 485
+Height: 220
+Number of Objects: 12
+
+--------------------
+class: FL_BOX
+type: UP_BOX
+box: 0 0 485 220
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 10 20 100 75
+boxtype: FL_NO_BOX
+colors: FL_BLACK FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 15 10 85 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Header
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 15 30 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: First Head
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_lt_firsthead
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 15 60 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Head
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_lt_head
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 130 20 100 75
+boxtype: FL_NO_BOX
+colors: FL_BLACK FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 135 10 85 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Footer
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 135 30 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Foot
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_lt_foot
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 135 60 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: Last Foot
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_lt_lastfoot
+callback: TabularInputCB
+argument: 0
+
+--------------------
+class: FL_FRAME
+type: ENGRAVED_FRAME
+box: 245 20 95 75
+boxtype: FL_NO_BOX
+colors: FL_BLACK FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_TEXT
+type: NORMAL_TEXT
+box: 250 10 85 20
+boxtype: FL_FLAT_BOX
+colors: FL_COL1 FL_MCOL
+alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE
+style: FL_BOLD_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Special
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_CHECKBUTTON
+type: PUSH_BUTTON
+box: 250 30 90 25
+boxtype: FL_NO_BOX
+colors: FL_COL1 FL_YELLOW
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label: New Page
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: radio_lt_newpage
+callback: TabularInputCB
+argument: 0
+
+=============== FORM ===============
+Name: form_create_tabular
+Width: 310
+Height: 130
+Number of Objects: 6
+
+--------------------
+class: FL_BOX
+type: UP_BOX
+box: 0 0 310 130
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_DEFAULT_SIZE
+lcol: FL_BLACK
+label:
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name:
+callback:
+argument:
+
+--------------------
+class: FL_BUTTON
+type: RETURN_BUTTON
+box: 10 90 90 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: OK
+shortcut: ^M
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_ok
+callback: TabularOKCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 110 90 90 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Apply|#A
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_apply
+callback: TabularApplyCB
+argument: 0
+
+--------------------
+class: FL_BUTTON
+type: NORMAL_BUTTON
+box: 210 90 90 30
+boxtype: FL_UP_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_CENTER
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Cancel|^[
+shortcut:
+resize: FL_RESIZE_ALL
+gravity: FL_NoGravity FL_NoGravity
+name: button_cancel
+callback: TabularCancelCB
+argument: 0
+
+--------------------
+class: FL_VALSLIDER
+type: HOR_SLIDER
+box: 80 50 220 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Columns
+shortcut:
+resize: FL_RESIZE_X
+gravity: FL_NoGravity FL_NoGravity
+name: slider_columns
+callback:
+argument:
+
+--------------------
+class: FL_VALSLIDER
+type: HOR_SLIDER
+box: 80 10 220 30
+boxtype: FL_DOWN_BOX
+colors: FL_COL1 FL_COL1
+alignment: FL_ALIGN_LEFT
+style: FL_NORMAL_STYLE
+size: FL_NORMAL_SIZE
+lcol: FL_BLACK
+label: Rows
+shortcut:
+resize: FL_RESIZE_X
+gravity: FL_NoGravity FL_NoGravity
+name: slider_rows
+callback:
+argument:
+
+==============================
+create_the_forms
SRCS := form_citation.fd \
form_copyright.fd \
form_preferences.fd \
- form_print.fd
+ form_print.fd \
+ form_tabular.fd
OBJS := $(SRCS:.fd=.c)
distclean: clean
rm -f *.orig *.rej *~
-install: updatesrc
+install: clean updatesrc
cp *.C *.h ..
#include "LyXView.h"
#include "lyxfunc.h"
#include "insets/insettext.h"
+#include "frontends/Dialogs.h"
extern void MenuLayoutTabular(bool, InsetTabular *);
extern bool UpdateLayoutTabular(bool, InsetTabular *);
#define cellstart(p) ((p % 2) == 0)
+//#define USE_NEW_LAYOUT 1
+
InsetTabular::InsetTabular(Buffer * buf, int rows, int columns)
{
if (rows <= 0)
InsetTabular::~InsetTabular()
{
delete tabular;
+#ifdef USE_NEW_LAYOUT
+ if (buffer->getUser())
+ buffer->getUser()->owner()->getDialogs()->hideTabular(this);
+#endif
}
}
-void InsetTabular::InsetButtonRelease(BufferView * bv,
- int x, int y, int button)
-{
- if (button == 3) {
- if (the_locking_inset) {
- UpdatableInset * i;
- if ((i=the_locking_inset->GetFirstLockingInsetOfType(TABULAR_CODE))) {
- i->InsetButtonRelease(bv, x, y, button);
- return;
- }
- }
- MenuLayoutTabular(true, this);
- return;
- }
- if (the_locking_inset) {
- the_locking_inset->InsetButtonRelease(bv, x-inset_x, y-inset_y,button);
- return;
- }
- no_selection = false;
-}
-
-
void InsetTabular::InsetButtonPress(BufferView * bv, int x, int y, int button)
{
if (hasSelection()) {
ActivateCellInset(bv, x, y, button);
the_locking_inset->InsetButtonPress(bv, x-inset_x, y-inset_y, button);
}
-
+}
+
+
+void InsetTabular::InsetButtonRelease(BufferView * bv,
+ int x, int y, int button)
+{
+ if (button == 3) {
+ if (the_locking_inset) {
+ UpdatableInset * i;
+ if ((i=the_locking_inset->GetFirstLockingInsetOfType(TABULAR_CODE))) {
+ i->InsetButtonRelease(bv, x, y, button);
+ return;
+ }
+ }
+#ifdef USE_NEW_LAYOUT
+ bv->owner()->getDialogs()->showTabular(this);
#if 0
- if (button == 3)
- bview->getOwner()->getPopups().showFormTabular();
- else if (ocell != actcell)
- bview->getOwner()->getPopups().updateFormTabular();
+ else if (ocell != actcell)
+ bview->getOwner()->getPopups().updateTabular();
+#endif
+#else
+ MenuLayoutTabular(true, this);
#endif
+ return;
+ }
+ if (the_locking_inset) {
+ the_locking_inset->InsetButtonRelease(bv, x-inset_x, y-inset_y,button);
+ return;
+ }
+ no_selection = false;
}
class Painter;
class BufferView;
class Buffer;
+class Dialogs;
class InsetTabular : public UpdatableInset {
public:
fl_set_form_atclose(fd_form_preamble->form_preamble,
CancelCloseBoxCB, 0);
+#ifndef NEW_TABULAR
// the table form
fd_form_table = create_form_form_table();
fl_set_form_atclose(fd_form_table->form_table, CancelCloseBoxCB, 0);
fl_set_slider_precision(fd_form_table->slider_rows, 0);
fl_set_slider_precision(fd_form_table->slider_columns, 0);
lyxerr[Debug::INIT] << "Initializing form_table...done" << endl;
+#endif
// the sendto form
fd_form_sendto = create_form_form_sendto();
}
case LFUN_TABLE:
+#ifndef NEW_TABULAR
Table();
+#else
+ owner->getDialogs()->showTabularCreate();
+#endif
break;
case LFUN_FIGURE:
///
bool bottom_line;
///
+ bool left_line;
+ ///
+ bool right_line;
+ ///
bool linebreaks;
///
int rotate;