From: Jürgen Vigna Date: Fri, 11 Aug 2000 14:42:20 +0000 (+0000) Subject: Implemented new Layout-Document in GUII and a few small fixes. X-Git-Tag: 1.6.10~22042 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=b7a16fc4025bef833d10aa075bd4a23b3ed37f03;p=features.git Implemented new Layout-Document in GUII and a few small fixes. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@965 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/ChangeLog b/ChangeLog index b627ad8507..7980517952 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,35 @@ +2000-08-11 Juergen Vigna + + * src/insets/insetgraphics.C (InsetGraphics): changing init + order because of warnings. + + * src/frontends/xforms/forms/makefile: adding patching .C with + .C.patch files. + + * src/frontends/xforms/forms/fdfix.sh: changing patching file .c + from .C.patch to .c.patch + + * src/frontends/xforms/FormCommand.C (FormCommand): changing init + order because of warning. + + * src/frontends/xforms/Dialogs.C (Dialogs): added FormDialog + + * src/frontends/Liason.C (setMinibuffer): new helper function + + * src/frontends/Dialogs.h (class Dialogs): inserting showLayoutDocument + + * src/lyxfunc.C (Dispatch): calling new Document-Layout + + * lib/ui/default.ui: commented out PaperLayout entry + + * src/frontends/xforms/form_document.[Ch]: new added files + + * src/frontends/xforms/FormDocument.[Ch]: ditto + + * src/frontends/xforms/forms/form_document.fd: ditto + + * src/frontends/xforms/forms/form_document.C.patch: ditto + 2000-08-10 Juergen Vigna * src/insets/insetgraphics.C (draw): fixed access to 0 cacheHandle. diff --git a/lib/ui/default.ui b/lib/ui/default.ui index fcdf304165..a76eba9293 100644 --- a/lib/ui/default.ui +++ b/lib/ui/default.ui @@ -145,7 +145,7 @@ Menuset Menu "layout" Item "Character...|C" "layout-character" Item "Paragraph...|P" "layout-paragraph" - Item "Paper...|a" "layout-paper" +# Item "Paper...|a" "layout-paper" Item "Document...|D" "layout-document" Item "Table...|T" "layout-table" OptItem "Tabular...|a" "layout-tabular" diff --git a/src/frontends/Dialogs.h b/src/frontends/Dialogs.h index fb58890b86..a01394b0be 100644 --- a/src/frontends/Dialogs.h +++ b/src/frontends/Dialogs.h @@ -91,8 +91,6 @@ public: Signal0 updateCharacter; // allow update as cursor moves /// Signal0 showParagraph; - /// - Signal0 showDocument; /// Do we really have to push this? Signal1 const &> SetDocumentClassChoice; /// @@ -104,6 +102,8 @@ public: /// Signal0 showPreferences; /// + Signal0 showLayoutDocument; + /// Signal1 showGraphics; /// Signal1 showInclude; diff --git a/src/frontends/Liason.C b/src/frontends/Liason.C index aff9ad98f5..b528bfe2b1 100644 --- a/src/frontends/Liason.C +++ b/src/frontends/Liason.C @@ -15,6 +15,7 @@ #endif #include "Liason.h" +#include "LyXView.h" #include "BufferView.h" #include "buffer.h" #include "lyxrc.h" @@ -23,6 +24,7 @@ #include "support/lstrings.h" #include "support/filetools.h" #include "support/path.h" +#include "minibuffer.h" extern LyXRC lyxrc; extern bool RunScript(Buffer * buffer, bool wait, string const & command, @@ -208,6 +210,11 @@ bool printBuffer(Buffer * buffer, PrinterParams const & pp) return result; } +void setMinibuffer(LyXView * lv, char const * msg) +{ + lv->getMiniBuffer()->Set(msg); +} + #ifdef CXX_WORKING_NAMESPACES } #endif diff --git a/src/frontends/Liason.h b/src/frontends/Liason.h index 2b2adbcada..6007c66368 100644 --- a/src/frontends/Liason.h +++ b/src/frontends/Liason.h @@ -32,6 +32,8 @@ class PrinterParams; class Buffer; +class LyXView; +class BufferParams; /** Temporary namespace to hold the various frontend functions until XTL and the compilers of the world are ready for something more @@ -52,6 +54,8 @@ namespace Liason PrinterParams getPrinterParams(Buffer *); /// print the current buffer bool printBuffer(Buffer *, PrinterParams const &); +/// set the minibuffer +void setMinibuffer(LyXView *, char const * msg); //@} #ifdef CXX_WORKING_NAMESPACES diff --git a/src/frontends/xforms/Dialogs.C b/src/frontends/xforms/Dialogs.C index 1d8891dad7..e388e3f1b6 100644 --- a/src/frontends/xforms/Dialogs.C +++ b/src/frontends/xforms/Dialogs.C @@ -4,6 +4,7 @@ #include "Dialogs.h" #include "FormCitation.h" #include "FormCopyright.h" +#include "FormDocument.h" #include "FormGraphics.h" #include "FormIndex.h" #include "FormPreferences.h" @@ -22,6 +23,7 @@ Dialogs::Dialogs(LyXView * lv) { dialogs_.push_back(new FormCitation(lv, this)); dialogs_.push_back(new FormCopyright(lv, this)); + dialogs_.push_back(new FormDocument(lv, this)); dialogs_.push_back(new FormGraphics(lv, this)); dialogs_.push_back(new FormIndex(lv, this)); dialogs_.push_back(new FormPreferences(lv, this)); diff --git a/src/frontends/xforms/FormCommand.C b/src/frontends/xforms/FormCommand.C index f1dffc600e..6ec5658db5 100644 --- a/src/frontends/xforms/FormCommand.C +++ b/src/frontends/xforms/FormCommand.C @@ -29,8 +29,8 @@ C_GENERICCB(FormCommand, InputCB) C_GENERICCB(FormCommand, OKCB) FormCommand::FormCommand(LyXView * lv, Dialogs * d, string const & t) - : lv_(lv), d_(d), u_(0), h_(0), ih_(0), - inset_(0), dialogIsOpen(false), title(t) + : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), + dialogIsOpen(false), title(t) {} diff --git a/src/frontends/xforms/FormDocument.C b/src/frontends/xforms/FormDocument.C new file mode 100644 index 0000000000..ba93d35421 --- /dev/null +++ b/src/frontends/xforms/FormDocument.C @@ -0,0 +1,1116 @@ +/* form_document.C + * FormDocument Interface Class Implementation + */ + +#include + +#ifdef __GNUG_ +#pragma implementation +#endif + +#include "lyx_gui_misc.h" +#include "gettext.h" +#include FORMS_H_LOCATION +#include XPM_H_LOCATION + +#include "FormDocument.h" +#include "form_document.h" +#include "xform_macros.h" +#include "Dialogs.h" +#include "layout.h" +#include "combox.h" +#include "tex-strings.h" +#include "bufferparams.h" +#include "insets/insetquotes.h" +#include "vspace.h" +#include "bmtable.h" +#include "support/filetools.h" +#include "language.h" +#include "LyXView.h" +#include "BufferView.h" +#include "buffer.h" +#include "Liason.h" +#include "CutAndPaste.h" + +#ifdef SIGC_CXX_NAMESPACES +using SigC::slot; +#endif + +#ifdef CXX_WORKING_NAMESPACES +using Liason::setMinibuffer; +#endif + +C_RETURNCB(FormDocument, WMHideCB) +C_GENERICCB(FormDocument, InputCB) +C_GENERICCB(FormDocument, OKCB) +C_GENERICCB(FormDocument, ApplyCB) +C_GENERICCB(FormDocument, CancelCB) + +FormDocument::FormDocument(LyXView * lv, Dialogs * d) + : dialog_(0), paper_(0), class_(0), language_(0), options_(0), + bullets_(0), lv_(lv), d_(d), u_(0), h_(0), + status(POPUP_UNMODIFIED) +{ + // let the popup be shown + // This is a permanent connection so we won't bother + // storing a copy because we won't be disconnecting. + d->showLayoutDocument.connect(slot(this, &FormDocument::show)); + current_bullet_depth = 0; + current_bullet_panel = 0; +} + +FormDocument::~FormDocument() +{ + free(); +} + +void FormDocument::build() +{ + int n; + + // the tabbed folder + dialog_ = build_tabbed_document(); + + // the document paper form + paper_ = build_doc_paper(); + fl_addto_choice(paper_->choice_papersize2, + _(" Default | Custom | USletter | USlegal " + "| USexecutive | A3 | A4 | A5 | B3 | B4 | B5 ")); + fl_addto_choice(paper_->choice_paperpackage, + _(" None " + "| A4 small Margins (only portrait) " + "| A4 very small Margins (only portrait) " + "| A4 very wide margins (only portrait) ")); + fl_set_input_return(paper_->input_custom_width, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_custom_height, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_top_margin, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_bottom_margin, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_left_margin, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_right_margin, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_head_height, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_head_sep, FL_RETURN_ALWAYS); + fl_set_input_return(paper_->input_foot_skip, FL_RETURN_ALWAYS); + + // the document class form + class_ = build_doc_class(); + fl_clear_choice(class_->choice_doc_class); + for (LyXTextClassList::const_iterator cit = textclasslist.begin(); + cit != textclasslist.end(); ++cit) + { + fl_addto_choice(class_->choice_doc_class,(*cit).description().c_str()); + } + fl_addto_choice(class_->choice_doc_spacing, + _(" Single | OneHalf | Double | Other ")); + fl_addto_choice(class_->choice_doc_fontsize, "default|10|11|12"); + for (n=0; tex_fonts[n][0]; ++n) { + fl_addto_choice(class_->choice_doc_fonts,tex_fonts[n]); + } + fl_addto_choice(class_->choice_doc_pagestyle, + "default|empty|plain|headings|fancy"); + fl_addto_choice(class_->choice_doc_skip, + _(" Smallskip | Medskip | Bigskip | Length ")); + fl_set_input_return(class_->input_doc_skip, FL_RETURN_ALWAYS); + + // the document language form + language_ = build_doc_language(); + fl_addto_choice(language_->choice_inputenc, + "default|auto|latin1|latin2|latin5" + "|koi8-r|koi8-u|cp866|cp1251|iso88595"); + + // The language is a combo-box and has to be inserted manually + FL_OBJECT * obj = language_->choice_language; + fl_addto_form(language_->form_doc_language); + combo_language = new Combox(FL_COMBOX_DROPLIST); + combo_language->add(obj->x, obj->y, obj->w, obj->h, 200); + combo_language->shortcut("#L",1); + fl_end_form(); + // "default" is not part of the languages array any more. + combo_language->addto("default"); + for(Languages::const_iterator cit = languages.begin(); + cit != languages.end(); ++cit) { + combo_language->addto((*cit).second.lang().c_str()); + } + + fl_addto_choice(language_->choice_quotes_language, + _(" ``text'' | ''text'' | ,,text`` | ,,text'' |" + " «text» | »text« ")); + + // the document options form + options_ = build_doc_options(); + fl_set_counter_bounds(options_->slider_secnumdepth,-2,5); + fl_set_counter_bounds(options_->slider_tocdepth,-1,5); + fl_set_counter_step(options_->slider_secnumdepth,1,1); + fl_set_counter_step(options_->slider_tocdepth,1,1); + fl_set_counter_precision(options_->slider_secnumdepth, 0); + fl_set_counter_precision(options_->slider_tocdepth, 0); + for (n=0; tex_graphics[n][0]; ++n) { + fl_addto_choice(options_->choice_postscript_driver, tex_graphics[n]); + } + + // the document bullets form + bullets_ = build_doc_bullet(); + fl_addto_choice(bullets_->choice_bullet_size, + _(" default | tiny | script | footnote | small |" + " normal | large | Large | LARGE | huge | Huge")); + fl_set_choice(bullets_->choice_bullet_size, 1); + fl_set_input_return(bullets_->input_bullet_latex, FL_RETURN_CHANGED); + fl_set_input_maxchars(bullets_->input_bullet_latex, 80); + + fl_set_form_atclose(dialog_->form_tabbed_document, + FormDocument::WMHideCB, 0); + fl_addto_tabfolder(dialog_->tabbed_folder,_("Document"), + class_->form_doc_class); + fl_addto_tabfolder(dialog_->tabbed_folder,_("Paper"), + paper_->form_doc_paper); + fl_addto_tabfolder(dialog_->tabbed_folder,_("Language"), + language_->form_doc_language); + fl_addto_tabfolder(dialog_->tabbed_folder,_("Extra"), + options_->form_doc_options); + fbullet = fl_addto_tabfolder(dialog_->tabbed_folder,_("Bullets"), + bullets_->form_doc_bullet); + if ((XpmVersion < 4) || (XpmVersion == 4 && XpmRevision < 7)) { + lyxerr << _("Your version of libXpm is older than 4.7.\n" + "The `bullet' tab of the document popup " + "has been disabled") << '\n'; + fl_deactivate_object(fbullet); + fl_set_object_lcol(fbullet, FL_INACTIVE); + } +} + +void FormDocument::show() +{ + if (!dialog_) + build(); + + update(); // make sure its up-to-date + if (dialog_->form_tabbed_document->visible) { + fl_raise_form(dialog_->form_tabbed_document); + } else { + fl_show_form(dialog_->form_tabbed_document, + FL_PLACE_MOUSE | FL_FREE_SIZE, + FL_TRANSIENT, _("Document Layout")); + u_ = d_->updateBufferDependent.connect( + slot(this, &FormDocument::update)); + h_ = d_->hideBufferDependent.connect( + slot(this, &FormDocument::hide)); + } +} + +void FormDocument::hide() +{ + if (dialog_->form_tabbed_document->visible) { + fl_hide_form(dialog_->form_tabbed_document); + u_.disconnect(); + h_.disconnect(); + } +} + +void FormDocument::apply() +{ + if (!lv_->view()->available() || !dialog_) + return; + + bool + redo; + + redo = class_apply(); + paper_apply(); + redo = language_apply() || redo; + redo = options_apply() || redo; + bullets_apply(); + + if (redo) { + lv_->view()->redoCurrentBuffer(); + } + lv_->buffer()->markDirty(); + setMinibuffer(lv_, _("Document layout set")); +} + + +bool FormDocument::class_apply() +{ + bool redo = false; + BufferParams ¶ms = lv_->buffer()->params; + + // If default skip is a "Length" but there's no text in the + // input field, reset the kind to "Medskip", which is the default. + if ((fl_get_choice (class_->choice_doc_skip) == 4) && + !*(fl_get_input (class_->input_doc_skip))) { + fl_set_choice (class_->choice_doc_skip, 2); + } + params.fonts = fl_get_choice_text(class_->choice_doc_fonts); + params.fontsize = fl_get_choice_text(class_->choice_doc_fontsize); + params.pagestyle = fl_get_choice_text(class_->choice_doc_pagestyle); + + unsigned int new_class = fl_get_choice(class_->choice_doc_class) - 1; + if (params.textclass != new_class) { + // try to load new_class + if (textclasslist.Load(new_class)) { + // successfully loaded + redo = true; + setMinibuffer(lv_, _("Converting document to new document class...")); + CutAndPaste cap; + int ret = cap.SwitchLayoutsBetweenClasses( + params.textclass, new_class, + lv_->buffer()->paragraph); + if (ret) { + string s; + if (ret==1) { + s = _("One paragraph couldn't be converted"); + } else { + s += tostr(ret); + s += _(" paragraphs couldn't be converted"); + } + WriteAlert(_("Conversion Errors!"),s, + _("into chosen document class")); + } + + params.textclass = new_class; + } else { + // problem changing class -- warn user and retain old style + WriteAlert(_("Conversion Errors!"), + _("Errors loading new document class."), + _("Reverting to original document class.")); + fl_set_choice(class_->choice_doc_class, + params.textclass + 1); + } + } + char tmpsep = params.paragraph_separation; + if (fl_get_button(class_->radio_doc_indent)) + params.paragraph_separation = BufferParams::PARSEP_INDENT; + else + params.paragraph_separation = BufferParams::PARSEP_SKIP; + if (tmpsep != params.paragraph_separation) + redo = true; + + VSpace tmpdefskip = params.getDefSkip(); + switch (fl_get_choice (class_->choice_doc_skip)) { + case 1: + params.setDefSkip(VSpace(VSpace::SMALLSKIP)); + break; + case 2: + params.setDefSkip(VSpace(VSpace::MEDSKIP)); + break; + case 3: + params.setDefSkip(VSpace(VSpace::BIGSKIP)); + break; + case 4: + params.setDefSkip + (VSpace(LyXGlueLength(fl_get_input(class_->input_doc_skip)))); + break; + // DocumentDefskipCB assures that this never happens + default: + params.setDefSkip(VSpace(VSpace::MEDSKIP)); + break; + } + if (!(tmpdefskip == params.getDefSkip())) + redo = true; + + if (fl_get_button(class_->radio_doc_columns_two)) + params.columns = 2; + else + params.columns = 1; + if (fl_get_button(class_->radio_doc_sides_two)) + params.sides = LyXTextClass::TwoSides; + else + params.sides = LyXTextClass::OneSide; + + Spacing tmpSpacing = params.spacing; + switch(fl_get_choice(class_->choice_doc_spacing)) { + case 1: + lyxerr[Debug::INFO] << "Spacing: SINGLE\n"; + params.spacing.set(Spacing::Single); + break; + case 2: + lyxerr[Debug::INFO] << "Spacing: ONEHALF\n"; + params.spacing.set(Spacing::Onehalf); + break; + case 3: + lyxerr[Debug::INFO] << "Spacing: DOUBLE\n"; + params.spacing.set(Spacing::Double); + break; + case 4: + lyxerr[Debug::INFO] << "Spacing: OTHER\n"; + params.spacing.set(Spacing::Other, + fl_get_input(class_->input_doc_spacing)); + break; + } + if (tmpSpacing != params.spacing) + redo = true; + + params.options = fl_get_input(class_->input_doc_extra); + + return redo; +} + +void FormDocument::paper_apply() +{ + BufferParams + ¶ms = lv_->buffer()->params; + + params.papersize2 = fl_get_choice(paper_->choice_papersize2)-1; + params.paperpackage = fl_get_choice(paper_->choice_paperpackage)-1; + params.use_geometry = fl_get_button(paper_->push_use_geometry); + if (fl_get_button(paper_->radio_landscape)) + params.orientation = BufferParams::ORIENTATION_LANDSCAPE; + else + params.orientation = BufferParams::ORIENTATION_PORTRAIT; + params.paperwidth = fl_get_input(paper_->input_custom_width); + params.paperheight = fl_get_input(paper_->input_custom_height); + params.leftmargin = fl_get_input(paper_->input_left_margin); + params.topmargin = fl_get_input(paper_->input_top_margin); + params.rightmargin = fl_get_input(paper_->input_right_margin); + params.bottommargin = fl_get_input(paper_->input_bottom_margin); + params.headheight = fl_get_input(paper_->input_head_height); + params.headsep = fl_get_input(paper_->input_head_sep); + params.footskip = fl_get_input(paper_->input_foot_skip); + lv_->buffer()->setPaperStuff(); +} + +bool FormDocument::language_apply() +{ + BufferParams + ¶ms = lv_->buffer()->params; + InsetQuotes::quote_language + lga = InsetQuotes::EnglishQ; + bool redo = false; + + switch(fl_get_choice(language_->choice_quotes_language) - 1) { + case 0: + lga = InsetQuotes::EnglishQ; + break; + case 1: + lga = InsetQuotes::SwedishQ; + break; + case 2: + lga = InsetQuotes::GermanQ; + break; + case 3: + lga = InsetQuotes::PolishQ; + break; + case 4: + lga = InsetQuotes::FrenchQ; + break; + case 5: + lga = InsetQuotes::DanishQ; + break; + } + params.quotes_language = lga; + if (fl_get_button(language_->radio_single)) + params.quotes_times = InsetQuotes::SingleQ; + else + params.quotes_times = InsetQuotes::DoubleQ; + + Language const * old_language = params.language_info; + params.language = combo_language->getline(); + Languages::iterator lit = languages.find(params.language); + + Language const * new_language; + if (lit != languages.end()) + new_language = &(*lit).second; + else + new_language = default_language; + + if (old_language != new_language + && old_language->RightToLeft() == new_language->RightToLeft() + && !lv_->buffer()->isMultiLingual()) + lv_->buffer()->ChangeLanguage(old_language, new_language); + if (old_language != new_language) { + redo = true; + } + params.language_info = new_language; + params.inputenc = fl_get_choice_text(language_->choice_inputenc); + + return redo; +} + +bool FormDocument::options_apply() +{ + BufferParams + ¶ms = lv_->buffer()->params; + bool + redo = false; + + params.graphicsDriver = + fl_get_choice_text(options_->choice_postscript_driver); + params.use_amsmath = fl_get_button(options_->check_use_amsmath); + + int tmpchar = int(fl_get_counter_value(options_->slider_secnumdepth)); + if (params.secnumdepth != tmpchar) + redo = true; + params.secnumdepth = tmpchar; + + params.tocdepth = int(fl_get_counter_value(options_->slider_tocdepth)); + + params.float_placement = + fl_get_input(options_->input_float_placement); + + return redo; +} + +void FormDocument::bullets_apply() +{ + /* update the bullet settings */ + BufferParams & param = lv_->buffer()->params; + + // a little bit of loop unrolling + param.user_defined_bullets[0] = param.temp_bullets[0]; + param.user_defined_bullets[1] = param.temp_bullets[1]; + param.user_defined_bullets[2] = param.temp_bullets[2]; + param.user_defined_bullets[3] = param.temp_bullets[3]; +} + +void FormDocument::cancel() +{ + // this avoids confusion when reopening + BufferParams & param = lv_->buffer()->params; + param.temp_bullets[0] = param.user_defined_bullets[0]; + param.temp_bullets[1] = param.user_defined_bullets[1]; + param.temp_bullets[2] = param.user_defined_bullets[2]; + param.temp_bullets[3] = param.user_defined_bullets[3]; +} + +void FormDocument::update() +{ + if (!dialog_) + return; + fl_hide_object(dialog_->text_warning); + EnableDocumentLayout(); + if (lv_->buffer()->isReadonly()) { + DisableDocumentLayout(); + fl_set_object_label(dialog_->text_warning, + _("Document is read-only." + " No changes to layout permitted.")); + fl_show_object(dialog_->text_warning); + } + class_update(); + paper_update(); + language_update(); + options_update(); + bullets_update(); +} + +void FormDocument::class_update() +{ + if (!class_) + return; + BufferParams + const & params = lv_->buffer()->params; + LyXTextClass + const & tclass = textclasslist.TextClass(params.textclass); + + fl_set_choice_text(class_->choice_doc_class, + textclasslist.DescOfClass(params.textclass).c_str()); + fl_set_choice_text(class_->choice_doc_fonts, params.fonts.c_str()); + fl_clear_choice(class_->choice_doc_fontsize); + fl_addto_choice(class_->choice_doc_fontsize, "default"); + fl_addto_choice(class_->choice_doc_fontsize, + tclass.opt_fontsize().c_str()); + fl_set_choice(class_->choice_doc_fontsize, + tokenPos(tclass.opt_fontsize(), '|', params.fontsize)+2); + fl_clear_choice(class_->choice_doc_pagestyle); + fl_addto_choice(class_->choice_doc_pagestyle, "default"); + fl_addto_choice(class_->choice_doc_pagestyle, + tclass.opt_pagestyle().c_str()); + fl_set_choice(class_->choice_doc_pagestyle, + tokenPos(tclass.opt_pagestyle(), '|', params.pagestyle)+2); + fl_set_button(class_->radio_doc_indent, 0); + fl_set_button(class_->radio_doc_skip, 0); + if (params.paragraph_separation == BufferParams::PARSEP_INDENT) + fl_set_button(class_->radio_doc_indent, 1); + else + fl_set_button(class_->radio_doc_skip, 1); + switch (params.getDefSkip().kind()) { + case VSpace::SMALLSKIP: + fl_set_choice (class_->choice_doc_skip, 1); + break; + case VSpace::MEDSKIP: + fl_set_choice (class_->choice_doc_skip, 2); + break; + case VSpace::BIGSKIP: + fl_set_choice (class_->choice_doc_skip, 3); + break; + case VSpace::LENGTH: + fl_set_choice (class_->choice_doc_skip, 4); + fl_set_input (class_->input_doc_skip, + params.getDefSkip().asLyXCommand().c_str()); + break; + default: + fl_set_choice (class_->choice_doc_skip, 2); + break; + } + fl_set_button(class_->radio_doc_sides_one, 0); + fl_set_button(class_->radio_doc_sides_two, 0); + if (params.sides == 2) + fl_set_button(class_->radio_doc_sides_two, 1); + else + fl_set_button(class_->radio_doc_sides_one, 1); + fl_set_button(class_->radio_doc_columns_one, 0); + fl_set_button(class_->radio_doc_columns_two, 0); + if (params.columns == 2) + fl_set_button(class_->radio_doc_columns_two, 1); + else + fl_set_button(class_->radio_doc_columns_one, 1); + fl_set_input(class_->input_doc_spacing, ""); + switch (params.spacing.getSpace()) { + case Spacing::Default: // nothing bad should happen with this + case Spacing::Single: + // \singlespacing + fl_set_choice(class_->choice_doc_spacing, 1); + break; + case Spacing::Onehalf: + // \onehalfspacing + fl_set_choice(class_->choice_doc_spacing, 2); + break; + case Spacing::Double: + // \doublespacing + fl_set_choice(class_->choice_doc_spacing, 3); + break; + case Spacing::Other: + { + fl_set_choice(class_->choice_doc_spacing, 4); + char sval[20]; + sprintf(sval,"%g",params.spacing.getValue()); + fl_set_input(class_->input_doc_spacing, sval); + break; + } + } + if (!params.options.empty()) + fl_set_input(class_->input_doc_extra, params.options.c_str()); + else + fl_set_input(class_->input_doc_extra, ""); +} + +void FormDocument::language_update() +{ + if (!language_) + return; + + BufferParams + ¶ms = lv_->buffer()->params; + + combo_language->select_text(params.language.c_str()); + fl_set_choice_text(language_->choice_inputenc, params.inputenc.c_str()); + fl_set_choice(language_->choice_quotes_language, params.quotes_language + 1); + fl_set_button(language_->radio_single, 0); + fl_set_button(language_->radio_double, 0); + if (params.quotes_times == InsetQuotes::SingleQ) + fl_set_button(language_->radio_single, 1); + else + fl_set_button(language_->radio_double, 1); +} + +void FormDocument::options_update() +{ + if (!options_) + return; + + BufferParams + ¶ms = lv_->buffer()->params; + + fl_set_choice_text(options_->choice_postscript_driver, + params.graphicsDriver.c_str()); + fl_set_button(options_->check_use_amsmath, params.use_amsmath); + fl_set_counter_value(options_->slider_secnumdepth, params.secnumdepth); + fl_set_counter_value(options_->slider_tocdepth, params.tocdepth); + if (!params.float_placement.empty()) + fl_set_input(options_->input_float_placement, + params.float_placement.c_str()); + else + fl_set_input(options_->input_float_placement, ""); +} + +void FormDocument::paper_update() +{ + if (!paper_) + return; + BufferParams + ¶ms = lv_->buffer()->params; + + fl_set_choice(paper_->choice_papersize2, params.papersize2 + 1); + fl_set_choice(paper_->choice_paperpackage, params.paperpackage + 1); + fl_set_button(paper_->push_use_geometry, params.use_geometry); + fl_set_button(paper_->radio_portrait, 0); + fl_set_button(paper_->radio_landscape, 0); + if (params.orientation == BufferParams::ORIENTATION_LANDSCAPE) + fl_set_button(paper_->radio_landscape, 1); + else + fl_set_button(paper_->radio_portrait, 1); + fl_set_input(paper_->input_custom_width, params.paperwidth.c_str()); + fl_set_input(paper_->input_custom_height, params.paperheight.c_str()); + fl_set_input(paper_->input_left_margin, params.leftmargin.c_str()); + fl_set_input(paper_->input_top_margin, params.topmargin.c_str()); + fl_set_input(paper_->input_right_margin, params.rightmargin.c_str()); + fl_set_input(paper_->input_bottom_margin, params.bottommargin.c_str()); + fl_set_input(paper_->input_head_height, params.headheight.c_str()); + fl_set_input(paper_->input_head_sep, params.headsep.c_str()); + fl_set_input(paper_->input_foot_skip, params.footskip.c_str()); + fl_set_focus_object(paper_->form_doc_paper, paper_->choice_papersize2); +} + +void FormDocument::bullets_update() +{ + if (!bullets_ || ((XpmVersion<4) || (XpmVersion==4 && XpmRevision<7))) + return; + + if (lv_->buffer()->isLinuxDoc()) { + fl_deactivate_object(fbullet); + fl_set_object_lcol(fbullet, FL_INACTIVE); + return; + } else { + fl_activate_object(fbullet); + fl_set_object_lcol(fbullet, FL_BLACK); + } + if (lv_->buffer()->isReadonly()) { + fl_deactivate_object (bullets_->bmtable_bullet_panel); + fl_deactivate_object (bullets_->choice_bullet_size); + fl_deactivate_object (bullets_->input_bullet_latex); + } else { + fl_activate_object (bullets_->bmtable_bullet_panel); + fl_activate_object (bullets_->choice_bullet_size); + fl_activate_object (bullets_->input_bullet_latex); + } + + BufferParams + ¶ms = lv_->buffer()->params; + + fl_set_button(bullets_->radio_bullet_depth_1, 1); + fl_set_input(bullets_->input_bullet_latex, + params.user_defined_bullets[0].c_str()); + fl_set_choice(bullets_->choice_bullet_size, + params.user_defined_bullets[0].getSize() + 2); +} + +void FormDocument::free() +{ + if (dialog_) { + hide(); + if (class_) { + fl_free_form(class_->form_doc_class); + delete class_; + class_ = 0; + } + if (paper_) { + fl_free_form(paper_->form_doc_paper); + delete paper_; + paper_ = 0; + } + if (language_) { + delete combo_language; + fl_free_form(language_->form_doc_language); + delete language_; + language_ = 0; + } + if (options_) { + fl_free_form(options_->form_doc_options); + delete options_; + options_ = 0; + } + if (bullets_) { + fl_free_form(bullets_->form_doc_bullet); + delete bullets_; + bullets_ = 0; + } + fl_free_form(dialog_->form_tabbed_document); + delete dialog_; + dialog_ = 0; + } +} + +int FormDocument::WMHideCB(FL_FORM * form, void *) +{ + // Ensure that the signals (u and h) are disconnected even if the + // window manager is used to close the popup. + FormDocument * pre = (FormDocument*)form->u_vdata; + pre->hide(); + return FL_CANCEL; +} + +void FormDocument::CancelCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->cancel(); + pre->hide(); +} + +void FormDocument::ApplyCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->apply(); +} + +void FormDocument::OKCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->apply(); + pre->hide(); +} + +void FormDocument::InputCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->CheckDocumentInput(ob,0); +} + +void FormDocument::checkMarginValues() +{ + int allEmpty; + + allEmpty = (!strlen(fl_get_input(paper_->input_top_margin)) && + !strlen(fl_get_input(paper_->input_bottom_margin)) && + !strlen(fl_get_input(paper_->input_left_margin)) && + !strlen(fl_get_input(paper_->input_right_margin)) && + !strlen(fl_get_input(paper_->input_head_height)) && + !strlen(fl_get_input(paper_->input_head_sep)) && + !strlen(fl_get_input(paper_->input_foot_skip)) && + !strlen(fl_get_input(paper_->input_custom_width)) && + !strlen(fl_get_input(paper_->input_custom_height))); + if (!allEmpty) + fl_set_button(paper_->push_use_geometry, 1); +} + +void FormDocument::CheckDocumentInput(FL_OBJECT * ob, long) +{ + string str; + char val; + bool ok = true; + char const * input; + + ActivateDocumentButtons(); + checkMarginValues(); + if (ob == paper_->choice_papersize2) { + val = fl_get_choice(paper_->choice_papersize2)-1; + if (val == BufferParams::VM_PAPER_DEFAULT) { + fl_set_button(paper_->push_use_geometry, 0); + checkMarginValues(); + } else { + if ((val != BufferParams::VM_PAPER_USLETTER) && + (val != BufferParams::VM_PAPER_USLEGAL) && + (val != BufferParams::VM_PAPER_USEXECUTIVE) && + (val != BufferParams::VM_PAPER_A4) && + (val != BufferParams::VM_PAPER_A5) && + (val != BufferParams::VM_PAPER_B5)) { + fl_set_button(paper_->push_use_geometry, 1); + } + fl_set_choice(paper_->choice_paperpackage, + BufferParams::PACKAGE_NONE + 1); + } + } else if (ob == paper_->choice_paperpackage) { + val = fl_get_choice(paper_->choice_paperpackage)-1; + if (val != BufferParams::PACKAGE_NONE) { + fl_set_choice(paper_->choice_papersize2, + BufferParams::VM_PAPER_DEFAULT + 1); + fl_set_button(paper_->push_use_geometry, 0); + } + } else if (ob == class_->input_doc_spacing) { + input = fl_get_input(class_->input_doc_spacing); + if (!*input) { + fl_set_choice (class_->choice_doc_spacing, 1); + } else { + fl_set_choice(class_->choice_doc_spacing, 4); + } + } + // this has to be all out of if/elseif because it has to deactivate + // the document buttons and so the whole stuff has to be tested again. + str = fl_get_input(paper_->input_custom_width); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_custom_height); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_left_margin); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_right_margin); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_top_margin); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_bottom_margin); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_head_height); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_head_sep); + ok = ok && (str.empty() || isValidLength(str)); + str = fl_get_input(paper_->input_foot_skip); + ok = ok && (str.empty() || isValidLength(str)); + // "Synchronize" the choice and the input field, so that it + // is impossible to commit senseless data. + input = fl_get_input (class_->input_doc_skip); + if (ob == class_->input_doc_skip) { + if (!*input) { + fl_set_choice (class_->choice_doc_skip, 2); + } else if (isValidGlueLength (input)) { + fl_set_choice (class_->choice_doc_skip, 4); + } else { + fl_set_choice(class_->choice_doc_skip, 4); + ok = false; + } + } else { + if (*input && !isValidGlueLength(input)) + ok = false; + } + if ((fl_get_choice(class_->choice_doc_skip) == 4) && !*input) + ok = false; + else if (fl_get_choice(class_->choice_doc_skip) != 4) + fl_set_input (class_->input_doc_skip, ""); + + fprintf(stderr,"%d\n",fl_get_choice(class_->choice_doc_spacing)); + if ((fl_get_choice(class_->choice_doc_spacing) == 4) && !*input) + ok = false; + else if (fl_get_choice(class_->choice_doc_spacing) != 4) + fl_set_input (class_->input_doc_spacing, ""); + if (!ok) + DeactivateDocumentButtons(); +} + +void FormDocument::ChoiceBulletSizeCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->ChoiceBulletSize(ob,0); +} + +void FormDocument::ChoiceBulletSize(FL_OBJECT * ob, long /*data*/ ) +{ + BufferParams & param = lv_->buffer()->params; + + // convert from 1-6 range to -1-4 + param.temp_bullets[current_bullet_depth].setSize(fl_get_choice(ob) - 2); + fl_set_input(bullets_->input_bullet_latex, + param.temp_bullets[current_bullet_depth].c_str()); +} + +void FormDocument::InputBulletLaTeXCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->InputBulletLaTeX(ob,0); +} + +void FormDocument::InputBulletLaTeX(FL_OBJECT *, long) +{ + BufferParams & param = lv_->buffer()->params; + + param.temp_bullets[current_bullet_depth]. + setText(fl_get_input(bullets_->input_bullet_latex)); +} + +void FormDocument::BulletDepthCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->BulletDepth(ob,0); +} + +void FormDocument::BulletDepth(FL_OBJECT * ob, long data) +{ + /* Should I do the following: */ + /* 1. change to the panel that the current bullet belongs in */ + /* 2. show that bullet as selected */ + /* 3. change the size setting to the size of the bullet in Q.*/ + /* 4. display the latex equivalent in the latex box */ + /* */ + /* I'm inclined to just go with 3 and 4 at the moment and */ + /* maybe try to support the others later */ + BufferParams & param = lv_->buffer()->params; + + switch (fl_get_button_numb(ob)) { + case 3: + // right mouse button resets to default + param.temp_bullets[data] = ITEMIZE_DEFAULTS[data]; + default: + current_bullet_depth = data; + fl_set_input(bullets_->input_bullet_latex, + param.temp_bullets[data].c_str()); + fl_set_choice(bullets_->choice_bullet_size, + param.temp_bullets[data].getSize() + 2); + } +} + +void FormDocument::BulletPanelCB(FL_OBJECT * ob, long data) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->BulletPanel(ob,data); +} + +void FormDocument::BulletPanel(FL_OBJECT * /*ob*/, long data) +{ + /* Here we have to change the background pixmap to that selected */ + /* by the user. (eg. standard.xpm, psnfss1.xpm etc...) */ + + if (data != current_bullet_panel) { + fl_freeze_form(bullets_->form_doc_bullet); + current_bullet_panel = data; + + /* free the current pixmap */ + fl_free_bmtable_pixmap(bullets_->bmtable_bullet_panel); + string new_panel; + switch (data) { + /* display the new one */ + case 0 : + new_panel = "standard"; + break; + case 1 : + new_panel = "amssymb"; + break; + case 2 : + new_panel = "psnfss1"; + break; + case 3 : + new_panel = "psnfss2"; + break; + case 4 : + new_panel = "psnfss3"; + break; + case 5 : + new_panel = "psnfss4"; + break; + default : + /* something very wrong happened */ + // play it safe for now but should be an exception + current_bullet_panel = 0; // standard panel + new_panel = "standard"; + break; + } + new_panel += ".xpm"; + fl_set_bmtable_pixmap_file(bullets_->bmtable_bullet_panel, 6, 6, + LibFileSearch("images", new_panel.c_str()).c_str()); + fl_redraw_object(bullets_->bmtable_bullet_panel); + fl_unfreeze_form(bullets_->form_doc_bullet); + } +} + +void FormDocument::BulletBMTableCB(FL_OBJECT * ob, long) +{ + FormDocument * pre = (FormDocument*)ob->form->u_vdata; + pre->BulletBMTable(ob,0); +} + +void FormDocument::BulletBMTable(FL_OBJECT * ob, long /*data*/ ) +{ + /* handle the user input by setting the current bullet depth's pixmap */ + /* to that extracted from the current chosen position of the BMTable */ + /* Don't forget to free the button's old pixmap first. */ + + BufferParams & param = lv_->buffer()->params; + int bmtable_button = fl_get_bmtable(ob); + + /* try to keep the button held down till another is pushed */ + /* fl_set_bmtable(ob, 1, bmtable_button); */ + param.temp_bullets[current_bullet_depth].setFont(current_bullet_panel); + param.temp_bullets[current_bullet_depth].setCharacter(bmtable_button); + fl_set_input(bullets_->input_bullet_latex, + param.temp_bullets[current_bullet_depth].c_str()); +} + +void FormDocument::DeactivateDocumentButtons() +{ + fl_deactivate_object(dialog_->button_ok); + fl_deactivate_object(dialog_->button_apply); + fl_set_object_lcol(dialog_->button_ok, FL_INACTIVE); + fl_set_object_lcol(dialog_->button_apply, FL_INACTIVE); +} + +void FormDocument::ActivateDocumentButtons() +{ + fl_activate_object(dialog_->button_ok); + fl_activate_object(dialog_->button_apply); + fl_set_object_lcol(dialog_->button_ok, FL_BLACK); + fl_set_object_lcol(dialog_->button_apply, FL_BLACK); +} + +void FormDocument::EnableDocumentLayout() +{ + ActivateDocumentButtons (); + fl_activate_object (class_->radio_doc_indent); + fl_activate_object (class_->radio_doc_skip); + fl_activate_object (class_->choice_doc_class); + fl_activate_object (class_->choice_doc_pagestyle); + fl_activate_object (class_->choice_doc_fonts); + fl_activate_object (class_->choice_doc_fontsize); + fl_activate_object (class_->radio_doc_sides_one); + fl_activate_object (class_->radio_doc_sides_two); + fl_activate_object (class_->radio_doc_columns_one); + fl_activate_object (class_->radio_doc_columns_two); + fl_activate_object (class_->input_doc_extra); + fl_activate_object (class_->input_doc_skip); + fl_activate_object (class_->choice_doc_skip); + fl_activate_object (class_->choice_doc_spacing); + fl_activate_object (class_->input_doc_spacing); + + fl_activate_object (language_->choice_language); + combo_language->activate(); + fl_activate_object (language_->choice_language); + fl_activate_object (language_->choice_inputenc); + + fl_activate_object (options_->slider_secnumdepth); + fl_activate_object (options_->slider_tocdepth); + fl_activate_object (options_->check_use_amsmath); + fl_activate_object (options_->input_float_placement); + fl_activate_object (options_->choice_postscript_driver); + + fl_activate_object (paper_->choice_paperpackage); + fl_activate_object (paper_->greoup_radio_orientation); + fl_activate_object (paper_->radio_portrait); + fl_activate_object (paper_->radio_landscape); + fl_activate_object (paper_->choice_papersize2); + fl_activate_object (paper_->push_use_geometry); + fl_activate_object (paper_->input_custom_width); + fl_activate_object (paper_->input_custom_height); + fl_activate_object (paper_->input_top_margin); + fl_activate_object (paper_->input_bottom_margin); + fl_activate_object (paper_->input_left_margin); + fl_activate_object (paper_->input_right_margin); + fl_activate_object (paper_->input_head_height); + fl_activate_object (paper_->input_head_sep); + fl_activate_object (paper_->input_foot_skip); +} + +void FormDocument::DisableDocumentLayout() +{ + DeactivateDocumentButtons (); + fl_deactivate_object (class_->radio_doc_indent); + fl_deactivate_object (class_->radio_doc_skip); + fl_deactivate_object (class_->choice_doc_class); + fl_deactivate_object (class_->choice_doc_pagestyle); + fl_deactivate_object (class_->choice_doc_fonts); + fl_deactivate_object (class_->choice_doc_fontsize); + fl_deactivate_object (class_->radio_doc_sides_one); + fl_deactivate_object (class_->radio_doc_sides_two); + fl_deactivate_object (class_->radio_doc_columns_one); + fl_deactivate_object (class_->radio_doc_columns_two); + fl_deactivate_object (class_->input_doc_extra); + fl_deactivate_object (class_->input_doc_skip); + fl_deactivate_object (class_->choice_doc_skip); + fl_deactivate_object (class_->choice_doc_spacing); + fl_deactivate_object (class_->input_doc_spacing); + + fl_deactivate_object (language_->choice_language); + combo_language->deactivate(); + fl_deactivate_object (language_->choice_inputenc); + + fl_deactivate_object (options_->slider_secnumdepth); + fl_deactivate_object (options_->slider_tocdepth); + fl_deactivate_object (options_->check_use_amsmath); + fl_deactivate_object (options_->input_float_placement); + fl_deactivate_object (options_->choice_postscript_driver); + + fl_deactivate_object (paper_->choice_paperpackage); + fl_deactivate_object (paper_->greoup_radio_orientation); + fl_deactivate_object (paper_->radio_portrait); + fl_deactivate_object (paper_->radio_landscape); + fl_deactivate_object (paper_->choice_papersize2); + fl_deactivate_object (paper_->push_use_geometry); + fl_deactivate_object (paper_->input_custom_width); + fl_deactivate_object (paper_->input_custom_height); + fl_deactivate_object (paper_->input_top_margin); + fl_deactivate_object (paper_->input_bottom_margin); + fl_deactivate_object (paper_->input_left_margin); + fl_deactivate_object (paper_->input_right_margin); + fl_deactivate_object (paper_->input_head_height); + fl_deactivate_object (paper_->input_head_sep); + fl_deactivate_object (paper_->input_foot_skip); +} + +void FormDocument::SetDocumentClassChoice(vector const & choices) +{ + vector::const_iterator cit = choices.begin(); + + fl_clear_choice(class_->choice_doc_class); + for (; cit != choices.end(); ++cit) + fl_addto_choice(class_->choice_doc_class,(*cit).c_str()); +} diff --git a/src/frontends/xforms/FormDocument.h b/src/frontends/xforms/FormDocument.h new file mode 100644 index 0000000000..1aa8be27e6 --- /dev/null +++ b/src/frontends/xforms/FormDocument.h @@ -0,0 +1,149 @@ +// -*- C++ -*- +/* form_document.h + * FormDocument Interface Class + */ + +#ifndef FORM_DOCUMENT_H +#define FORM_DOCUMENT_H + +#include "DialogBase.h" +#include "support/utility.hpp" +#include + +#ifdef __GNUG_ +#pragma interface +#endif + +class LyXView; +class Dialogs; +class Combox; + +struct FD_form_tabbed_document; +struct FD_form_doc_paper; +struct FD_form_doc_class; +struct FD_form_doc_language; +struct FD_form_doc_options; +struct FD_form_doc_bullet; + +#ifdef SIGC_CXX_NAMESPACES +using SigC::Connection; +#endif + +/** This class provides an XForms implementation of the FormDocument Popup. + The table-layout-form here changes values for latex-tabulars + */ +class FormDocument : public DialogBase, public noncopyable { +public: + /**@name Constructors and Destructors */ + //@{ + /// #FormDocument x(Communicator ..., Popups ...);# + FormDocument(LyXView *, Dialogs *); + /// + ~FormDocument(); + void SetDocumentClassChoice(vector const & choices); + //@} + + /**@name Real per-instance Callback Methods */ + //@{ + static int WMHideCB(FL_FORM *, void *); + static void OKCB(FL_OBJECT *, long); + static void CancelCB(FL_OBJECT *, long); + static void ApplyCB(FL_OBJECT *, long); + static void InputCB(FL_OBJECT *, long); + //@} + + enum EnumPopupStatus { + POPUP_UNMODIFIED, + POPUP_MODIFIED, + POPUP_READONLY + }; + +private: + void DeactivateDocumentButtons(); + void ActivateDocumentButtons(); + void EnableDocumentLayout(); + void DisableDocumentLayout(); + void CheckDocumentInput(FL_OBJECT * ob, long); + void ChoiceBulletSize(FL_OBJECT * ob, long); + void InputBulletLaTeX(FL_OBJECT * ob, long); + void BulletDepth(FL_OBJECT * ob, long); + void BulletPanel(FL_OBJECT * ob, long); + void BulletBMTable(FL_OBJECT * ob, long); + void checkMarginValues(); + + /**@name Real per-instance Callback Methods */ + //@{ + static void DocumentInputCB(FL_OBJECT * ob, long); + static void ChoiceBulletSizeCB(FL_OBJECT * ob, long); + static void InputBulletLaTeXCB(FL_OBJECT * ob, long); + static void BulletDepthCB(FL_OBJECT * ob, long); + static void BulletPanelCB(FL_OBJECT * ob, long); + static void BulletBMTableCB(FL_OBJECT * ob, long); + //@} + + /**@name Slot Methods */ + //@{ + /// Create the popup if necessary, update it and display it. + void show(); + /// Hide the popup. + void hide(); + /// Update the popup. + void update(); + void paper_update(); + void class_update(); + void language_update(); + void options_update(); + void bullets_update(); + /// Apply from popup + void apply(); + void paper_apply(); + bool class_apply(); + bool language_apply(); + bool options_apply(); + void bullets_apply(); + /// Cancel from popup + void cancel(); + //@} + /// Build the popup + void build(); + /// + /// Explicitly free the popup. + void free(); + + /// Typedefinitions from the fdesign produced Header file + FD_form_tabbed_document * build_tabbed_document(); + FD_form_doc_paper * build_doc_paper(); + FD_form_doc_class * build_doc_class(); + FD_form_doc_language * build_doc_language(); + FD_form_doc_options * build_doc_options(); + FD_form_doc_bullet * build_doc_bullet(); + + /**@name Private Data */ + //@{ + /// Real GUI implementation. + FD_form_tabbed_document * dialog_; + FD_form_doc_paper * paper_; + FD_form_doc_class * class_; + FD_form_doc_language * language_; + FD_form_doc_options * options_; + FD_form_doc_bullet * bullets_; + /// Which LyXView do we belong to? + LyXView * lv_; + Dialogs * d_; + /// Update connection. + Connection u_; + /// Hide connection. + Connection h_; + /// has form contents changed? Used to control OK/Apply + EnumPopupStatus status; + //@} + int + ActCell, Confirmed, + current_bullet_panel, current_bullet_depth; + /// + FL_OBJECT * fbullet; + /// + Combox * combo_language; +}; + +#endif diff --git a/src/frontends/xforms/Makefile.am b/src/frontends/xforms/Makefile.am index 69cc9ea199..1d2b03fce2 100644 --- a/src/frontends/xforms/Makefile.am +++ b/src/frontends/xforms/Makefile.am @@ -22,6 +22,10 @@ libxforms_la_SOURCES = \ FormCopyright.h \ form_copyright.C \ form_copyright.h \ + FormDocument.C \ + FormDocument.h \ + form_document.C \ + form_document.h \ FormGraphics.C \ FormGraphics.h \ form_graphics.C \ diff --git a/src/frontends/xforms/form_document.C b/src/frontends/xforms/form_document.C new file mode 100644 index 0000000000..5fe043aaf3 --- /dev/null +++ b/src/frontends/xforms/form_document.C @@ -0,0 +1,416 @@ +// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext +#include +#include "lyx_gui_misc.h" +#include "gettext.h" + +/* Form definition file generated with fdesign. */ + +#include FORMS_H_LOCATION +#include +#include "form_document.h" +#include "FormDocument.h" +#include "bmtable.h" +#include "support/filetools.h" + +FD_form_tabbed_document * FormDocument::build_tabbed_document() +{ + FL_OBJECT *obj; + FD_form_tabbed_document *fdui = new FD_form_tabbed_document; + + fdui->form_tabbed_document = fl_bgn_form(FL_NO_BOX, 465, 450); + fdui->form_tabbed_document->u_vdata = this; + obj = fl_add_box(FL_UP_BOX, 0, 0, 465, 450, ""); + fdui->tabbed_folder = obj = fl_add_tabfolder(FL_TOP_TABFOLDER, 20, 15, 435, 365, _("Tabbed folder")); + fl_set_object_resize(obj, FL_RESIZE_ALL); + obj = fl_add_button(FL_NORMAL_BUTTON, 355, 410, 100, 30, idex(_("Cancel|^["))); + fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, CancelCB, 0); + fdui->button_apply = obj = fl_add_button(FL_NORMAL_BUTTON, 245, 410, 100, 30, idex(_("Apply|#A"))); + fl_set_button_shortcut(obj, scex(_("Apply|#A")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, ApplyCB, 0); + fdui->button_ok = obj = fl_add_button(FL_RETURN_BUTTON, 135, 410, 100, 30, _("OK")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, OKCB, 0); + fdui->text_warning = obj = fl_add_text(FL_NORMAL_TEXT, 20, 380, 435, 30, ""); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + fl_end_form(); + + fdui->form_tabbed_document->fdui = fdui; + + return fdui; +} +/*---------------------------------------*/ + +FD_form_doc_paper * FormDocument::build_doc_paper() +{ + FL_OBJECT *obj; + FD_form_doc_paper *fdui = new FD_form_doc_paper; + + fdui->form_doc_paper = fl_bgn_form(FL_NO_BOX, 440, 345); + fdui->form_doc_paper->u_vdata = this; + obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, ""); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 230, 85, 200, 100, ""); + fl_set_object_color(obj, FL_COL1, FL_COL1); + fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT); + fdui->choice_paperpackage = obj = fl_add_choice(FL_NORMAL_CHOICE, 290, 15, 140, 30, idex(_("Special:|#S"))); + fl_set_button_shortcut(obj, scex(_("Special:|#S")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 230, 205, 200, 130, ""); + fl_set_object_color(obj, FL_COL1, FL_COL1); + fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 165, 190, 170, ""); + fl_set_object_color(obj, FL_COL1, FL_COL1); + fl_set_object_lalign(obj, FL_ALIGN_TOP_LEFT); + obj = fl_add_text(FL_NORMAL_TEXT, 20, 155, 70, 20, _("Margins")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + obj = fl_add_text(FL_NORMAL_TEXT, 240, 195, 160, 20, _("Foot/Head Margins")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 440, 360, 10, 10, ""); + fl_set_object_color(obj, FL_COL1, FL_COL1); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 440, 350, 10, 10, ""); + fl_set_object_color(obj, FL_COL1, FL_COL1); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 10, 85, 190, 70, ""); + fl_set_object_color(obj, FL_COL1, FL_COL1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + obj = fl_add_text(FL_NORMAL_TEXT, 20, 75, 95, 20, _("Orientation")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + + fdui->greoup_radio_orientation = fl_bgn_group(); + fdui->radio_portrait = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 20, 90, 120, 30, idex(_("Portrait|#o"))); + fl_set_button_shortcut(obj, scex(_("Portrait|#o")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->radio_landscape = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 20, 120, 120, 30, idex(_("Landscape|#L"))); + fl_set_button_shortcut(obj, scex(_("Landscape|#L")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_end_group(); + + fdui->choice_papersize2 = obj = fl_add_choice(FL_NORMAL_CHOICE, 70, 15, 160, 30, idex(_("Papersize:|#P"))); + fl_set_button_shortcut(obj, scex(_("Papersize:|#P")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + obj = fl_add_text(FL_NORMAL_TEXT, 240, 75, 150, 20, _("Custom Papersize")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + fdui->push_use_geometry = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 20, 45, 170, 30, idex(_("Use Geometry Package|#U"))); + fl_set_button_shortcut(obj, scex(_("Use Geometry Package|#U")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->input_custom_width = obj = fl_add_input(FL_NORMAL_INPUT, 330, 100, 90, 30, idex(_("Width:|#W"))); + fl_set_button_shortcut(obj, scex(_("Width:|#W")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_custom_height = obj = fl_add_input(FL_NORMAL_INPUT, 330, 140, 90, 30, idex(_("Height:|#H"))); + fl_set_button_shortcut(obj, scex(_("Height:|#H")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_top_margin = obj = fl_add_input(FL_NORMAL_INPUT, 100, 175, 90, 30, idex(_("Top:|#T"))); + fl_set_button_shortcut(obj, scex(_("Top:|#T")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_bottom_margin = obj = fl_add_input(FL_NORMAL_INPUT, 100, 215, 90, 30, idex(_("Bottom:|#B"))); + fl_set_button_shortcut(obj, scex(_("Bottom:|#B")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_left_margin = obj = fl_add_input(FL_NORMAL_INPUT, 100, 255, 90, 30, idex(_("Left:|#e"))); + fl_set_button_shortcut(obj, scex(_("Left:|#e")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_right_margin = obj = fl_add_input(FL_NORMAL_INPUT, 100, 295, 90, 30, idex(_("Right:|#R"))); + fl_set_button_shortcut(obj, scex(_("Right:|#R")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_head_height = obj = fl_add_input(FL_NORMAL_INPUT, 330, 215, 90, 30, idex(_("Headheight:|#i"))); + fl_set_button_shortcut(obj, scex(_("Headheight:|#i")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_head_sep = obj = fl_add_input(FL_NORMAL_INPUT, 330, 255, 90, 30, idex(_("Headsep:|#d"))); + fl_set_button_shortcut(obj, scex(_("Headsep:|#d")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_foot_skip = obj = fl_add_input(FL_NORMAL_INPUT, 330, 295, 90, 30, idex(_("Footskip:|#F"))); + fl_set_button_shortcut(obj, scex(_("Footskip:|#F")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->text_warning = obj = fl_add_text(FL_NORMAL_TEXT, 10, 360, 420, 20, ""); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + fl_end_form(); + + fdui->form_doc_paper->fdui = fdui; + + return fdui; +} +/*---------------------------------------*/ + +FD_form_doc_class * FormDocument::build_doc_class() +{ + FL_OBJECT *obj; + FD_form_doc_class *fdui = new FD_form_doc_class; + + fdui->form_doc_class = fl_bgn_form(FL_NO_BOX, 440, 345); + fdui->form_doc_class->u_vdata = this; + obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, ""); + obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 300, 200, 120, 80, _("Separation")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 300, 110, 120, 70, _("Columns")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 300, 20, 120, 70, _("Sides")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + fdui->choice_doc_fonts = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 100, 160, 30, idex(_("Fonts:|#F"))); + fl_set_button_shortcut(obj, scex(_("Fonts:|#F")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->choice_doc_fontsize = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 140, 160, 30, idex(_("Font Size:|#O"))); + fl_set_button_shortcut(obj, scex(_("Font Size:|#O")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->choice_doc_class = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 20, 160, 30, idex(_("Class:|#C"))); + fl_set_button_shortcut(obj, scex(_("Class:|#C")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->choice_doc_pagestyle = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 60, 160, 30, idex(_("Pagestyle:|#P"))); + fl_set_button_shortcut(obj, scex(_("Pagestyle:|#P")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->choice_doc_spacing = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 290, 160, 30, idex(_("Spacing|#g"))); + fl_set_button_shortcut(obj, scex(_("Spacing|#g")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->input_doc_extra = obj = fl_add_input(FL_NORMAL_INPUT, 120, 185, 160, 30, idex(_("Extra Options:|#X"))); + fl_set_button_shortcut(obj, scex(_("Extra Options:|#X")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->input_doc_skip = obj = fl_add_input(FL_NORMAL_INPUT, 220, 225, 60, 30, ""); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fdui->choice_doc_skip = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 225, 90, 30, idex(_("Default Skip:|#u"))); + fl_set_button_shortcut(obj, scex(_("Default Skip:|#u")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + + fdui->group_doc_sides = fl_bgn_group(); + fdui->radio_doc_sides_one = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 300, 30, 120, 30, idex(_("One|#n"))); + fl_set_button_shortcut(obj, scex(_("One|#n")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->radio_doc_sides_two = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 300, 60, 120, 30, idex(_("Two|#T"))); + fl_set_button_shortcut(obj, scex(_("Two|#T")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_end_group(); + + + fdui->group_doc_columns = fl_bgn_group(); + fdui->radio_doc_columns_one = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 300, 120, 110, 30, idex(_("One|#e"))); + fl_set_button_shortcut(obj, scex(_("One|#e")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->radio_doc_columns_two = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 300, 150, 110, 30, idex(_("Two|#w"))); + fl_set_button_shortcut(obj, scex(_("Two|#w")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_end_group(); + + + fdui->group_doc_sep = fl_bgn_group(); + fdui->radio_doc_indent = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 300, 210, 110, 30, idex(_("Indent|#I"))); + fl_set_button_shortcut(obj, scex(_("Indent|#I")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->radio_doc_skip = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 300, 240, 110, 30, idex(_("Skip|#K"))); + fl_set_button_shortcut(obj, scex(_("Skip|#K")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_button(obj, 1); + fl_end_group(); + + fdui->input_doc_spacing = obj = fl_add_input(FL_NORMAL_INPUT, 300, 290, 120, 30, ""); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_callback(obj, InputCB, 0); + fl_end_form(); + + fdui->form_doc_class->fdui = fdui; + + return fdui; +} +/*---------------------------------------*/ + +FD_form_doc_language * FormDocument::build_doc_language() +{ + FL_OBJECT *obj; + FD_form_doc_language *fdui = new FD_form_doc_language; + + fdui->form_doc_language = fl_bgn_form(FL_NO_BOX, 440, 345); + fdui->form_doc_language->u_vdata = this; + obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, ""); + obj = fl_add_labelframe(FL_ENGRAVED_FRAME, 40, 120, 290, 110, _("Quote Style ")); + fdui->choice_inputenc = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 70, 190, 30, idex(_("Encoding:|#D"))); + fl_set_button_shortcut(obj, scex(_("Encoding:|#D")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->choice_quotes_language = obj = fl_add_choice(FL_NORMAL_CHOICE, 110, 140, 190, 30, idex(_("Type:|#T"))); + fl_set_button_shortcut(obj, scex(_("Type:|#T")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_bgn_group(); + fdui->radio_single = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 110, 180, 90, 30, idex(_("Single|#S"))); + fl_set_button_shortcut(obj, scex(_("Single|#S")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->radio_double = obj = fl_add_checkbutton(FL_RADIO_BUTTON, 210, 180, 90, 30, idex(_("Double|#D"))); + fl_set_button_shortcut(obj, scex(_("Double|#D")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_end_group(); + + fdui->choice_language = obj = fl_add_choice(FL_NORMAL_CHOICE, 120, 35, 190, 30, idex(_("Language:|#L"))); + fl_set_button_shortcut(obj, scex(_("Language:|#L")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_end_form(); + + fdui->form_doc_language->fdui = fdui; + + return fdui; +} +/*---------------------------------------*/ + +FD_form_doc_options * FormDocument::build_doc_options() +{ + FL_OBJECT *obj; + FD_form_doc_options *fdui = new FD_form_doc_options; + + fdui->form_doc_options = fl_bgn_form(FL_NO_BOX, 440, 345); + fdui->form_doc_options->u_vdata = this; + obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, ""); + fdui->input_float_placement = obj = fl_add_input(FL_NORMAL_INPUT, 155, 60, 120, 30, idex(_("Float Placement:|#L"))); + fl_set_button_shortcut(obj, scex(_("Float Placement:|#L")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->slider_secnumdepth = obj = fl_add_counter(FL_SIMPLE_COUNTER, 155, 110, 80, 30, _("Section number depth")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT); + fdui->slider_tocdepth = obj = fl_add_counter(FL_SIMPLE_COUNTER, 155, 150, 80, 30, _("Table of contents depth")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT); + fdui->choice_postscript_driver = obj = fl_add_choice(FL_NORMAL_CHOICE, 155, 205, 190, 30, idex(_("PS Driver:|#S"))); + fl_set_button_shortcut(obj, scex(_("PS Driver:|#S")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fdui->check_use_amsmath = obj = fl_add_checkbutton(FL_PUSH_BUTTON, 140, 250, 200, 30, idex(_("Use AMS Math|#M"))); + fl_set_button_shortcut(obj, scex(_("Use AMS Math|#M")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_end_form(); + + fdui->form_doc_options->fdui = fdui; + + return fdui; +} +/*---------------------------------------*/ + +FD_form_doc_bullet * FormDocument::build_doc_bullet() +{ + FL_OBJECT *obj; + FD_form_doc_bullet *fdui = new FD_form_doc_bullet; + + fdui->form_doc_bullet = fl_bgn_form(FL_NO_BOX, 440, 345); + fdui->form_doc_bullet->u_vdata = this; + fl_set_border_width(-1); + obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, ""); + fl_set_border_width(-3); + fdui->bmtable_bullet_panel = obj = fl_add_bmtable(1, 90, 105, 265, 180, ""); + fl_set_object_callback(obj, BulletBMTableCB, 0); + fl_set_object_lcol(obj, FL_BLUE); + fl_set_object_boxtype(obj, FL_UP_BOX); + fl_set_bmtable_pixmap_file(obj, 6, 6, + LibFileSearch("images", "standard.xpm").c_str()); + fl_set_border_width(-1); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 95, 20, 255, 70, ""); + fdui->choice_bullet_size = obj = fl_add_choice(FL_NORMAL_CHOICE, 15, 45, 65, 30, idex(_("Size|#z"))); + fl_set_button_shortcut(obj, scex(_("Size|#z")), 1); + fl_set_object_boxtype(obj, FL_FRAME_BOX); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_TOP); + fl_set_object_callback(obj, ChoiceBulletSizeCB, 0); + fdui->input_bullet_latex = obj = fl_add_input(FL_NORMAL_INPUT, 80, 300, 275, 30, idex(_("LaTeX|#L"))); + fl_set_button_shortcut(obj, scex(_("LaTeX|#L")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lstyle(obj, FL_FIXED_STYLE); + fl_set_input_return(obj, FL_RETURN_CHANGED); + fl_set_input_maxchars(obj, 80); + fl_set_object_callback(obj, InputBulletLaTeXCB, 0); + + fdui->radio_bullet_depth = fl_bgn_group(); + fdui->radio_bullet_depth_1 = obj = fl_add_button(FL_RADIO_BUTTON, 105, 35, 55, 40, idex(_("1|#1"))); + fl_set_button_shortcut(obj, scex(_("1|#1")), 1); + fl_set_object_lsize(obj, FL_LARGE_SIZE); + fl_set_object_callback(obj, BulletDepthCB, 0); + fl_set_button(obj, 1); + fdui->radio_bullet_depth_2 = obj = fl_add_button(FL_RADIO_BUTTON, 165, 35, 55, 40, idex(_("2|#2"))); + fl_set_button_shortcut(obj, scex(_("2|#2")), 1); + fl_set_object_lsize(obj, FL_LARGE_SIZE); + fl_set_object_callback(obj, BulletDepthCB, 1); + fdui->radio_bullet_depth_3 = obj = fl_add_button(FL_RADIO_BUTTON, 225, 35, 55, 40, idex(_("3|#3"))); + fl_set_button_shortcut(obj, scex(_("3|#3")), 1); + fl_set_object_lsize(obj, FL_LARGE_SIZE); + fl_set_object_callback(obj, BulletDepthCB, 2); + fdui->radio_bullet_depth_4 = obj = fl_add_button(FL_RADIO_BUTTON, 285, 35, 55, 40, idex(_("4|#4"))); + fl_set_button_shortcut(obj, scex(_("4|#4")), 1); + fl_set_object_lsize(obj, FL_LARGE_SIZE); + fl_set_object_callback(obj, BulletDepthCB, 3); + fl_end_group(); + + obj = fl_add_text(FL_NORMAL_TEXT, 105, 10, 85, 20, _("Bullet Depth")); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lalign(obj, FL_ALIGN_LEFT|FL_ALIGN_INSIDE); + + fdui->radio_bullet_panel = fl_bgn_group(); + fdui->radio_bullet_panel_standard = obj = fl_add_button(FL_RADIO_BUTTON, 15, 105, 65, 30, idex(_("Standard|#S"))); + fl_set_button_shortcut(obj, scex(_("Standard|#S")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_resize(obj, FL_RESIZE_NONE); + fl_set_object_callback(obj, BulletPanelCB, 0); + fl_set_button(obj, 1); + fdui->radio_bullet_panel_maths = obj = fl_add_button(FL_RADIO_BUTTON, 15, 135, 65, 30, idex(_("Maths|#M"))); + fl_set_button_shortcut(obj, scex(_("Maths|#M")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_resize(obj, FL_RESIZE_NONE); + fl_set_object_callback(obj, BulletPanelCB, 1); + fdui->radio_bullet_panel_ding2 = obj = fl_add_button(FL_RADIO_BUTTON, 15, 195, 65, 30, idex(_("Ding 2|#i"))); + fl_set_button_shortcut(obj, scex(_("Ding 2|#i")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_resize(obj, FL_RESIZE_NONE); + fl_set_object_callback(obj, BulletPanelCB, 3); + fdui->radio_bullet_panel_ding3 = obj = fl_add_button(FL_RADIO_BUTTON, 15, 225, 65, 30, idex(_("Ding 3|#n"))); + fl_set_button_shortcut(obj, scex(_("Ding 3|#n")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_resize(obj, FL_RESIZE_NONE); + fl_set_object_callback(obj, BulletPanelCB, 4); + fdui->radio_bullet_panel_ding4 = obj = fl_add_button(FL_RADIO_BUTTON, 15, 255, 65, 30, idex(_("Ding 4|#g"))); + fl_set_button_shortcut(obj, scex(_("Ding 4|#g")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_resize(obj, FL_RESIZE_NONE); + fl_set_object_callback(obj, BulletPanelCB, 5); + fdui->radio_bullet_panel_ding1 = obj = fl_add_button(FL_RADIO_BUTTON, 15, 165, 65, 30, idex(_("Ding 1|#D"))); + fl_set_button_shortcut(obj, scex(_("Ding 1|#D")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_resize(obj, FL_RESIZE_NONE); + fl_set_object_callback(obj, BulletPanelCB, 2); + fl_end_group(); + + fl_end_form(); + + fdui->form_doc_bullet->fdui = fdui; + + return fdui; +} +/*---------------------------------------*/ + diff --git a/src/frontends/xforms/form_document.h b/src/frontends/xforms/form_document.h new file mode 100644 index 0000000000..9d7f7c56a2 --- /dev/null +++ b/src/frontends/xforms/form_document.h @@ -0,0 +1,112 @@ +/** Header file generated with fdesign on Fri Aug 11 15:45:35 2000.**/ + +#ifndef FD_form_tabbed_document_h_ +#define FD_form_tabbed_document_h_ + +/** Callbacks, globals and object handlers **/ +extern "C" void CancelCB(FL_OBJECT *, long); +extern "C" void ApplyCB(FL_OBJECT *, long); +extern "C" void OKCB(FL_OBJECT *, long); + +extern "C" void InputCB(FL_OBJECT *, long); + +extern "C" void InputCB(FL_OBJECT *, long); + + + +extern "C" void ChoiceBulletSizeCB(FL_OBJECT *, long); +extern "C" void InputBulletLaTeXCB(FL_OBJECT *, long); +extern "C" void BulletDepthCB(FL_OBJECT *, long); +extern "C" void BulletPanelCB(FL_OBJECT *, long); + + +/**** Forms and Objects ****/ +struct FD_form_tabbed_document { + + FL_FORM *form_tabbed_document; + FL_OBJECT *tabbed_folder; + FL_OBJECT *button_apply; + FL_OBJECT *button_ok; + FL_OBJECT *text_warning; +}; +struct FD_form_doc_paper { + + FL_FORM *form_doc_paper; + FL_OBJECT *choice_paperpackage; + FL_OBJECT *greoup_radio_orientation; + FL_OBJECT *radio_portrait; + FL_OBJECT *radio_landscape; + FL_OBJECT *choice_papersize2; + FL_OBJECT *push_use_geometry; + FL_OBJECT *input_custom_width; + FL_OBJECT *input_custom_height; + FL_OBJECT *input_top_margin; + FL_OBJECT *input_bottom_margin; + FL_OBJECT *input_left_margin; + FL_OBJECT *input_right_margin; + FL_OBJECT *input_head_height; + FL_OBJECT *input_head_sep; + FL_OBJECT *input_foot_skip; + FL_OBJECT *text_warning; +}; +struct FD_form_doc_class { + + FL_FORM *form_doc_class; + FL_OBJECT *choice_doc_fonts; + FL_OBJECT *choice_doc_fontsize; + FL_OBJECT *choice_doc_class; + FL_OBJECT *choice_doc_pagestyle; + FL_OBJECT *choice_doc_spacing; + FL_OBJECT *input_doc_extra; + FL_OBJECT *input_doc_skip; + FL_OBJECT *choice_doc_skip; + FL_OBJECT *group_doc_sides; + FL_OBJECT *radio_doc_sides_one; + FL_OBJECT *radio_doc_sides_two; + FL_OBJECT *group_doc_columns; + FL_OBJECT *radio_doc_columns_one; + FL_OBJECT *radio_doc_columns_two; + FL_OBJECT *group_doc_sep; + FL_OBJECT *radio_doc_indent; + FL_OBJECT *radio_doc_skip; + FL_OBJECT *input_doc_spacing; +}; +struct FD_form_doc_language { + + FL_FORM *form_doc_language; + FL_OBJECT *choice_inputenc; + FL_OBJECT *choice_quotes_language; + FL_OBJECT *radio_single; + FL_OBJECT *radio_double; + FL_OBJECT *choice_language; +}; +struct FD_form_doc_options { + + FL_FORM *form_doc_options; + FL_OBJECT *input_float_placement; + FL_OBJECT *slider_secnumdepth; + FL_OBJECT *slider_tocdepth; + FL_OBJECT *choice_postscript_driver; + FL_OBJECT *check_use_amsmath; +}; +struct FD_form_doc_bullet { + + FL_FORM *form_doc_bullet; + FL_OBJECT *bmtable_bullet_panel; + FL_OBJECT *choice_bullet_size; + FL_OBJECT *input_bullet_latex; + FL_OBJECT *radio_bullet_depth; + FL_OBJECT *radio_bullet_depth_1; + FL_OBJECT *radio_bullet_depth_2; + FL_OBJECT *radio_bullet_depth_3; + FL_OBJECT *radio_bullet_depth_4; + FL_OBJECT *radio_bullet_panel; + FL_OBJECT *radio_bullet_panel_standard; + FL_OBJECT *radio_bullet_panel_maths; + FL_OBJECT *radio_bullet_panel_ding2; + FL_OBJECT *radio_bullet_panel_ding3; + FL_OBJECT *radio_bullet_panel_ding4; + FL_OBJECT *radio_bullet_panel_ding1; +}; + +#endif /* FD_form_tabbed_document_h_ */ diff --git a/src/frontends/xforms/forms/fdfix.sh b/src/frontends/xforms/forms/fdfix.sh index 74f413d72d..4b86724cf2 100644 --- a/src/frontends/xforms/forms/fdfix.sh +++ b/src/frontends/xforms/forms/fdfix.sh @@ -21,10 +21,10 @@ if [ ! -f $1 ]; then exit 1 fi -# If there is a patch for the outputfile patch the input file with it. -if [ -f "$2.patch" ]; then - echo "Patching $1 with $2.patch" - patch -s $1 < "$2.patch" +# If there is a patch for the inputfile patch the input file with it. +if [ -f "$1.patch" ]; then + echo "Patching $1 with $1.patch" + patch -s $1 < "$1.patch" fi echo "// File modified by fdfix.sh for use by lyx (with xforms >= 0.88) and gettext" > $2 diff --git a/src/frontends/xforms/forms/form_document.C.patch b/src/frontends/xforms/forms/form_document.C.patch new file mode 100644 index 0000000000..c18dbfc6ce --- /dev/null +++ b/src/frontends/xforms/forms/form_document.C.patch @@ -0,0 +1,40 @@ +--- form_document.C.old Fri Aug 11 15:30:33 2000 ++++ form_document.C Fri Aug 11 15:32:41 2000 +@@ -9,6 +9,8 @@ + #include + #include "form_document.h" + #include "FormDocument.h" ++#include "bmtable.h" ++#include "support/filetools.h" + + FD_form_tabbed_document * FormDocument::build_tabbed_document() + { +@@ -321,10 +323,16 @@ + + fdui->form_doc_bullet = fl_bgn_form(FL_NO_BOX, 440, 345); + fdui->form_doc_bullet->u_vdata = this; ++ fl_set_border_width(-1); + obj = fl_add_box(FL_UP_BOX, 0, 0, 440, 345, ""); +- fdui->bmtable_bullet_panel = obj = fl_add_pixmapbutton(FL_NORMAL_BUTTON, 90, 105, 260, 180, ""); +- fl_set_object_boxtype(obj, FL_NO_BOX); +- fl_set_pixmapbutton_file(obj, _("/nfs/sinco/source/lyx/lyx-devel/lib/images/psnfss2.xpm")); ++ fl_set_border_width(-3); ++ fdui->bmtable_bullet_panel = obj = fl_add_bmtable(1, 90, 105, 265, 180, ""); ++ fl_set_object_callback(obj, BulletBMTableCB, 0); ++ fl_set_object_lcol(obj, FL_BLUE); ++ fl_set_object_boxtype(obj, FL_UP_BOX); ++ fl_set_bmtable_pixmap_file(obj, 6, 6, ++ LibFileSearch("images", "standard.xpm").c_str()); ++ fl_set_border_width(-1); + obj = fl_add_frame(FL_ENGRAVED_FRAME, 95, 20, 255, 70, ""); + fdui->choice_bullet_size = obj = fl_add_choice(FL_NORMAL_CHOICE, 15, 45, 65, 30, idex(_("Size|#z"))); + fl_set_button_shortcut(obj, scex(_("Size|#z")), 1); +@@ -336,6 +344,8 @@ + fl_set_button_shortcut(obj, scex(_("LaTeX|#L")), 1); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_object_lstyle(obj, FL_FIXED_STYLE); ++ fl_set_input_return(obj, FL_RETURN_CHANGED); ++ fl_set_input_maxchars(obj, 80); + fl_set_object_callback(obj, InputBulletLaTeXCB, 0); + + fdui->radio_bullet_depth = fl_bgn_group(); diff --git a/src/frontends/xforms/forms/form_document.fd b/src/frontends/xforms/forms/form_document.fd new file mode 100644 index 0000000000..1b6831dd54 --- /dev/null +++ b/src/frontends/xforms/forms/form_document.fd @@ -0,0 +1,1744 @@ +Magic: 13000 + +Internal Form Definition File + (do not change) + +Number of forms: 6 +Unit of measure: FL_COORD_PIXEL +SnapGrid: 5 + +=============== FORM =============== +Name: form_tabbed_document +Width: 465 +Height: 450 +Number of Objects: 6 + +-------------------- +class: FL_BOX +type: UP_BOX +box: 0 0 465 450 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_TABFOLDER +type: TOP_TABFOLDER +box: 20 15 435 365 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: Tabbed folder +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: tabbed_folder +callback: +argument: + +-------------------- +class: FL_BUTTON +type: NORMAL_BUTTON +box: 355 410 100 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Cancel|^[ +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: CancelCB +argument: 0 + +-------------------- +class: FL_BUTTON +type: NORMAL_BUTTON +box: 245 410 100 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Apply|#A +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: button_apply +callback: ApplyCB +argument: 0 + +-------------------- +class: FL_BUTTON +type: RETURN_BUTTON +box: 135 410 100 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: OK +shortcut: ^M +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: button_ok +callback: OKCB +argument: 0 + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 20 380 435 30 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: text_warning +callback: +argument: + +=============== FORM =============== +Name: form_doc_paper +Width: 440 +Height: 345 +Number of Objects: 28 + +-------------------- +class: FL_BOX +type: UP_BOX +box: 0 0 440 345 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 230 85 200 100 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 290 15 140 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Special:|#S +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_paperpackage +callback: InputCB +argument: 0 + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 230 205 200 130 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 10 165 190 170 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 20 155 70 20 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Margins +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 240 195 160 20 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Foot/Head Margins +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 440 360 10 10 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 440 350 10 10 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 10 85 190 70 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 20 75 95 20 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Orientation +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: greoup_radio_orientation +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 20 90 120 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Portrait|#o +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_portrait +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 20 120 120 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Landscape|#L +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_landscape +callback: +argument: + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 70 15 160 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Papersize:|#P +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_papersize2 +callback: InputCB +argument: 0 + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 240 75 150 20 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Custom Papersize +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: PUSH_BUTTON +box: 20 45 170 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Use Geometry Package|#U +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: push_use_geometry +callback: +argument: + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 330 100 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Width:|#W +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_custom_width +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 330 140 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Height:|#H +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_custom_height +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 100 175 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Top:|#T +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_top_margin +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 100 215 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Bottom:|#B +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_bottom_margin +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 100 255 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Left:|#e +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_left_margin +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 100 295 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Right:|#R +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_right_margin +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 330 215 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Headheight:|#i +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_head_height +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 330 255 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Headsep:|#d +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_head_sep +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 330 295 90 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Footskip:|#F +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_foot_skip +callback: InputCB +argument: 0 + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 10 360 420 20 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: text_warning +callback: +argument: + +=============== FORM =============== +Name: form_doc_class +Width: 440 +Height: 345 +Number of Objects: 25 + +-------------------- +class: FL_BOX +type: UP_BOX +box: 0 0 440 345 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_LABELFRAME +type: ENGRAVED_FRAME +box: 300 200 120 80 +boxtype: FL_NO_BOX +colors: FL_BLACK FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Separation +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_LABELFRAME +type: ENGRAVED_FRAME +box: 300 110 120 70 +boxtype: FL_NO_BOX +colors: FL_BLACK FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Columns +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_LABELFRAME +type: ENGRAVED_FRAME +box: 300 20 120 70 +boxtype: FL_NO_BOX +colors: FL_BLACK FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_BOLD_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Sides +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 100 160 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Fonts:|#F +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_doc_fonts +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 140 160 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Font Size:|#O +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_doc_fontsize +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 20 160 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Class:|#C +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_doc_class +callback: InputCB +argument: 0 + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 60 160 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Pagestyle:|#P +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_doc_pagestyle +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 290 160 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Spacing|#g +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_doc_spacing +callback: InputCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 120 185 160 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Extra Options:|#X +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_doc_extra +callback: +argument: + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 220 225 60 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_doc_skip +callback: InputCB +argument: 0 + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 225 90 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Default Skip:|#u +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_doc_skip +callback: InputCB +argument: 0 + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: group_doc_sides +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 300 30 120 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: One|#n +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_doc_sides_one +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 300 60 120 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Two|#T +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_doc_sides_two +callback: +argument: + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: group_doc_columns +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 300 120 110 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: One|#e +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_doc_columns_one +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 300 150 110 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Two|#w +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_doc_columns_two +callback: +argument: + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: group_doc_sep +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 300 210 110 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Indent|#I +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_doc_indent +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 300 240 110 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Skip|#K +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_doc_skip +callback: +argument: + value: 1 + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 300 290 120 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_doc_spacing +callback: InputCB +argument: 0 + +=============== FORM =============== +Name: form_doc_language +Width: 440 +Height: 345 +Number of Objects: 9 + +-------------------- +class: FL_BOX +type: UP_BOX +box: 0 0 440 345 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_LABELFRAME +type: ENGRAVED_FRAME +box: 40 120 290 110 +boxtype: FL_NO_BOX +colors: FL_BLACK FL_COL1 +alignment: FL_ALIGN_TOP_LEFT +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: Quote Style +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 70 190 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Encoding:|#D +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_inputenc +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 110 140 190 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Type:|#T +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_quotes_language +callback: +argument: + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 110 180 90 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Single|#S +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_single +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: RADIO_BUTTON +box: 210 180 90 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Double|#D +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_double +callback: +argument: + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 120 35 190 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Language:|#L +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_language +callback: +argument: + +=============== FORM =============== +Name: form_doc_options +Width: 440 +Height: 345 +Number of Objects: 6 + +-------------------- +class: FL_BOX +type: UP_BOX +box: 0 0 440 345 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 155 60 120 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Float Placement:|#L +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_float_placement +callback: +argument: + +-------------------- +class: FL_COUNTER +type: SIMPLE_COUNTER +box: 155 110 80 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_BLUE +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Section number depth +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: slider_secnumdepth +callback: +argument: + +-------------------- +class: FL_COUNTER +type: SIMPLE_COUNTER +box: 155 150 80 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_BLUE +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Table of contents depth +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: slider_tocdepth +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 155 205 190 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_LEFT +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: PS Driver:|#S +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_postscript_driver +callback: +argument: + +-------------------- +class: FL_CHECKBUTTON +type: PUSH_BUTTON +box: 140 250 200 30 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Use AMS Math|#M +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: check_use_amsmath +callback: +argument: + +=============== FORM =============== +Name: form_doc_bullet +Width: 440 +Height: 345 +Number of Objects: 20 + +-------------------- +class: FL_BOX +type: UP_BOX +box: 0 0 440 345 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_PIXMAPBUTTON +type: NORMAL_BUTTON +box: 90 105 260 180 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_YELLOW +alignment: FL_ALIGN_BOTTOM +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: bmtable_bullet_panel +callback: +argument: + file: /nfs/sinco/source/lyx/lyx-devel/lib/images/psnfss2.xpm + fullpath: 1 + +-------------------- +class: FL_FRAME +type: ENGRAVED_FRAME +box: 95 20 255 70 +boxtype: FL_NO_BOX +colors: FL_BLACK FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_CHOICE +type: NORMAL_CHOICE +box: 15 45 65 30 +boxtype: FL_FRAME_BOX +colors: FL_COL1 FL_BLACK +alignment: FL_ALIGN_TOP +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Size|#z +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: choice_bullet_size +callback: ChoiceBulletSizeCB +argument: 0 + +-------------------- +class: FL_INPUT +type: NORMAL_INPUT +box: 80 300 275 30 +boxtype: FL_DOWN_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT +style: FL_FIXED_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: LaTeX|#L +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: input_bullet_latex +callback: InputBulletLaTeXCB +argument: 0 + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_depth +callback: +argument: + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 105 35 55 40 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_LARGE_SIZE +lcol: FL_BLACK +label: 1|#1 +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_depth_1 +callback: BulletDepthCB +argument: 0 + value: 1 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 165 35 55 40 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_LARGE_SIZE +lcol: FL_BLACK +label: 2|#2 +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_depth_2 +callback: BulletDepthCB +argument: 1 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 225 35 55 40 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_LARGE_SIZE +lcol: FL_BLACK +label: 3|#3 +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_depth_3 +callback: BulletDepthCB +argument: 2 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 285 35 55 40 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_LARGE_SIZE +lcol: FL_BLACK +label: 4|#4 +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_depth_4 +callback: BulletDepthCB +argument: 3 + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_TEXT +type: NORMAL_TEXT +box: 105 10 85 20 +boxtype: FL_FLAT_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_LEFT|FL_ALIGN_INSIDE +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Bullet Depth +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +-------------------- +class: FL_BEGIN_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel +callback: +argument: + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 15 105 65 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Standard|#S +shortcut: +resize: FL_RESIZE_NONE +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel_standard +callback: BulletPanelCB +argument: 0 + value: 1 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 15 135 65 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Maths|#M +shortcut: +resize: FL_RESIZE_NONE +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel_maths +callback: BulletPanelCB +argument: 1 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 15 195 65 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Ding 2|#i +shortcut: +resize: FL_RESIZE_NONE +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel_ding2 +callback: BulletPanelCB +argument: 3 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 15 225 65 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Ding 3|#n +shortcut: +resize: FL_RESIZE_NONE +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel_ding3 +callback: BulletPanelCB +argument: 4 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 15 255 65 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Ding 4|#g +shortcut: +resize: FL_RESIZE_NONE +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel_ding4 +callback: BulletPanelCB +argument: 5 + +-------------------- +class: FL_BUTTON +type: RADIO_BUTTON +box: 15 165 65 30 +boxtype: FL_UP_BOX +colors: FL_COL1 FL_COL1 +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_NORMAL_SIZE +lcol: FL_BLACK +label: Ding 1|#D +shortcut: +resize: FL_RESIZE_NONE +gravity: FL_NoGravity FL_NoGravity +name: radio_bullet_panel_ding1 +callback: BulletPanelCB +argument: 2 + +-------------------- +class: FL_END_GROUP +type: 0 +box: 0 0 0 0 +boxtype: FL_NO_BOX +colors: FL_COL1 FL_MCOL +alignment: FL_ALIGN_CENTER +style: FL_NORMAL_STYLE +size: FL_DEFAULT_SIZE +lcol: FL_BLACK +label: +shortcut: +resize: FL_RESIZE_ALL +gravity: FL_NoGravity FL_NoGravity +name: +callback: +argument: + +============================== +create_the_forms diff --git a/src/frontends/xforms/forms/makefile b/src/frontends/xforms/forms/makefile index 95b122e00e..55f76c5166 100644 --- a/src/frontends/xforms/forms/makefile +++ b/src/frontends/xforms/forms/makefile @@ -21,6 +21,7 @@ FDESIGN = fdesign SRCS := form_citation.fd \ form_copyright.fd \ + form_document.fd \ form_graphics.fd \ form_index.fd \ form_preferences.fd \ @@ -47,6 +48,7 @@ d: c $(COBJS) # Modify the header files using the instructions in fdfixh.sed e: c + @echo "Modifying header files using the instructions in fdfixh.sed";\ for hfil in *.h ; do \ if [ -f "$$hfil.patch" ] ; then \ (echo "Patching $$hfil with $$hfil.patch" ; \ @@ -64,6 +66,10 @@ updatesrc: d e .c.C: ${SHELL} ./fdfix.sh $< $@ rm $< + @if [ -f "$@.patch" ] ; then \ + (echo "Patching $@ with $@.patch" ; \ + patch -s $@ < $@.patch) \ + fi; clean: rm -f *.[hcC] *.bak diff --git a/src/insets/insetgraphics.C b/src/insets/insetgraphics.C index 5ae17bfe47..2b6eab7f0a 100644 --- a/src/insets/insetgraphics.C +++ b/src/insets/insetgraphics.C @@ -189,7 +189,7 @@ InsetGraphics::InsetGraphics() ,keepaspectratio(false), scale(0.0), clip(false), draft(false) ,cacheHandle(0) #endif - : pixmapInitialized(false),cacheHandle(0) + : cacheHandle(0), pixmapInitialized(false) {} InsetGraphics::~InsetGraphics() diff --git a/src/insets/insetgraphics.h b/src/insets/insetgraphics.h index 4c64ffe6c9..ddaeb84f92 100644 --- a/src/insets/insetgraphics.h +++ b/src/insets/insetgraphics.h @@ -106,10 +106,10 @@ private: /// The graphics cache handle. GraphicsCacheItem * cacheHandle; - /// The pixmap - mutable Pixmap pixmap; - /// is the pixmap initialized? - mutable bool pixmapInitialized; + /// The pixmap + mutable Pixmap pixmap; + /// is the pixmap initialized? + mutable bool pixmapInitialized; InsetGraphicsParams params; diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 3c9e0515ad..13bfe8ab4b 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -1286,7 +1286,11 @@ string LyXFunc::Dispatch(int ac, break; case LFUN_LAYOUT_DOCUMENT: +#ifdef USE_OLD_LAYOUT MenuLayoutDocument(); +#else + owner->getDialogs()->showLayoutDocument(); +#endif break; case LFUN_LAYOUT_PARAGRAPH: