]> git.lyx.org Git - features.git/commitdiff
Remove all xforms code from gtk frontends
authorJohn Spray <spray@lyx.org>
Tue, 24 Jan 2006 14:05:09 +0000 (14:05 +0000)
committerJohn Spray <spray@lyx.org>
Tue, 24 Jan 2006 14:05:09 +0000 (14:05 +0000)
Add GTabular class
Add GtkLengthEntry class

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10772 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/gtk/ChangeLog
src/frontends/gtk/Dialogs.C
src/frontends/gtk/GTabular.C [new file with mode: 0644]
src/frontends/gtk/GTabular.h [new file with mode: 0644]
src/frontends/gtk/GtkLengthEntry.C [new file with mode: 0644]
src/frontends/gtk/GtkLengthEntry.h [new file with mode: 0644]
src/frontends/gtk/Makefile.am
src/frontends/gtk/glade/Makefile.am
src/frontends/gtk/glade/tabular.glade [new file with mode: 0644]
src/frontends/gtk/lyx_gui.C

index d34204ecb210b12e1601be02174e513fd179b845..e940600e1c83ff6c8daa6f6990820a757e94e01e 100644 (file)
@@ -1,4 +1,10 @@
+2006-01-24  John Spray <spray@lyx.org>
+       * GTabular.[Ch], glade/tabular.glade: Add tabular dialog (incomplete)
+       * LyXGtkLengthEntry.[Ch]: Add length entry widget
+       * Dialogs.C, Makefile.am, lyx_gui.C: Remove xforms references
+
 2006-01-23  John Spray <spray@lyx.org>
+
        * LyXGdkImage.[Ch]: replace xforms Image class
        * Makefile.am: build LyXGdkImage
        * GPainter.C: use new Gdk Image class
index 20c31d7fbd0b38ffe4c73350fb067a4bbc4013e9..92683dee69bde77d10d55af294ec33492d33a360 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * \file xforms/Dialogs.C
+// * \file xforms/Dialogs.C
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
@@ -21,8 +21,6 @@
 #include "Dialogs.h"
 #include "Dialog.h"
 
-#include "Tooltips.h"
-
 #include "ControlAboutlyx.h"
 #include "ControlBibtex.h"
 #include "ControlBox.h"
 #include "GText.h"
 #include "GMathDelim.h"
 #include "GBibItem.h"
-#include "FormBibtex.h"
+//#include "FormBibtex.h"
 #include "GBox.h"
-#include "FormBranch.h"
+//#include "FormBranch.h"
 #include "GChanges.h"
 #include "GCharacter.h"
 #include "GCitation.h"
 #include "GDocument.h"
 #include "GErrorList.h"
 #include "GERT.h"
-#include "FormExternal.h"
+//#include "FormExternal.h"
 #include "GFloat.h"
 #include "GGraphics.h"
 #include "GInclude.h"
 #include "GLog.h"
 #include "GMathPanel.h"
-#include "FormMathsBitmap.h"
+//#include "FormMathsBitmap.h"
 #include "GMathsMatrix.h"
-#include "FormMathsSpace.h"
-#include "FormMathsStyle.h"
+//#include "FormMathsSpace.h"
+//#include "FormMathsStyle.h"
 #include "GNote.h"
 #include "GParagraph.h"
-#include "FormPreamble.h"
-#include "FormPreferences.h"
+//#include "FormPreamble.h"
+//#include "FormPreferences.h"
 #include "GPrint.h"
 #include "GRef.h"
 #include "GSearch.h"
 #include "GSendto.h"
-#include "FormTabular.h"
+#include "GTabular.h"
 #include "GTexinfo.h"
 #include "GShowFile.h"
 #include "GSpellchecker.h"
 #include "GToc.h"
 #include "GUrl.h"
 #include "GVSpace.h"
-#include "FormWrap.h"
+//#include "FormWrap.h"
 
 #ifdef HAVE_LIBAIKSAURUS
 #include "ControlThesaurus.h"
 #include "GThesaurus.h"
 #endif
 
-#include "xformsBC.h"
+//#include "xformsBC.h"
 #include "ButtonController.h"
 
 #include "arrows.xbm"
@@ -130,12 +128,12 @@ using namespace lyx::frontend;
 
 namespace {
 
-FormMathsBitmap * createFormBitmap(Dialog & parent, string const & title,
-                                  char const * const * data, int size)
-{
-       char const * const * const end = data + size;
-       return new FormMathsBitmap(parent, title, std::vector<string>(data, end));
-}
+//FormMathsBitmap * createFormBitmap(Dialog & parent, string const & title,
+//                                char const * const * data, int size)
+//{
+//     char const * const * const end = data + size;
+//     return new FormMathsBitmap(parent, title, std::vector<string>(data, end));
+//}
 
 
 char const * const dialognames[] = {
@@ -194,9 +192,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GBibItem(*dialog));
                dialog->bc().bp(new OkCancelReadOnlyPolicy);
        } else if (name == "bibtex") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlBibtex(*dialog));
-               dialog->setView(new FormBibtex(*dialog));
+//             dialog->setView(new FormBibtex(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "box") {
                dialog->bc().view(new GBC(dialog->bc()));
@@ -234,9 +232,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GERT(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "external") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlExternal(*dialog));
-               dialog->setView(new FormExternal(*dialog));
+//             dialog->setView(new FormExternal(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "file") {
                dialog->bc().view(new GBC(dialog->bc()));
@@ -288,176 +286,176 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathaccents") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Maths Decorations & Accents"),
-                                        latex_deco, nr_latex_deco);
-               bitmap->addBitmap(
-                       BitmapStore(12, 3, 4, deco1_width, deco1_height, deco1_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(10, 4, 3, deco2_width, deco2_height, deco2_bits, true));
-
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Maths Decorations & Accents"),
+//                                      latex_deco, nr_latex_deco);
+//             bitmap->addBitmap(
+//                     BitmapStore(12, 3, 4, deco1_width, deco1_height, deco1_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(10, 4, 3, deco2_width, deco2_height, deco2_bits, true));
+
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "matharrows") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Arrows"), latex_arrow, nr_latex_arrow);
-               bitmap->addBitmap(
-                       BitmapStore(20, 5, 4, arrow_width,  arrow_height,  arrow_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(7,  2, 4, larrow_width, larrow_height, larrow_bits, false));
-               bitmap->addBitmap(
-                       BitmapStore(4,  2, 2, darrow_width,  darrow_height, darrow_bits, true));
-
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Arrows"), latex_arrow, nr_latex_arrow);
+//             bitmap->addBitmap(
+//                     BitmapStore(20, 5, 4, arrow_width,  arrow_height,  arrow_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(7,  2, 4, larrow_width, larrow_height, larrow_bits, false));
+//             bitmap->addBitmap(
+//                     BitmapStore(4,  2, 2, darrow_width,  darrow_height, darrow_bits, true));
+
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathoperators") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Binary Ops"),
-                                        latex_bop, nr_latex_bop);
-               bitmap->addBitmap(
-                       BitmapStore(31, 4, 8, bop_width, bop_height, bop_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Binary Ops"),
+//                                      latex_bop, nr_latex_bop);
+//             bitmap->addBitmap(
+//                     BitmapStore(31, 4, 8, bop_width, bop_height, bop_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathrelations") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Binary Relations"),
-                                        latex_brel, nr_latex_brel);
-               bitmap->addBitmap(
-                       BitmapStore(35, 4, 9, brel_width, brel_height, brel_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Binary Relations"),
+//                                      latex_brel, nr_latex_brel);
+//             bitmap->addBitmap(
+//                     BitmapStore(35, 4, 9, brel_width, brel_height, brel_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathgreek") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Greek"),
-                                        latex_greek, nr_latex_greek);
-               bitmap->addBitmap(
-                       BitmapStore(11, 6, 2, Greek_width, Greek_height, Greek_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(28, 7, 4, greek_width, greek_height, greek_bits, true));
-
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Greek"),
+//                                      latex_greek, nr_latex_greek);
+//             bitmap->addBitmap(
+//                     BitmapStore(11, 6, 2, Greek_width, Greek_height, Greek_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(28, 7, 4, greek_width, greek_height, greek_bits, true));
+
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathmisc") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Misc"),
-                                        latex_misc, nr_latex_misc);
-               bitmap->addBitmap(
-                       BitmapStore(29, 5, 6, misc_width, misc_height, misc_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(5, 5, 1, misc4_width, misc4_height, misc4_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(6, 3, 2, misc2_width, misc2_height, misc2_bits, false));
-               bitmap->addBitmap(
-                       BitmapStore(4, 2, 2, misc3_width, misc3_height, misc3_bits, true));
-
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Misc"),
+//                                      latex_misc, nr_latex_misc);
+//             bitmap->addBitmap(
+//                     BitmapStore(29, 5, 6, misc_width, misc_height, misc_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(5, 5, 1, misc4_width, misc4_height, misc4_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(6, 3, 2, misc2_width, misc2_height, misc2_bits, false));
+//             bitmap->addBitmap(
+//                     BitmapStore(4, 2, 2, misc3_width, misc3_height, misc3_bits, true));
+
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathdots") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Dots"),
-                                        latex_dots, nr_latex_dots);
-               bitmap->addBitmap(
-                       BitmapStore(4, 4, 1, dots_width, dots_height, dots_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Dots"),
+//                                      latex_dots, nr_latex_dots);
+//             bitmap->addBitmap(
+//                     BitmapStore(4, 4, 1, dots_width, dots_height, dots_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathbigoperators") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("Big Operators"),
-                                        latex_varsz, nr_latex_varsz);
-               bitmap->addBitmap(
-                       BitmapStore(14, 3, 5, varsz_width, varsz_height, varsz_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("Big Operators"),
+//                                      latex_varsz, nr_latex_varsz);
+//             bitmap->addBitmap(
+//                     BitmapStore(14, 3, 5, varsz_width, varsz_height, varsz_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathamsmisc") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("AMS Misc"),
-                                        latex_ams_misc, nr_latex_ams_misc);
-               bitmap->addBitmap(
-                       BitmapStore(9, 5, 2, ams1_width, ams1_height, ams1_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(26, 3, 9, ams7_width, ams7_height, ams7_bits, true));
-
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("AMS Misc"),
+//                                      latex_ams_misc, nr_latex_ams_misc);
+//             bitmap->addBitmap(
+//                     BitmapStore(9, 5, 2, ams1_width, ams1_height, ams1_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(26, 3, 9, ams7_width, ams7_height, ams7_bits, true));
+
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathamsarrows") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("AMS Arrows"),
-                                        latex_ams_arrows, nr_latex_ams_arrows);
-               bitmap->addBitmap(
-                       BitmapStore(32, 3, 11, ams2_width, ams2_height, ams2_bits, true));
-               bitmap->addBitmap(
-                       BitmapStore(6, 3, 2, ams3_width, ams3_height, ams3_bits, true));
-
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("AMS Arrows"),
+//                                      latex_ams_arrows, nr_latex_ams_arrows);
+//             bitmap->addBitmap(
+//                     BitmapStore(32, 3, 11, ams2_width, ams2_height, ams2_bits, true));
+//             bitmap->addBitmap(
+//                     BitmapStore(6, 3, 2, ams3_width, ams3_height, ams3_bits, true));
+
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathamsrelations") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("AMS Relations"),
-                                        latex_ams_rel, nr_latex_ams_rel);
-               bitmap->addBitmap(
-                       BitmapStore(66, 6, 11, ams_rel_width, ams_rel_height, ams_rel_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("AMS Relations"),
+//                                      latex_ams_rel, nr_latex_ams_rel);
+//             bitmap->addBitmap(
+//                     BitmapStore(66, 6, 11, ams_rel_width, ams_rel_height, ams_rel_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathamsnegatedrelations") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("AMS Negated Rel"),
-                                        latex_ams_nrel, nr_latex_ams_nrel);
-               bitmap->addBitmap(
-                       BitmapStore(51, 6, 9, ams_nrel_width, ams_nrel_height, ams_nrel_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("AMS Negated Rel"),
+//                                      latex_ams_nrel, nr_latex_ams_nrel);
+//             bitmap->addBitmap(
+//                     BitmapStore(51, 6, 9, ams_nrel_width, ams_nrel_height, ams_nrel_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathamsoperators") {
-               FormMathsBitmap * bitmap =
-                       createFormBitmap(*dialog, _("AMS Operators"),
-                                        latex_ams_ops, nr_latex_ams_ops);
-               bitmap->addBitmap(
-                       BitmapStore(23, 3, 8, ams_ops_width, ams_ops_height, ams_ops_bits, true));
+//             FormMathsBitmap * bitmap =
+//                     createFormBitmap(*dialog, _("AMS Operators"),
+//                                      latex_ams_ops, nr_latex_ams_ops);
+//             bitmap->addBitmap(
+//                     BitmapStore(23, 3, 8, ams_ops_width, ams_ops_height, ams_ops_bits, true));
 
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(bitmap);
+//             dialog->setView(bitmap);
                dialog->bc().bp(new IgnorantPolicy);
 
        } else if (name == "mathdelimiter") {
@@ -471,14 +469,14 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GMathsMatrix(*dialog));
                dialog->bc().bp(new OkCancelReadOnlyPolicy);
        } else if (name == "mathspace") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(new FormMathsSpace(*dialog));
+//             dialog->setView(new FormMathsSpace(*dialog));
                dialog->bc().bp(new IgnorantPolicy);
        } else if (name == "mathstyle") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlMath(*dialog));
-               dialog->setView(new FormMathsStyle(*dialog));
+//             dialog->setView(new FormMathsStyle(*dialog));
                dialog->bc().bp(new IgnorantPolicy);
        } else if (name == "note") {
                dialog->bc().view(new GBC(dialog->bc()));
@@ -486,9 +484,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GNote(*dialog));
                dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
        } else if (name == "branch") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlBranch(*dialog));
-               dialog->setView(new FormBranch(*dialog));
+//             dialog->setView(new FormBranch(*dialog));
                dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
        } else if (name == "paragraph") {
                dialog->bc().view(new GBC(dialog->bc()));
@@ -496,14 +494,14 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GParagraph(*dialog));
                dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
        } else if (name == "preamble") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlPreamble(*dialog));
-               dialog->setView(new FormPreamble(*dialog));
+//             dialog->setView(new FormPreamble(*dialog));
                dialog->bc().bp(new OkApplyCancelPolicy);
        } else if (name == "prefs") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlPrefs(*dialog));
-               dialog->setView(new FormPreferences(*dialog));
+//             dialog->setView(new FormPreferences(*dialog));
                dialog->bc().bp(new PreferencesPolicy);
        } else if (name == "print") {
                dialog->bc().view(new GBC(dialog->bc()));
@@ -526,9 +524,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GSpellchecker(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "tabular") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+               dialog->bc().view(new GBC(dialog->bc()));
                dialog->setController(new ControlTabular(*dialog));
-               dialog->setView(new FormTabular(*dialog));
+               dialog->setView(new GTabular(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "tabularcreate") {
                dialog->bc().view(new GBC(dialog->bc()));
@@ -563,9 +561,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new GVSpace(*dialog));
                dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
        } else if (name == "wrap") {
-               dialog->bc().view(new xformsBC(dialog->bc()));
+//             dialog->bc().view(new xformsBC(dialog->bc()));
                dialog->setController(new ControlWrap(*dialog));
-               dialog->setView(new FormWrap(*dialog));
+//             dialog->setView(new FormWrap(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        }
 
@@ -575,12 +573,14 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
 
 void Dialogs::toggleTooltips()
 {
-       Tooltips::toggleEnabled();
+       // Turning off tooltips is not necessary and will
+       // not be implemented by me - jcs
+//     Tooltips::toggleEnabled();
 }
 
 
 /// Are the tooltips on or off?
 bool Dialogs::tooltipsEnabled()
 {
-       return Tooltips::enabled();
+//     return Tooltips::enabled();
 }
diff --git a/src/frontends/gtk/GTabular.C b/src/frontends/gtk/GTabular.C
new file mode 100644 (file)
index 0000000..3cc5d16
--- /dev/null
@@ -0,0 +1,200 @@
+/**
+ * \file GTabular.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+// Too hard to make concept checks work with this file
+#ifdef _GLIBCXX_CONCEPT_CHECKS
+#undef _GLIBCXX_CONCEPT_CHECKS
+#endif
+#ifdef _GLIBCPP_CONCEPT_CHECKS
+#undef _GLIBCPP_CONCEPT_CHECKS
+#endif
+
+#include "GTabular.h"
+#include "ControlTabular.h"
+
+#include "ghelpers.h"
+
+#include "controllers/helper_funcs.h"
+
+#include "debug.h"
+
+using std::string;
+using std::vector;
+
+/*
+class GtkLengthEntry : public Gtk::HBox {
+public:
+       GtkLengthEntry::GtkLengthEntry(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+
+protected:
+       Gtk::SpinButton spin_;
+       Gtk::ComboBoxText combo_;
+
+};
+
+GtkLengthEntry::GtkLengthEntry(
+       BaseObjectType* cobject,
+       const Glib::RefPtr<Gnome::Glade::Xml>& refGlade)
+: Gtk::HBox(cobject), spin_(0.1, 2)
+{
+       pack_start (spin_, true, true, 0);
+       pack_start (combo_, true, true, 0);
+       spin_.set_range(0.0, 99999.0f);
+       set_spacing(6);
+       show_all();
+}*/
+
+
+
+namespace lyx {
+
+namespace frontend {
+
+namespace {
+string defaultUnit("cm");
+} // namespace anon
+
+GTabular::GTabular(Dialog & parent)
+       : GViewCB<ControlTabular, GViewGladeB>(parent, _("Table Settings"), false)
+{}
+
+
+void GTabular::doBuild()
+{
+       string const gladeName = findGladeFile("tabular");
+       xml_ = Gnome::Glade::Xml::create(gladeName);
+
+       Gtk::Button * button;
+       xml_->get_widget("Close", button);
+       setCancel(button);
+
+
+       // **** Current cell coords ****
+       xml_->get_widget("CurrentRow", cellrowspin_);
+       xml_->get_widget("CurrentColumn", cellcolspin_);
+
+       // **** Table tab ****
+       xml_->get_widget("HorizontalAlignment", horzaligncombo_);
+       xml_->get_widget("VerticalAlignment", vertaligncombo_);
+       xml_->get_widget("SpecifyWidth", specifywidthcheck_);
+       xml_->get_widget_derived ("Width", widthlength_);
+       xml_->get_widget("LaTeXArgument", latexargsentry_);
+       xml_->get_widget("RotateTable", rotatetablecheck_);
+
+       // **** This Cell tab ****
+       xml_->get_widget("UpperBorder", upperbordercheck_);
+       xml_->get_widget("LowerBorder", lowerbordercheck_);
+       xml_->get_widget("LeftBorder", leftbordercheck_);
+       xml_->get_widget("RightBorder", rightbordercheck_);
+       xml_->get_widget("RotateCell", rotatecellcheck_);
+       xml_->get_widget("MultiColumn", multicolcheck_);
+       xml_->get_widget("NoBorders", button);
+       button->signal_clicked().connect(
+               sigc::bind(sigc::mem_fun(*this, &GTabular::allBorders), false));
+       xml_->get_widget("AllBorders", button);
+       button->signal_clicked().connect(
+               sigc::bind(sigc::mem_fun(*this, &GTabular::allBorders), true));
+
+       // **** Longtable tab ****
+
+       // Disable for read-only documents.
+//     bcview().addReadOnly(browsebutton_);
+
+}
+
+
+void GTabular::apply()
+{
+       
+}
+
+
+void GTabular::update()
+{
+       LyXTabular const & tabular = controller().tabular();
+       LyXTabular::idx_type const cell = controller().getActiveCell();
+       bool multicol = tabular.isMultiColumn(cell);
+
+       cellcolspin_->get_adjustment()->set_value(tabular.column_of_cell (cell)+1);
+       cellrowspin_->get_adjustment()->set_value(tabular.row_of_cell (cell));
+
+       // **** Table tab ****
+       int align = tabular.getAlignment(cell);
+       if (align == LYX_ALIGN_RIGHT)
+               horzaligncombo_->set_active(2);
+       else if (align == LYX_ALIGN_CENTER)
+               horzaligncombo_->set_active(1);
+       else
+               horzaligncombo_->set_active(0);
+
+       align = tabular.getVAlignment(cell);
+       if (align == LyXTabular::LYX_VALIGN_BOTTOM)
+               vertaligncombo_->set_active(2);
+       else if (align == LyXTabular::LYX_VALIGN_MIDDLE)
+               vertaligncombo_->set_active(1);
+       else
+               vertaligncombo_->set_active(0);
+
+
+        LyXLength pwidth;
+        string special;
+
+        if (multicol) {
+                special = tabular.getAlignSpecial(cell, LyXTabular::SET_SPECIAL_MULTI);
+                pwidth = tabular.getMColumnPWidth(cell);
+        } else {
+                special = tabular.getAlignSpecial(cell, LyXTabular::SET_SPECIAL_COLUMN);
+                pwidth = tabular.getColumnPWidth(cell);
+        }
+
+       latexargsentry_->set_text(special);
+       specifywidthcheck_->set_active(!pwidth.zero());
+       widthlength_->set_length(pwidth);
+       rotatetablecheck_->set_active(tabular.getRotateTabular());
+
+       //TODO: insert 'Block' entry into halign as neccessary
+
+
+       // **** This Cell tab ****
+       multicolcheck_->set_active(multicol);
+       rotatecellcheck_->set_active(tabular.getRotateCell(cell));
+}
+
+
+void GTabular::onInput()
+{
+       updateSensitivity();
+}
+
+
+void GTabular::allBorders(bool borders)
+{
+       if (upperbordercheck_->is_sensitive())
+               upperbordercheck_->set_active(borders);
+       if (lowerbordercheck_->is_sensitive())
+               lowerbordercheck_->set_active(borders);
+       if (leftbordercheck_->is_sensitive())
+               leftbordercheck_->set_active(borders);
+       if (rightbordercheck_->is_sensitive())
+               rightbordercheck_->set_active(borders);
+}
+
+
+void GTabular::updateSensitivity()
+{
+       bool specifywidth = specifywidthcheck_->get_active();
+       widthlength_->set_sensitive(specifywidth);
+       vertaligncombo_->set_sensitive(specifywidth);   
+}
+
+} // namespace frontend
+} // namespace lyx
diff --git a/src/frontends/gtk/GTabular.h b/src/frontends/gtk/GTabular.h
new file mode 100644 (file)
index 0000000..87ff169
--- /dev/null
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+/**
+ * \file GTabular.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef GTABULAR_H
+#define GTABULAR_H
+
+#include "GViewBase.h"
+
+#include "GtkLengthEntry.h"
+
+#include "lyxlength.h"
+
+#include <boost/scoped_ptr.hpp>
+#include <vector>
+
+namespace lyx {
+namespace frontend {
+
+class ControlTabular;
+
+/** This class provides a GTK+ implementation of the Tabular Dialog.
+ */
+class GTabular
+       : public GViewCB<ControlTabular, GViewGladeB> {
+public:
+       ///
+       GTabular(Dialog &);
+private:
+
+       /// Set the Params variable for the Controller.
+       virtual void apply();
+       /// Build the dialog.
+       virtual void doBuild();
+       /// Update dialog before/whilst showing it.
+       virtual void update();
+       void onInput();
+       void allBorders(bool borders);
+       void updateSensitivity();
+
+       bool updating_;
+
+       // **** Current cell coords ****
+       Gtk::SpinButton *cellrowspin_;
+       Gtk::SpinButton *cellcolspin_;
+
+       // **** Table tab ****
+       Gtk::ComboBox *horzaligncombo_;
+       Gtk::ComboBox *vertaligncombo_;
+       Gtk::CheckButton *specifywidthcheck_;
+       GtkLengthEntry *widthlength_;
+       Gtk::Entry *latexargsentry_;
+
+       Gtk::CheckButton *rotatetablecheck_;
+
+       // **** This Cell tab ****
+       Gtk::CheckButton *upperbordercheck_;
+       Gtk::CheckButton *lowerbordercheck_;
+       Gtk::CheckButton *leftbordercheck_;
+       Gtk::CheckButton *rightbordercheck_;
+       Gtk::CheckButton *rotatecellcheck_;
+       Gtk::CheckButton *multicolcheck_;
+       
+       // **** Longtable tab ****
+};
+
+} // namespace frontend
+} // namespace lyx
+
+#endif  // GTABULAR_H
diff --git a/src/frontends/gtk/GtkLengthEntry.C b/src/frontends/gtk/GtkLengthEntry.C
new file mode 100644 (file)
index 0000000..9317164
--- /dev/null
@@ -0,0 +1,81 @@
+
+/**
+ * \file GtkLengthEntry.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+// Too hard to make concept checks work with this file
+#ifdef _GLIBCXX_CONCEPT_CHECKS
+#undef _GLIBCXX_CONCEPT_CHECKS
+#endif
+#ifdef _GLIBCPP_CONCEPT_CHECKS
+#undef _GLIBCPP_CONCEPT_CHECKS
+#endif
+
+#include "GtkLengthEntry.h"
+
+
+namespace lyx {
+namespace frontend {
+
+
+GtkLengthEntry::GtkLengthEntry(
+       BaseObjectType* cobject,
+       const Glib::RefPtr<Gnome::Glade::Xml>& refGlade)
+: Gtk::HBox(cobject), spin_(0.1, 2)
+{
+
+       spin_.set_range(0.0, 99999.0f);
+       populateUnitCombo (combo_, true);
+       relative_ = true;
+
+       set_spacing(6);
+       pack_start (spin_, true, true, 0);
+       pack_start (combo_, true, true, 0);
+       show_all();
+}
+
+
+void GtkLengthEntry::set_length(LyXLength const & length)
+{
+       setWidgetsFromLength (*spin_.get_adjustment(), combo_, length);
+}
+
+
+void GtkLengthEntry::set_length(std::string const & length)
+{
+       setWidgetsFromLength (*spin_.get_adjustment(), combo_, LyXLength(length));
+}
+
+
+LyXLength const GtkLengthEntry::get_length()
+{
+       return LyXLength(getLengthFromWidgets(*spin_.get_adjustment(), combo_));
+}
+
+
+std::string const GtkLengthEntry::get_length_string()
+{
+       return getLengthFromWidgets(*spin_.get_adjustment(), combo_);
+}
+
+
+void GtkLengthEntry::set_relative(bool rel)
+{
+       combo_.clear();
+       if (rel != relative_) {
+               populateUnitCombo (combo_, rel);
+               relative_ = rel;
+       }
+}
+
+
+} // namespace frontend
+} // namespace lyx
diff --git a/src/frontends/gtk/GtkLengthEntry.h b/src/frontends/gtk/GtkLengthEntry.h
new file mode 100644 (file)
index 0000000..e684085
--- /dev/null
@@ -0,0 +1,51 @@
+
+// -*- C++ -*-
+/**
+ * \file GtkLengthEntry.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef GLENGTHENTRY_H
+#define GLENGTHENTRY_H
+
+
+#include "ghelpers.h"
+#include "lengthcommon.h"
+
+#include <gtkmm.h>
+#include <libglademm.h>
+
+
+class FuncRequest;
+
+namespace lyx {
+namespace frontend {
+
+class GtkLengthEntry : public Gtk::HBox {
+public:
+       GtkLengthEntry::GtkLengthEntry(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& refGlade);
+
+       void set_length(LyXLength const & length);
+       void set_length(std::string const & length);
+       LyXLength const get_length();
+       std::string const get_length_string();
+       void set_relative(bool rel);
+
+       Gtk::SpinButton *get_spin();
+       Gtk::ComboBoxText *get_combo();
+
+protected:
+       Gtk::SpinButton spin_;
+       Gtk::ComboBoxText combo_;
+       bool relative_;
+};
+
+} // namespace frontend
+} // namespace lyx
+
+#endif // NOT GTKLENGTHENTRY_H
index 8658901b3e9840262d7c4e31902f6889c2e0aca7..162fad8cc694e37a52988a956dd4247d509a57be 100644 (file)
@@ -14,11 +14,9 @@ AM_CPPFLAGS += \
        -I$(top_srcdir)/src \
        -I$(top_srcdir)/src/frontends \
        -I$(top_srcdir)/src/frontends/controllers \
-       -I../xforms \
-       -I$(top_srcdir)/src/frontends/xforms \
        $(BOOST_INCLUDES) @GTK_FRONTEND_CFLAGS@
 
-libgtk_la_LIBADD = $(xforms_objects) ../xforms/forms/*.lo @GTK_FRONTEND_LIBS@ @XFORMS_LIBS@
+libgtk_la_LIBADD = @GTK_FRONTEND_LIBS@
 
 # Alphabetical order please.  It makes it easier to figure out what's missing.
 libgtk_la_SOURCES = \
@@ -89,6 +87,8 @@ libgtk_la_SOURCES = \
        GSpellchecker.h \
        GTableCreate.C \
        GTableCreate.h \
+       GTabular.C \
+       GTabular.h \
        GTexinfo.C \
        GTexinfo.h \
        GText.C \
@@ -113,6 +113,10 @@ libgtk_la_SOURCES = \
        GWorkArea.h \
        GXpmBtnTbl.C \
        GXpmBtnTbl.h \
+       LyXGdkImage.C \
+       LyXGdkImage.h \
+       GtkLengthEntry.C \
+       GtkLengthEntry.h \
        GtkmmX.h \
        IdSc.C \
        IdSc.h \
@@ -131,35 +135,3 @@ libgtk_la_SOURCES = \
        xftFontLoader.h \
        xftFontMetrics.C
 
-
-xforms_objects = \
-       ../xforms/bmtable.lo \
-       ../xforms/checkedwidgets.lo \
-       ../xforms/ColorHandler.lo \
-       ../xforms/Color.lo \
-       ../xforms/combox.lo \
-       ../xforms/fdesign_base.lo \
-       ../xforms/FormBibtex.lo \
-       ../xforms/FormBranch.lo \
-       ../xforms/FormBrowser.lo \
-       ../xforms/FormColorpicker.lo \
-       ../xforms/FormDialogView.lo \
-       ../xforms/FormExternal.lo \
-       ../xforms/FormMathsBitmap.lo \
-       ../xforms/FormMathsDelim.lo \
-       ../xforms/FormMathsSpace.lo \
-       ../xforms/FormMathsStyle.lo \
-       ../xforms/FormPreamble.lo \
-       ../xforms/FormPreferences.lo \
-       ../xforms/forms_gettext.lo \
-       ../xforms/FormTabular.lo \
-       ../xforms/FormText.lo \
-       ../xforms/FormWrap.lo \
-       ../xforms/freebrowser.lo \
-       ../xforms/input_validators.lo \
-       ../xforms/RadioButtonGroup.lo \
-       ../xforms/Tooltips.lo \
-       ../xforms/xformsBC.lo \
-       ../xforms/xforms_helpers.lo \
-       ../xforms/xformsImage.lo \
-       ../xforms/xforms_resize.lo
index 7ed621a29250f0afbc9135f5f6a927446c72d7b6..69264c70bdd932cab0140332dc6c58d2d82374df 100644 (file)
@@ -28,6 +28,7 @@ dist_glade_DATA = \
        sendto.glade \
        showfile.glade \
        spellcheck.glade \
+       tabular.glade \
        tableCreate.glade \
        texinfo.glade \
        text.glade \
diff --git a/src/frontends/gtk/glade/tabular.glade b/src/frontends/gtk/glade/tabular.glade
new file mode 100644 (file)
index 0000000..f47f82b
--- /dev/null
@@ -0,0 +1,1483 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkDialog" id="dialog">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">dialog1</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="has_separator">False</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+       <widget class="GtkHButtonBox" id="dialog-action_area1">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+         <child>
+           <widget class="GtkButton" id="Close">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-close</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">-7</property>
+             <accelerator key="Escape" modifiers="0" signal="clicked"/>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkVBox" id="vbox1">
+         <property name="border_width">12</property>
+         <property name="visible">True</property>
+         <property name="homogeneous">False</property>
+         <property name="spacing">12</property>
+
+         <child>
+           <widget class="GtkNotebook" id="notebook1">
+             <property name="visible">True</property>
+             <property name="can_focus">True</property>
+             <property name="show_tabs">True</property>
+             <property name="show_border">True</property>
+             <property name="tab_pos">GTK_POS_TOP</property>
+             <property name="scrollable">False</property>
+             <property name="enable_popup">False</property>
+
+             <child>
+               <widget class="GtkVBox" id="vbox4">
+                 <property name="border_width">12</property>
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <widget class="GtkLabel" id="label15">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">&lt;b&gt;Column&lt;/b&gt;</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">True</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                     <property name="width_chars">-1</property>
+                     <property name="single_line_mode">False</property>
+                     <property name="angle">0</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkAlignment" id="alignment4">
+                     <property name="visible">True</property>
+                     <property name="xalign">0.5</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xscale">1</property>
+                     <property name="yscale">1</property>
+                     <property name="top_padding">6</property>
+                     <property name="bottom_padding">12</property>
+                     <property name="left_padding">12</property>
+                     <property name="right_padding">0</property>
+
+                     <child>
+                       <widget class="GtkTable" id="table2">
+                         <property name="visible">True</property>
+                         <property name="n_rows">5</property>
+                         <property name="n_columns">2</property>
+                         <property name="homogeneous">False</property>
+                         <property name="row_spacing">3</property>
+                         <property name="column_spacing">6</property>
+
+                         <child>
+                           <widget class="GtkLabel" id="label17">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">_Horizontal alignment:</property>
+                             <property name="use_underline">True</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">1</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label18">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">_Vertical alignment:</property>
+                             <property name="use_underline">True</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label19">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">_Width:</property>
+                             <property name="use_underline">True</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkComboBox" id="HorizontalAlignment">
+                             <property name="visible">True</property>
+                             <property name="items" translatable="yes">Left
+Center
+Right</property>
+                             <property name="add_tearoffs">False</property>
+                             <property name="focus_on_click">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">1</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkComboBox" id="VerticalAlignment">
+                             <property name="visible">True</property>
+                             <property name="items" translatable="yes">Top
+Middle
+Bottom</property>
+                             <property name="add_tearoffs">False</property>
+                             <property name="focus_on_click">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkHBox" id="hbox6">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <widget class="GtkHBox" id="Width">
+                                 <property name="visible">True</property>
+                                 <property name="homogeneous">False</property>
+                                 <property name="spacing">0</property>
+
+                                 <child>
+                                   <placeholder/>
+                                 </child>
+
+                                 <child>
+                                   <placeholder/>
+                                 </child>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">True</property>
+                                 <property name="fill">True</property>
+                               </packing>
+                             </child>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label20">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">LaTe_X argument:</property>
+                             <property name="use_underline">True</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="mnemonic_widget">LaTeXArgument</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkEntry" id="LaTeXArgument">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="editable">True</property>
+                             <property name="visibility">True</property>
+                             <property name="max_length">0</property>
+                             <property name="text" translatable="yes"></property>
+                             <property name="has_frame">True</property>
+                             <property name="invisible_char">*</property>
+                             <property name="activates_default">False</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="SpecifyWidth">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">_Specify width</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">3</property>
+                             <property name="bottom_attach">4</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+                       </widget>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">True</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label16">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">&lt;b&gt;Whole Table&lt;/b&gt;</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">True</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                     <property name="width_chars">-1</property>
+                     <property name="single_line_mode">False</property>
+                     <property name="angle">0</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkAlignment" id="alignment5">
+                     <property name="visible">True</property>
+                     <property name="xalign">0.5</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xscale">1</property>
+                     <property name="yscale">1</property>
+                     <property name="top_padding">6</property>
+                     <property name="bottom_padding">12</property>
+                     <property name="left_padding">12</property>
+                     <property name="right_padding">0</property>
+
+                     <child>
+                       <widget class="GtkVBox" id="vbox5">
+                         <property name="visible">True</property>
+                         <property name="homogeneous">False</property>
+                         <property name="spacing">6</property>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="RotateTable">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">_Rotate through 90°</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">False</property>
+                             <property name="fill">False</property>
+                           </packing>
+                         </child>
+                       </widget>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">True</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="tab_expand">False</property>
+                 <property name="tab_fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label1">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">Table</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="type">tab</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkVBox" id="vbox3">
+                 <property name="border_width">12</property>
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">6</property>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="UpperBorder">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Upper border</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="LowerBorder">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Lower border</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="LeftBorder">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">L_eft border</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="RightBorder">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Right border</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox2">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkButton" id="AllBorders">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">_All Borders</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox3">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkButton" id="NoBorders">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+
+                         <child>
+                           <widget class="GtkAlignment" id="alignment3">
+                             <property name="visible">True</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xscale">0</property>
+                             <property name="yscale">0</property>
+                             <property name="top_padding">0</property>
+                             <property name="bottom_padding">0</property>
+                             <property name="left_padding">0</property>
+                             <property name="right_padding">0</property>
+
+                             <child>
+                               <widget class="GtkHBox" id="hbox5">
+                                 <property name="visible">True</property>
+                                 <property name="homogeneous">False</property>
+                                 <property name="spacing">2</property>
+
+                                 <child>
+                                   <widget class="GtkImage" id="image2">
+                                     <property name="visible">True</property>
+                                     <property name="stock">gtk-clear</property>
+                                     <property name="icon_size">4</property>
+                                     <property name="xalign">0.5</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">0</property>
+                                     <property name="ypad">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">False</property>
+                                     <property name="fill">False</property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkLabel" id="label1">
+                                     <property name="visible">True</property>
+                                     <property name="label" translatable="yes">_No Borders</property>
+                                     <property name="use_underline">True</property>
+                                     <property name="use_markup">False</property>
+                                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                     <property name="wrap">False</property>
+                                     <property name="selectable">False</property>
+                                     <property name="xalign">0.5</property>
+                                     <property name="yalign">0.5</property>
+                                     <property name="xpad">0</property>
+                                     <property name="ypad">0</property>
+                                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                     <property name="width_chars">-1</property>
+                                     <property name="single_line_mode">False</property>
+                                     <property name="angle">0</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">False</property>
+                                     <property name="fill">False</property>
+                                   </packing>
+                                 </child>
+                               </widget>
+                             </child>
+                           </widget>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="RotateCell">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Rotate through 90°</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="MultiColumn">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Multi-column</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="tab_expand">False</property>
+                 <property name="tab_fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label2">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">This Cell</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="type">tab</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkVBox" id="vbox2">
+                 <property name="border_width">12</property>
+                 <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">6</property>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="checkbutton1">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Make this table a long table</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkCheckButton" id="checkbutton2">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="label" translatable="yes">_Page break on selected row</property>
+                     <property name="use_underline">True</property>
+                     <property name="relief">GTK_RELIEF_NORMAL</property>
+                     <property name="focus_on_click">True</property>
+                     <property name="active">False</property>
+                     <property name="inconsistent">False</property>
+                     <property name="draw_indicator">True</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label11">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">&lt;b&gt;Special Rows&lt;/b&gt;</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">True</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                     <property name="width_chars">-1</property>
+                     <property name="single_line_mode">False</property>
+                     <property name="angle">0</property>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">False</property>
+                     <property name="fill">False</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkAlignment" id="alignment1">
+                     <property name="visible">True</property>
+                     <property name="xalign">0.5</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xscale">1</property>
+                     <property name="yscale">1</property>
+                     <property name="top_padding">6</property>
+                     <property name="bottom_padding">0</property>
+                     <property name="left_padding">12</property>
+                     <property name="right_padding">0</property>
+
+                     <child>
+                       <widget class="GtkTable" id="table1">
+                         <property name="visible">True</property>
+                         <property name="n_rows">5</property>
+                         <property name="n_columns">8</property>
+                         <property name="homogeneous">False</property>
+                         <property name="row_spacing">6</property>
+                         <property name="column_spacing">12</property>
+
+                         <child>
+                           <widget class="GtkLabel" id="label4">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Header:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label5">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">First header:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label6">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Footer:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">3</property>
+                             <property name="bottom_attach">4</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label7">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Last footer:</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">0</property>
+                             <property name="right_attach">1</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label9">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Upper border</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">True</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">5</property>
+                             <property name="right_attach">6</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">1</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkLabel" id="label10">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Lower border</property>
+                             <property name="use_underline">False</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                             <property name="width_chars">-1</property>
+                             <property name="single_line_mode">False</property>
+                             <property name="angle">0</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">7</property>
+                             <property name="right_attach">8</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">1</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton3">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">On</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton6">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">On</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton7">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">On</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">3</property>
+                             <property name="bottom_attach">4</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton8">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">On</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">1</property>
+                             <property name="right_attach">2</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton9">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">5</property>
+                             <property name="right_attach">6</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton10">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">5</property>
+                             <property name="right_attach">6</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton11">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">5</property>
+                             <property name="right_attach">6</property>
+                             <property name="top_attach">3</property>
+                             <property name="bottom_attach">4</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton12">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">5</property>
+                             <property name="right_attach">6</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton13">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">7</property>
+                             <property name="right_attach">8</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton14">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">7</property>
+                             <property name="right_attach">8</property>
+                             <property name="top_attach">3</property>
+                             <property name="bottom_attach">4</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton15">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">7</property>
+                             <property name="right_attach">8</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton16">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Double</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">7</property>
+                             <property name="right_attach">8</property>
+                             <property name="top_attach">1</property>
+                             <property name="bottom_attach">2</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton4">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Empty</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">3</property>
+                             <property name="right_attach">4</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkCheckButton" id="checkbutton5">
+                             <property name="visible">True</property>
+                             <property name="can_focus">True</property>
+                             <property name="label" translatable="yes">Empty</property>
+                             <property name="use_underline">True</property>
+                             <property name="relief">GTK_RELIEF_NORMAL</property>
+                             <property name="focus_on_click">True</property>
+                             <property name="active">False</property>
+                             <property name="inconsistent">False</property>
+                             <property name="draw_indicator">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">3</property>
+                             <property name="right_attach">4</property>
+                             <property name="top_attach">4</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options"></property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkVSeparator" id="vseparator2">
+                             <property name="visible">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">6</property>
+                             <property name="right_attach">7</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkVSeparator" id="vseparator1">
+                             <property name="visible">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">4</property>
+                             <property name="right_attach">5</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkVSeparator" id="vseparator3">
+                             <property name="visible">True</property>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">2</property>
+                             <property name="right_attach">3</property>
+                             <property name="top_attach">0</property>
+                             <property name="bottom_attach">5</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+                       </widget>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="padding">0</property>
+                     <property name="expand">True</property>
+                     <property name="fill">True</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="tab_expand">False</property>
+                 <property name="tab_fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label3">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">Long Table</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="type">tab</property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">True</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkHBox" id="hbox1">
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">6</property>
+
+             <child>
+               <widget class="GtkLabel" id="label12">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">Current Cell:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                 <property name="width_chars">-1</property>
+                 <property name="single_line_mode">False</property>
+                 <property name="angle">0</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkSpinButton" id="CurrentRow">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="climb_rate">1</property>
+                 <property name="digits">0</property>
+                 <property name="numeric">True</property>
+                 <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                 <property name="snap_to_ticks">False</property>
+                 <property name="wrap">False</property>
+                 <property name="adjustment">1 1 999999 1 10 10</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkSpinButton" id="CurrentColumn">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="climb_rate">1</property>
+                 <property name="digits">0</property>
+                 <property name="numeric">True</property>
+                 <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                 <property name="snap_to_ticks">False</property>
+                 <property name="wrap">False</property>
+                 <property name="adjustment">1 1 99999 1 10 10</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <placeholder/>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">True</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
index 6b45f4e981473ceecc17fb53047408fa9f303492..9f37537d35fe8d93e64409c16d54ccbb42583dfb 100644 (file)
 #include "xftFontLoader.h"
 #include "GWorkArea.h"
 
-//just for xforms
-#include "lyx_forms.h"
-#include "xforms_helpers.h"
-
 #include "support/lyxlib.h"
 #include "support/os.h"
 #include "support/filetools.h"
@@ -79,7 +75,6 @@ using lyx::support::package;
 
 using lyx::frontend::colorCache;
 using lyx::frontend::GView;
-using lyx::frontend::XformsColor;
 
 
 extern BufferList bufferlist;
@@ -99,60 +94,14 @@ bool finished = false;
 /// estimate DPI from X server
 int getDPI()
 {
+       //TODO use GDK instead
        Screen * scr = ScreenOfDisplay(getDisplay(), getScreen());
        return int(((HeightOfScreen(scr) * 25.4 / HeightMMOfScreen(scr)) +
                (WidthOfScreen(scr) * 25.4 / WidthMMOfScreen(scr))) / 2);
 }
 
-
-/// set default GUI configuration
-void setDefaults()
-{
-       FL_IOPT cntl;
-       cntl.buttonFontSize = FL_NORMAL_SIZE;
-       cntl.browserFontSize = FL_NORMAL_SIZE;
-       cntl.labelFontSize = FL_NORMAL_SIZE;
-       cntl.choiceFontSize = FL_NORMAL_SIZE;
-       cntl.inputFontSize = FL_NORMAL_SIZE;
-       cntl.menuFontSize  = FL_NORMAL_SIZE;
-       cntl.borderWidth = -1;
-       cntl.vclass = FL_DefaultVisual;
-       fl_set_defaults(FL_PDVisual
-                       | FL_PDButtonFontSize
-                       | FL_PDBrowserFontSize
-                       | FL_PDLabelFontSize
-                       | FL_PDChoiceFontSize
-                       | FL_PDInputFontSize
-                       | FL_PDMenuFontSize
-                       | FL_PDBorderWidth, &cntl);
-}
-
-
 extern "C" {
 
-
-int LyX_XErrHandler(Display * display, XErrorEvent * xeev) {
-       // We don't abort on BadWindow
-       if (xeev->error_code == BadWindow) {
-               lyxerr << "BadWindow received !" << std::endl;
-               lyxerr << "If you're using xforms 1.0 or greater, "
-                      << " please report this to lyx-devel@lists.lyx.org"
-                      << std::endl;
-               return 0;
-       }
-
-       // emergency cleanup
-       LyX::cref().emergencyCleanup();
-
-       // Get the reason for the crash.
-       char etxt[513];
-       XGetErrorText(display, xeev->error_code, etxt, 512);
-       lyxerr << etxt << " id: " << xeev->resourceid << std::endl;
-       // By doing an abort we get a nice backtrace. (hopefully)
-       lyx::support::abort();
-       return 0;
-}
-
 }
 
 /// read in geometry specification
@@ -161,47 +110,10 @@ char geometry[40];
 } // namespace anon
 
 
-void parse_init_xforms(int & argc, char * argv[])
-{
-       setDefaults();
-
-       FL_CMD_OPT cmdopt[] = {
-               {"-geometry", "*.geometry", XrmoptionSepArg, "690x510"}
-       };
-
-       FL_resource res[] = {
-               {"geometry", "geometryClass", FL_STRING, geometry, "", 40}
-       };
-
-       const int num_res = sizeof(res)/sizeof(FL_resource);
-       fl_initialize(&argc, argv, "LyX", cmdopt, num_res);
-
-       // It appears that, in xforms >=0.89.5, fl_initialize()
-       // calls setlocale() and ruins our LC_NUMERIC setting.
-
-       fl_get_app_resources(res, num_res);
-
-       Display * display = fl_get_display();
-
-       if (!display) {
-               lyxerr << "LyX: unable to access X display, exiting"
-                      << std::endl;
-               ::exit(1);
-       }
-
-       fcntl(ConnectionNumber(display), F_SETFD, FD_CLOEXEC);
-
-       XSetErrorHandler(LyX_XErrHandler);
-
-}
-
-
 void lyx_gui::parse_init(int & argc, char * argv[])
 {
        new Gtk::Main(argc, argv);
 
-       parse_init_xforms(argc, argv);
-
        using namespace lyx::graphics;
        Image::newImage = boost::bind(&LyXGdkImage::newImage);
        Image::loadableFormats = boost::bind(&LyXGdkImage::loadableFormats);
@@ -213,130 +125,13 @@ void lyx_gui::parse_init(int & argc, char * argv[])
 }
 
 
-void parse_lyxrc_xforms()
-{
-       XformsColor::read(lyx::support::AddName(package().user_support(),
-                                               "preferences.xform"));
-
-       if (lyxrc.popup_font_encoding.empty())
-               lyxrc.popup_font_encoding = lyxrc.font_norm;
-       // Set the font name for popups and menus
-       string boldfontname = lyxrc.popup_bold_font
-                              + "-*-*-*-?-*-*-*-*-"
-                              + lyxrc.popup_font_encoding;
-               // "?" means "scale that font"
-       string fontname = lyxrc.popup_normal_font
-                              + "-*-*-*-?-*-*-*-*-"
-                              + lyxrc.popup_font_encoding;
-
-       int bold = fl_set_font_name(FL_BOLD_STYLE, boldfontname.c_str());
-       int normal = fl_set_font_name(FL_NORMAL_STYLE, fontname.c_str());
-       if (bold < 0)
-               lyxerr << "Could not set menu font to "
-                      << boldfontname << std::endl;
-
-       if (normal < 0)
-               lyxerr << "Could not set popup font to "
-                      << fontname << std::endl;
-
-       if (bold < 0 && normal < 0) {
-               lyxerr << "Using 'helvetica' font for menus" << std::endl;
-               boldfontname = "-*-helvetica-bold-r-*-*-*-?-*-*-*-*-iso8859-1";
-               fontname = "-*-helvetica-medium-r-*-*-*-?-*-*-*-*-iso8859-1";
-               bold = fl_set_font_name(FL_BOLD_STYLE, boldfontname.c_str());
-               normal = fl_set_font_name(FL_NORMAL_STYLE, fontname.c_str());
-
-               if (bold < 0 && normal < 0) {
-                       lyxerr << "Could not find helvetica font. Using 'fixed'."
-                              << std::endl;
-                       fl_set_font_name(FL_NORMAL_STYLE, "fixed");
-                       normal = bold = 0;
-               }
-       }
-       if (bold < 0)
-               fl_set_font_name(FL_BOLD_STYLE, fontname.c_str());
-       else if (normal < 0)
-               fl_set_font_name(FL_NORMAL_STYLE, boldfontname.c_str());
-
-       fl_setpup_fontstyle(FL_NORMAL_STYLE);
-       fl_setpup_fontsize(FL_NORMAL_SIZE);
-       fl_setpup_color(FL_MCOL, FL_BLACK);
-       fl_set_goodies_font(FL_NORMAL_STYLE, FL_NORMAL_SIZE);
-       fl_set_tooltip_font(FL_NORMAL_STYLE, FL_NORMAL_SIZE);
-}
-
-
 void lyx_gui::parse_lyxrc()
 {
-       parse_lyxrc_xforms();
-}
-
-
-void start_xforms()
-{
-       // initial geometry
-       int xpos = -1;
-       int ypos = -1;
-       unsigned int width = 690;
-       unsigned int height = 510;
-
-       int const geometryBitmask =
-               XParseGeometry(geometry,
-                              &xpos, &ypos, &width, &height);
-
-       // if width is not set by geometry, check it against monitor width
-       if (!(geometryBitmask & WidthValue)) {
-               Screen * scr = ScreenOfDisplay(fl_get_display(), fl_screen);
-               if (WidthOfScreen(scr) - 8 < int(width))
-                       width = WidthOfScreen(scr) - 8;
-       }
-
-       // if height is not set by geometry, check it against monitor height
-       if (!(geometryBitmask & HeightValue)) {
-               Screen * scr = ScreenOfDisplay(fl_get_display(), fl_screen);
-               if (HeightOfScreen(scr) - 24 < int(height))
-                       height = HeightOfScreen(scr) - 24;
-       }
-
-       Screen * s = ScreenOfDisplay(fl_get_display(), fl_screen);
-
-       // recalculate xpos if it's not set
-       if (xpos == -1)
-               xpos = (WidthOfScreen(s) - width) / 2;
-
-       // recalculate ypos if it's not set
-       if (ypos == -1)
-               ypos = (HeightOfScreen(s) - height) / 2;
-
-       lyxerr[Debug::GUI] << "Creating view: " << width << 'x' << height
-                          << '+' << xpos << '+' << ypos << std::endl;
-
-//     XFormsView view(width, height);
-//     view.show(xpos, ypos, "LyX");
-//     view.init();
-}
-
-
-static void events_xforms()
-{
-       if (fl_check_forms() == FL_EVENT) {
-               XEvent ev;
-               fl_XNextEvent(&ev);
-               lyxerr[Debug::GUI]
-                       << "Received unhandled X11 event" << std::endl
-                       << "Type: " << ev.xany.type
-                       << " Target: 0x" << std::hex << ev.xany.window
-                       << std::dec << std::endl;
-       }
 }
 
 
 void lyx_gui::start(string const & batch, std::vector<string> const & files)
 {
-       start_xforms();
-       // just for debug
-       //XSynchronize(getDisplay(), true);
-
        boost::shared_ptr<GView> view_ptr(new GView);
        LyX::ref().addLyXView(view_ptr);
 
@@ -362,7 +157,6 @@ void lyx_gui::start(string const & batch, std::vector<string> const & files)
        while (!finished) {
                while (Gtk::Main::events_pending())
                        Gtk::Main::iteration(false);
-               events_xforms();
        }
 
        // FIXME: breaks emergencyCleanup
@@ -381,7 +175,7 @@ FuncStatus lyx_gui::getStatus(FuncRequest const & ev)
 {
        FuncStatus flag;
        switch (ev.action) {
-       // Add this back if the gtk doc prefs dialog includes preamble - jcs
+       // TODO: Add this back if the gtk doc prefs dialog includes preamble - jcs
        /*case LFUN_DIALOG_SHOW:
                if (ev.argument == "preamble")
                        flag.unknown(true);