From 5fd921e9e6caa0cd7eaa8ce8e378726407ab70c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Tue, 2 Jul 2002 19:23:10 +0000 Subject: [PATCH] =?utf8?q?2002-07-02=20=20Lars=20Gullik=20Bj=EF=BF=BDnnes?= =?utf8?q?=20=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Dialogs.h: remove static from redrawGUI and toggleTooltips. And changes because of this. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4517 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/ChangeLog | 5 ++ src/frontends/Dialogs.C | 4 +- src/frontends/Dialogs.h | 4 +- src/frontends/Toolbar.C | 5 +- src/frontends/Toolbar.h | 8 +- .../controllers/ControlConnections.C | 2 +- src/frontends/controllers/GUI.h | 2 +- src/frontends/lyx_gui.h | 17 +++-- src/frontends/xforms/FileDialog.C | 3 +- src/frontends/xforms/FormAboutlyx.C | 4 +- src/frontends/xforms/FormAboutlyx.h | 2 +- src/frontends/xforms/FormBase.C | 5 +- src/frontends/xforms/FormBase.h | 21 ++++-- src/frontends/xforms/FormBaseDeprecated.C | 4 +- src/frontends/xforms/FormBibitem.C | 4 +- src/frontends/xforms/FormBibitem.h | 3 +- src/frontends/xforms/FormBibtex.C | 14 ++-- src/frontends/xforms/FormBibtex.h | 3 +- src/frontends/xforms/FormBrowser.C | 5 +- src/frontends/xforms/FormBrowser.h | 4 +- src/frontends/xforms/FormCharacter.C | 4 +- src/frontends/xforms/FormCharacter.h | 2 +- src/frontends/xforms/FormCitation.C | 8 +- src/frontends/xforms/FormCitation.h | 3 +- src/frontends/xforms/FormERT.C | 4 +- src/frontends/xforms/FormERT.h | 2 +- src/frontends/xforms/FormError.C | 4 +- src/frontends/xforms/FormError.h | 3 +- src/frontends/xforms/FormExternal.C | 4 +- src/frontends/xforms/FormExternal.h | 3 +- src/frontends/xforms/FormFiledialog.C | 4 +- src/frontends/xforms/FormFiledialog.h | 4 +- src/frontends/xforms/FormFloat.C | 4 +- src/frontends/xforms/FormFloat.h | 3 +- src/frontends/xforms/FormForks.C | 4 +- src/frontends/xforms/FormForks.h | 2 +- src/frontends/xforms/FormGraphics.C | 8 +- src/frontends/xforms/FormGraphics.h | 3 +- src/frontends/xforms/FormInclude.C | 4 +- src/frontends/xforms/FormInclude.h | 3 +- src/frontends/xforms/FormIndex.C | 4 +- src/frontends/xforms/FormIndex.h | 3 +- src/frontends/xforms/FormLog.C | 4 +- src/frontends/xforms/FormLog.h | 2 +- src/frontends/xforms/FormMinipage.C | 4 +- src/frontends/xforms/FormMinipage.h | 2 +- src/frontends/xforms/FormParagraph.C | 4 +- src/frontends/xforms/FormParagraph.h | 4 +- src/frontends/xforms/FormPreamble.C | 4 +- src/frontends/xforms/FormPreamble.h | 2 +- src/frontends/xforms/FormPreferences.C | 2 +- src/frontends/xforms/FormPrint.C | 4 +- src/frontends/xforms/FormPrint.h | 3 +- src/frontends/xforms/FormRef.C | 4 +- src/frontends/xforms/FormRef.h | 3 +- src/frontends/xforms/FormSearch.C | 6 +- src/frontends/xforms/FormSearch.h | 3 +- src/frontends/xforms/FormSendto.C | 4 +- src/frontends/xforms/FormSendto.h | 3 +- src/frontends/xforms/FormShowFile.C | 4 +- src/frontends/xforms/FormShowFile.h | 2 +- src/frontends/xforms/FormSpellchecker.C | 4 +- src/frontends/xforms/FormSpellchecker.h | 3 +- src/frontends/xforms/FormTabularCreate.C | 4 +- src/frontends/xforms/FormTabularCreate.h | 3 +- src/frontends/xforms/FormTexinfo.C | 4 +- src/frontends/xforms/FormTexinfo.h | 3 +- src/frontends/xforms/FormThesaurus.C | 4 +- src/frontends/xforms/FormThesaurus.h | 3 +- src/frontends/xforms/FormToc.C | 4 +- src/frontends/xforms/FormToc.h | 2 +- src/frontends/xforms/FormUrl.C | 4 +- src/frontends/xforms/FormUrl.h | 3 +- src/frontends/xforms/FormVCLog.C | 4 +- src/frontends/xforms/FormVCLog.h | 2 +- src/frontends/xforms/Toolbar_pimpl.C | 4 +- src/frontends/xforms/Toolbar_pimpl.h | 3 +- src/frontends/xforms/Tooltips.C | 4 +- src/frontends/xforms/Tooltips.h | 4 +- src/frontends/xforms/XFormsView.C | 9 ++- src/frontends/xforms/XFormsView.h | 22 +++--- src/frontends/xforms/lyx_gui.C | 74 +++++++++---------- 82 files changed, 220 insertions(+), 213 deletions(-) diff --git a/src/frontends/ChangeLog b/src/frontends/ChangeLog index 0453379efe..58eb2867a3 100644 --- a/src/frontends/ChangeLog +++ b/src/frontends/ChangeLog @@ -1,3 +1,8 @@ +2002-07-02 Lars Gullik Bjønnes + + * Dialogs.h: remove static from redrawGUI and + toggleTooltips. + 2002-06-28 Angus Leeming * Painter.h: diff --git a/src/frontends/Dialogs.C b/src/frontends/Dialogs.C index 41fcf70ca6..6b6abb0e83 100644 --- a/src/frontends/Dialogs.C +++ b/src/frontends/Dialogs.C @@ -28,13 +28,13 @@ // Signal enabling all visible dialogs to be redrawn if so desired. // E.g., when the GUI colours have been remapped. -boost::signal0 Dialogs::redrawGUI; +//boost::signal0 Dialogs::redrawGUI; extern LyXView * dialogs_lyxview; // toggle tooltips on/off in all dialogs. -boost::signal0 Dialogs::toggleTooltips; +//boost::signal0 Dialogs::toggleTooltips; void Dialogs::showAboutlyx() { diff --git a/src/frontends/Dialogs.h b/src/frontends/Dialogs.h index b031c09408..7e575eda79 100644 --- a/src/frontends/Dialogs.h +++ b/src/frontends/Dialogs.h @@ -66,10 +66,10 @@ public: /** Redraw all visible dialogs because, for example, the GUI colours have been re-mapped. */ - static boost::signal0 redrawGUI; + boost::signal0 redrawGUI; /// Toggle tooltips on/off in all dialogs. - static boost::signal0 toggleTooltips; + boost::signal0 toggleTooltips; /// Are the tooltips on or off? static bool tooltipsEnabled(); diff --git a/src/frontends/Toolbar.C b/src/frontends/Toolbar.C index a866086771..01c4acf9a8 100644 --- a/src/frontends/Toolbar.C +++ b/src/frontends/Toolbar.C @@ -23,10 +23,11 @@ using std::endl; extern LyXAction lyxaction; -Toolbar::Toolbar(LyXView * o, int x, int y, ToolbarDefaults const &tbd) +Toolbar::Toolbar(LyXView * o, Dialogs & d, + int x, int y, ToolbarDefaults const &tbd) : last_textclass_(-1) { - pimpl_ = new Pimpl(o, x, y); + pimpl_ = new Pimpl(o, d, x, y); pimpl_->reset(); diff --git a/src/frontends/Toolbar.h b/src/frontends/Toolbar.h index 3558f73121..40985bedaf 100644 --- a/src/frontends/Toolbar.h +++ b/src/frontends/Toolbar.h @@ -22,6 +22,7 @@ class LyXView; class ToolbarDefaults; +class Dialogs; /** The LyX GUI independent toolbar class The GUI interface is implemented in the corresponding Toolbar_pimpl class. @@ -29,7 +30,8 @@ class ToolbarDefaults; class Toolbar { public: /// - Toolbar(LyXView * o, int x, int y, ToolbarDefaults const &); + Toolbar(LyXView * o, Dialogs & d, + int x, int y, ToolbarDefaults const &); /// ~Toolbar(); @@ -55,8 +57,8 @@ public: /// update the layout combox void setLayout(string const & layout); - /** - * Populate the layout combox - returns whether we did a full + /** + * Populate the layout combox - returns whether we did a full * update or not */ bool updateLayoutList(int textclass); diff --git a/src/frontends/controllers/ControlConnections.C b/src/frontends/controllers/ControlConnections.C index 24dd8a3cfb..5a5778ad1d 100644 --- a/src/frontends/controllers/ControlConnections.C +++ b/src/frontends/controllers/ControlConnections.C @@ -33,7 +33,7 @@ ControlConnectBase::ControlConnectBase(LyXView & lv, Dialogs & d) void ControlConnectBase::connect() { - r_ = Dialogs::redrawGUI. + r_ = d_.redrawGUI. connect(boost::bind(&ControlConnectBase::redraw, this)); } diff --git a/src/frontends/controllers/GUI.h b/src/frontends/controllers/GUI.h index 8034816155..6a93661c91 100644 --- a/src/frontends/controllers/GUI.h +++ b/src/frontends/controllers/GUI.h @@ -20,7 +20,7 @@ template class GUI : public Controller { public: /// - GUI(LyXView & lv, Dialogs & d) : Controller(lv, d), view_(*this) {} + GUI(LyXView & lv, Dialogs & d) : Controller(lv, d), view_(*this, d) {} /// virtual ButtonControllerBase & bc() { return bc_; } /// diff --git a/src/frontends/lyx_gui.h b/src/frontends/lyx_gui.h index 7d622ab650..83b674d90e 100644 --- a/src/frontends/lyx_gui.h +++ b/src/frontends/lyx_gui.h @@ -1,3 +1,4 @@ +// -*- C++ -*- /** * \file lyx_gui.h * Copyright 2002 the LyX Team @@ -8,22 +9,24 @@ #ifndef LYX_GUI_H #define LYX_GUI_H - + #include - + #include "LString.h" - + #include - + +class Dialogs; + /// GUI interaction namespace lyx_gui { - + /// parse command line and do basic initialisation void parse_init(int & argc, char * argv[]); - + /** * set up GUI parameters. At this point lyxrc may - * be used. + * be used. */ void parse_lyxrc(); diff --git a/src/frontends/xforms/FileDialog.C b/src/frontends/xforms/FileDialog.C index bdbf6cde4a..0678fd7472 100644 --- a/src/frontends/xforms/FileDialog.C +++ b/src/frontends/xforms/FileDialog.C @@ -33,7 +33,7 @@ using std::endl; FileDialog::FileDialog(LyXView *lv, string const &t, kb_action s, Button b1, Button b2) : private_(0), lv_(lv), title_(t), success_(s) { - private_ = new FileDialog::Private; + private_ = new FileDialog::Private(*lv->getDialogs()); private_->SetButton(0, b1.first, b1.second); private_->SetButton(1, b2.first, b2.second); @@ -43,7 +43,6 @@ FileDialog::FileDialog(LyXView *lv, string const &t, kb_action s, Button b1, But FileDialog::~FileDialog() { delete private_; - private_ = 0; } diff --git a/src/frontends/xforms/FormAboutlyx.C b/src/frontends/xforms/FormAboutlyx.C index b178c61105..77c054e174 100644 --- a/src/frontends/xforms/FormAboutlyx.C +++ b/src/frontends/xforms/FormAboutlyx.C @@ -25,8 +25,8 @@ using std::getline; typedef FormCB > base_class; -FormAboutlyx::FormAboutlyx(ControlAboutlyx & c) - : base_class(c, _("About LyX"), false) +FormAboutlyx::FormAboutlyx(ControlAboutlyx & c, Dialogs & d) + : base_class(c, d, _("About LyX"), false) {} diff --git a/src/frontends/xforms/FormAboutlyx.h b/src/frontends/xforms/FormAboutlyx.h index bc5d5e3b6a..f09a36704a 100644 --- a/src/frontends/xforms/FormAboutlyx.h +++ b/src/frontends/xforms/FormAboutlyx.h @@ -30,7 +30,7 @@ struct FD_aboutlyx_license; class FormAboutlyx : public FormCB > { public: /// - FormAboutlyx(ControlAboutlyx &); + FormAboutlyx(ControlAboutlyx &, Dialogs &); private: /// not needed. diff --git a/src/frontends/xforms/FormBase.C b/src/frontends/xforms/FormBase.C index ce6263346c..762a09f1e3 100644 --- a/src/frontends/xforms/FormBase.C +++ b/src/frontends/xforms/FormBase.C @@ -32,9 +32,10 @@ static int C_PrehandlerCB(FL_OBJECT *, int, FL_Coord, FL_Coord, int, void *); } // extern "C" -FormBase::FormBase(ControlButtons & c, string const & t, bool allowResize) +FormBase::FormBase(ControlButtons & c, Dialogs & d, + string const & t, bool allowResize) : ViewBC(c), minw_(0), minh_(0), allow_resize_(allowResize), - title_(t), tooltips_(new Tooltips) + title_(t), tooltips_(new Tooltips(d)) {} diff --git a/src/frontends/xforms/FormBase.h b/src/frontends/xforms/FormBase.h index 42855f2483..53a54864c0 100644 --- a/src/frontends/xforms/FormBase.h +++ b/src/frontends/xforms/FormBase.h @@ -28,6 +28,7 @@ class xformsBC; class Tooltips; +class Dialogs; /** This class is an XForms GUI base class. */ @@ -35,7 +36,8 @@ class FormBase : public ViewBC, public FeedbackController { public: /// - FormBase(ControlButtons &, string const &, bool allowResize); + FormBase(ControlButtons &, Dialogs &, + string const &, bool allowResize); /// virtual ~FormBase(); @@ -91,7 +93,8 @@ class FormDB: public FormBase { protected: /// - FormDB(ControlButtons &, string const &, bool allowResize=true); + FormDB(ControlButtons &, Dialogs &, + string const &, bool allowResize=true); /// Pointer to the actual instantiation of xform's form virtual FL_FORM * form() const; /// Real GUI implementation. @@ -100,8 +103,9 @@ protected: template -FormDB::FormDB(ControlButtons & c, string const & t, bool allowResize) - : FormBase(c, t, allowResize) +FormDB::FormDB(ControlButtons & c, Dialogs & d, + string const & t, bool allowResize) + : FormBase(c, d, t, allowResize) {} @@ -118,16 +122,17 @@ class FormCB: public Base { protected: /// - FormCB(Controller &, string const &, bool allowResize=true); + FormCB(Controller &, Dialogs &, + string const &, bool allowResize = true); /// The parent controller Controller & controller() const; }; template -FormCB::FormCB(Controller & c, string const & t, - bool allowResize) - : Base(c, t, allowResize) +FormCB::FormCB(Controller & c, Dialogs & d, + string const & t, bool allowResize) + : Base(c, d, t, allowResize) {} diff --git a/src/frontends/xforms/FormBaseDeprecated.C b/src/frontends/xforms/FormBaseDeprecated.C index 0fd20eee57..7213005212 100644 --- a/src/frontends/xforms/FormBaseDeprecated.C +++ b/src/frontends/xforms/FormBaseDeprecated.C @@ -43,7 +43,7 @@ FormBaseDeprecated::FormBaseDeprecated(LyXView * lv, Dialogs * d, string const & t, bool allowResize) : lv_(lv), d_(d), title_(t), minw_(0), minh_(0), allow_resize_(allowResize), - tooltips_(new Tooltips) + tooltips_(new Tooltips(*d)) { lyx::Assert(lv && d); } @@ -71,7 +71,7 @@ void FormBaseDeprecated::redraw() void FormBaseDeprecated::connect() { fl_set_form_minsize(form(), minw_, minh_); - r_ = Dialogs::redrawGUI.connect(boost::bind(&FormBaseDeprecated::redraw, this)); + r_ = d_->redrawGUI.connect(boost::bind(&FormBaseDeprecated::redraw, this)); } diff --git a/src/frontends/xforms/FormBibitem.C b/src/frontends/xforms/FormBibitem.C index 6057263184..de9440f359 100644 --- a/src/frontends/xforms/FormBibitem.C +++ b/src/frontends/xforms/FormBibitem.C @@ -22,8 +22,8 @@ typedef FormCB > base_class; -FormBibitem::FormBibitem(ControlBibitem & c) - : base_class(c, _("Bibliography Entry")) +FormBibitem::FormBibitem(ControlBibitem & c, Dialogs & d) + : base_class(c, d, _("Bibliography Entry")) {} diff --git a/src/frontends/xforms/FormBibitem.h b/src/frontends/xforms/FormBibitem.h index bc3be3b2dc..2c18ccbf21 100644 --- a/src/frontends/xforms/FormBibitem.h +++ b/src/frontends/xforms/FormBibitem.h @@ -26,8 +26,7 @@ struct FD_bibitem; class FormBibitem : public FormCB > { public: /// - FormBibitem(ControlBibitem &); - + FormBibitem(ControlBibitem &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormBibtex.C b/src/frontends/xforms/FormBibtex.C index 8e968d38d1..4e2bb28ac1 100644 --- a/src/frontends/xforms/FormBibtex.C +++ b/src/frontends/xforms/FormBibtex.C @@ -36,8 +36,8 @@ using std::sort; typedef FormCB > base_class; -FormBibtex::FormBibtex(ControlBibtex & c) - : base_class(c, _("BibTeX Database")) +FormBibtex::FormBibtex(ControlBibtex & c, Dialogs & d) + : base_class(c, d, _("BibTeX Database")) {} @@ -75,13 +75,13 @@ void FormBibtex::build() str = _("Activate this option if you want the bibliography to appear in the Table of Contents (which doesn't happen by default)"); tooltips().init(dialog_->check_bibtotoc, str); - + str = _("Choose a BibTeX style from the browsers list"); tooltips().init(dialog_->button_style_choose, str); - + str = _("Updates your TeX system for a new bibstyle list. Only the styles which are in directories where TeX finds them are listed!"); tooltips().init(dialog_->button_rescan, str); - + } @@ -116,9 +116,9 @@ ButtonPolicy::SMInput FormBibtex::input(FL_OBJECT * ob, long) } } else if (ob == dialog_->button_style_choose) { unsigned int selection = fl_get_browser(dialog_->browser_styles); - string const out_name = + string const out_name = fl_get_browser_line(dialog_->browser_styles, selection); - fl_set_input(dialog_->input_style, + fl_set_input(dialog_->input_style, ChangeExtension(out_name, string()).c_str()); } else if (ob == dialog_->button_rescan) controller().rescanBibStyles(); diff --git a/src/frontends/xforms/FormBibtex.h b/src/frontends/xforms/FormBibtex.h index f177e72033..572b9c13f8 100644 --- a/src/frontends/xforms/FormBibtex.h +++ b/src/frontends/xforms/FormBibtex.h @@ -26,8 +26,7 @@ struct FD_bibtex; class FormBibtex : public FormCB > { public: /// - FormBibtex(ControlBibtex &); - + FormBibtex(ControlBibtex &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormBrowser.C b/src/frontends/xforms/FormBrowser.C index 3715242892..339335a536 100644 --- a/src/frontends/xforms/FormBrowser.C +++ b/src/frontends/xforms/FormBrowser.C @@ -16,8 +16,9 @@ #include "forms/form_browser.h" #include "xformsBC.h" -FormBrowser::FormBrowser(ControlButtons & c, string const & t, bool allowResize) - : FormDB(c, t, allowResize) +FormBrowser::FormBrowser(ControlButtons & c, Dialogs & d, + string const & t, bool allowResize) + : FormDB(c, d, t, allowResize) {} diff --git a/src/frontends/xforms/FormBrowser.h b/src/frontends/xforms/FormBrowser.h index 064ed23e56..6312362c35 100644 --- a/src/frontends/xforms/FormBrowser.h +++ b/src/frontends/xforms/FormBrowser.h @@ -26,8 +26,8 @@ struct FD_browser; class FormBrowser : public FormDB { public: /// - FormBrowser(ControlButtons &, string const &, bool allowResize=true); - + FormBrowser(ControlButtons &, Dialogs &, + string const &, bool allowResize = true); private: /// Build the dialog. virtual void build(); diff --git a/src/frontends/xforms/FormCharacter.C b/src/frontends/xforms/FormCharacter.C index 2968d398cd..41f1641346 100644 --- a/src/frontends/xforms/FormCharacter.C +++ b/src/frontends/xforms/FormCharacter.C @@ -36,8 +36,8 @@ using namespace frnt; typedef FormCB > base_class; -FormCharacter::FormCharacter(ControlCharacter & c) - : base_class(c, _("Character Layout"), false) +FormCharacter::FormCharacter(ControlCharacter & c, Dialogs & d) + : base_class(c, d, _("Character Layout"), false) {} diff --git a/src/frontends/xforms/FormCharacter.h b/src/frontends/xforms/FormCharacter.h index daa890b290..7eb57d30b1 100644 --- a/src/frontends/xforms/FormCharacter.h +++ b/src/frontends/xforms/FormCharacter.h @@ -35,7 +35,7 @@ class FormCharacter : public FormCB > { public: /// - FormCharacter(ControlCharacter &); + FormCharacter(ControlCharacter &, Dialogs &); private: /// Apply from dialog diff --git a/src/frontends/xforms/FormCitation.C b/src/frontends/xforms/FormCitation.C index f6ccd890aa..9a2ce6e751 100644 --- a/src/frontends/xforms/FormCitation.C +++ b/src/frontends/xforms/FormCitation.C @@ -58,14 +58,14 @@ void fillChoice(FD_citation * dialog, vector vec) string str = " "; if (!vec.empty()) str += getStringFromVector(vec, " | ") + " "; - + fl_clear_choice(dialog->choice_style); fl_addto_choice(dialog->choice_style, str.c_str()); setEnabled(dialog->choice_style, !vec.empty()); if (vec.empty()) return; - + // The width of the choice varies with the contents. // Ensure that it is centred in the frame. @@ -115,8 +115,8 @@ void updateStyle(FD_citation * dialog, string command) typedef FormCB > base_class; -FormCitation::FormCitation(ControlCitation & c) - : base_class(c, _("Citation"), false) +FormCitation::FormCitation(ControlCitation & c, Dialogs & d) + : base_class(c, d, _("Citation"), false) {} diff --git a/src/frontends/xforms/FormCitation.h b/src/frontends/xforms/FormCitation.h index 0cb8948c94..efcba5b9ff 100644 --- a/src/frontends/xforms/FormCitation.h +++ b/src/frontends/xforms/FormCitation.h @@ -25,8 +25,7 @@ struct FD_citation; class FormCitation : public FormCB > { public: /// - FormCitation(ControlCitation &); - + FormCitation(ControlCitation &, Dialogs &); private: /// enum State { diff --git a/src/frontends/xforms/FormERT.C b/src/frontends/xforms/FormERT.C index 4fedc68dab..64c66a3d4f 100644 --- a/src/frontends/xforms/FormERT.C +++ b/src/frontends/xforms/FormERT.C @@ -23,8 +23,8 @@ typedef FormCB > base_class; -FormERT::FormERT(ControlERT & c) - : base_class(c, _("ERT Options")) +FormERT::FormERT(ControlERT & c, Dialogs & d) + : base_class(c, d, _("ERT Options")) {} diff --git a/src/frontends/xforms/FormERT.h b/src/frontends/xforms/FormERT.h index 74ac8a9098..7d61116c66 100644 --- a/src/frontends/xforms/FormERT.h +++ b/src/frontends/xforms/FormERT.h @@ -26,7 +26,7 @@ class FormERT : public FormCB > { public: /// - FormERT(ControlERT &); + FormERT(ControlERT &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormError.C b/src/frontends/xforms/FormError.C index 75b3c24484..ead1e6478a 100644 --- a/src/frontends/xforms/FormError.C +++ b/src/frontends/xforms/FormError.C @@ -21,8 +21,8 @@ typedef FormCB > base_class; -FormError::FormError(ControlError & c) - : base_class(c, _("LaTeX Error")) +FormError::FormError(ControlError & c, Dialogs & d) + : base_class(c, d, _("LaTeX Error")) {} diff --git a/src/frontends/xforms/FormError.h b/src/frontends/xforms/FormError.h index 8bff919940..cbe367c4ef 100644 --- a/src/frontends/xforms/FormError.h +++ b/src/frontends/xforms/FormError.h @@ -24,8 +24,7 @@ struct FD_error; class FormError : public FormCB > { public: /// Constructor - FormError(ControlError &); - + FormError(ControlError &, Dialogs &); private: /// not needed. virtual void apply() {} diff --git a/src/frontends/xforms/FormExternal.C b/src/frontends/xforms/FormExternal.C index 589dc225e2..1a6960bd7a 100644 --- a/src/frontends/xforms/FormExternal.C +++ b/src/frontends/xforms/FormExternal.C @@ -27,8 +27,8 @@ typedef FormCB > base_class; -FormExternal::FormExternal(ControlExternal & c) - : base_class(c, _("Edit external file")) +FormExternal::FormExternal(ControlExternal & c, Dialogs & d) + : base_class(c, d, _("Edit external file")) {} diff --git a/src/frontends/xforms/FormExternal.h b/src/frontends/xforms/FormExternal.h index e0f00b4679..b55abd4708 100644 --- a/src/frontends/xforms/FormExternal.h +++ b/src/frontends/xforms/FormExternal.h @@ -26,8 +26,7 @@ struct FD_external; class FormExternal : public FormCB > { public: /// - FormExternal(ControlExternal &); - + FormExternal(ControlExternal &, Dialogs &); private: /// apply changes void apply(); diff --git a/src/frontends/xforms/FormFiledialog.C b/src/frontends/xforms/FormFiledialog.C index 9b5d810dea..d2fb63ed1c 100644 --- a/src/frontends/xforms/FormFiledialog.C +++ b/src/frontends/xforms/FormFiledialog.C @@ -422,7 +422,7 @@ void FileDialog::Private::SetInfoLine(string const & Line) } -FileDialog::Private::Private() +FileDialog::Private::Private(Dialogs & dia) { pszDirectory = MakeAbsPath(string(".")); pszMask = '*'; @@ -459,7 +459,7 @@ FileDialog::Private::Private() fl_hide_object(pFileDlgForm->User1); fl_hide_object(pFileDlgForm->User2); - r_ = Dialogs::redrawGUI.connect(boost::bind(&FileDialog::Private::redraw, this)); + r_ = dia.redrawGUI.connect(boost::bind(&FileDialog::Private::redraw, this)); } diff --git a/src/frontends/xforms/FormFiledialog.h b/src/frontends/xforms/FormFiledialog.h index 4f4032444d..57e4e69ee8 100644 --- a/src/frontends/xforms/FormFiledialog.h +++ b/src/frontends/xforms/FormFiledialog.h @@ -27,6 +27,8 @@ #include +class Dialogs; + /// DirEntry internal structure definition class DirEntry { public: @@ -51,7 +53,7 @@ class FD_filedialog; class FileDialog::Private : public boost::signals::trackable { public: /// - Private(); + Private(Dialogs &); /// ~Private(); diff --git a/src/frontends/xforms/FormFloat.C b/src/frontends/xforms/FormFloat.C index 2ea3204a07..79cbf8a13a 100644 --- a/src/frontends/xforms/FormFloat.C +++ b/src/frontends/xforms/FormFloat.C @@ -22,8 +22,8 @@ typedef FormCB > base_class; -FormFloat::FormFloat(ControlFloat & c) - : base_class(c, _("Float Options")) +FormFloat::FormFloat(ControlFloat & c, Dialogs & d) + : base_class(c, d, _("Float Options")) {} diff --git a/src/frontends/xforms/FormFloat.h b/src/frontends/xforms/FormFloat.h index 8e4513d6db..e8ad23e6ad 100644 --- a/src/frontends/xforms/FormFloat.h +++ b/src/frontends/xforms/FormFloat.h @@ -25,8 +25,7 @@ struct FD_float; class FormFloat : public FormCB > { public: /// - FormFloat(ControlFloat &); - + FormFloat(ControlFloat &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormForks.C b/src/frontends/xforms/FormForks.C index ca28eff225..cf4df6491e 100644 --- a/src/frontends/xforms/FormForks.C +++ b/src/frontends/xforms/FormForks.C @@ -30,8 +30,8 @@ using std::find_if; typedef FormCB > base_class; -FormForks::FormForks(ControlForks & c) - : base_class(c, _("Child processes")) +FormForks::FormForks(ControlForks & c, Dialogs & d) + : base_class(c, d, _("Child processes")) {} diff --git a/src/frontends/xforms/FormForks.h b/src/frontends/xforms/FormForks.h index 8dde5b0ebd..14eb28695e 100644 --- a/src/frontends/xforms/FormForks.h +++ b/src/frontends/xforms/FormForks.h @@ -22,7 +22,7 @@ struct FD_forks; class FormForks : public FormCB > { public: /// - FormForks(ControlForks &); + FormForks(ControlForks &, Dialogs &); /// preemptive handler for feedback messages void feedbackCB(FL_OBJECT *, int); diff --git a/src/frontends/xforms/FormGraphics.C b/src/frontends/xforms/FormGraphics.C index 50d310d7dc..bafe57884d 100644 --- a/src/frontends/xforms/FormGraphics.C +++ b/src/frontends/xforms/FormGraphics.C @@ -53,8 +53,8 @@ LyXLength getLyXLengthFromWidgets(FL_OBJECT * input, FL_OBJECT * choice) typedef FormCB > base_class; -FormGraphics::FormGraphics(ControlGraphics & c) - : base_class(c, _("Graphics"), false) +FormGraphics::FormGraphics(ControlGraphics & c, Dialogs & d) + : base_class(c, d, _("Graphics"), false) {} @@ -102,7 +102,7 @@ void FormGraphics::build() // Store the identifiers for later origins_ = getSecond(origindata); - + string const choice = " " + getStringFromVector(getFirst(origindata), " | ") +" "; fl_addto_choice(file_->choice_origin, choice.c_str()); @@ -513,7 +513,7 @@ ButtonPolicy::SMInput FormGraphics::input(FL_OBJECT * ob, long) } if (controller().isFilenameValid(out_name) && !controller().bbChanged) - updateBB(out_name, string()); + updateBB(out_name, string()); } else if (ob == file_->check_subcaption) { setEnabled(file_->input_subcaption, diff --git a/src/frontends/xforms/FormGraphics.h b/src/frontends/xforms/FormGraphics.h index c12a127805..6ae60f3244 100644 --- a/src/frontends/xforms/FormGraphics.h +++ b/src/frontends/xforms/FormGraphics.h @@ -35,8 +35,7 @@ struct FD_graphics_special; class FormGraphics : public FormCB > { public: /// - FormGraphics(ControlGraphics &); - + FormGraphics(ControlGraphics &, Dialogs &); private: /** Redraw the form (on receipt of a Signal indicating, for example, diff --git a/src/frontends/xforms/FormInclude.C b/src/frontends/xforms/FormInclude.C index f815337067..33f88d93f4 100644 --- a/src/frontends/xforms/FormInclude.C +++ b/src/frontends/xforms/FormInclude.C @@ -26,8 +26,8 @@ typedef FormCB > base_class; -FormInclude::FormInclude(ControlInclude & c) - : base_class(c, _("Include file")) +FormInclude::FormInclude(ControlInclude & c, Dialogs & d) + : base_class(c, d, _("Include file")) {} diff --git a/src/frontends/xforms/FormInclude.h b/src/frontends/xforms/FormInclude.h index 3af32fd8b2..325dd4b076 100644 --- a/src/frontends/xforms/FormInclude.h +++ b/src/frontends/xforms/FormInclude.h @@ -25,8 +25,7 @@ struct FD_include; class FormInclude : public FormCB > { public: /// - FormInclude(ControlInclude &); - + FormInclude(ControlInclude &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormIndex.C b/src/frontends/xforms/FormIndex.C index 0067d0a06d..ec704bb07a 100644 --- a/src/frontends/xforms/FormIndex.C +++ b/src/frontends/xforms/FormIndex.C @@ -21,8 +21,8 @@ typedef FormCB > base_class; -FormIndex::FormIndex(ControlIndex & c) - : base_class(c, _("Index")) +FormIndex::FormIndex(ControlIndex & c, Dialogs & d) + : base_class(c, d, _("Index")) {} diff --git a/src/frontends/xforms/FormIndex.h b/src/frontends/xforms/FormIndex.h index c24e77dda5..360f16c41f 100644 --- a/src/frontends/xforms/FormIndex.h +++ b/src/frontends/xforms/FormIndex.h @@ -24,8 +24,7 @@ struct FD_index; class FormIndex : public FormCB > { public: /// - FormIndex(ControlIndex &); - + FormIndex(ControlIndex &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormLog.C b/src/frontends/xforms/FormLog.C index 474c745895..f317805d5f 100644 --- a/src/frontends/xforms/FormLog.C +++ b/src/frontends/xforms/FormLog.C @@ -19,8 +19,8 @@ #include "gettext.h" #include FORMS_H_LOCATION -FormLog::FormLog(ControlLog & c) - : FormCB(c, _("LaTeX Log")) +FormLog::FormLog(ControlLog & c, Dialogs & d) + : FormCB(c, d, _("LaTeX Log")) {} diff --git a/src/frontends/xforms/FormLog.h b/src/frontends/xforms/FormLog.h index c8f40d7df5..00806b0e23 100644 --- a/src/frontends/xforms/FormLog.h +++ b/src/frontends/xforms/FormLog.h @@ -25,7 +25,7 @@ class ControlLog; class FormLog : public FormCB { public: /// - FormLog(ControlLog &); + FormLog(ControlLog &, Dialogs &); // Functions accessible to the Controller. diff --git a/src/frontends/xforms/FormMinipage.C b/src/frontends/xforms/FormMinipage.C index 4187f23468..eb37a93b8e 100644 --- a/src/frontends/xforms/FormMinipage.C +++ b/src/frontends/xforms/FormMinipage.C @@ -24,8 +24,8 @@ typedef FormCB > base_class; -FormMinipage::FormMinipage(ControlMinipage & c) - : base_class(c, _("Minipage Options")) +FormMinipage::FormMinipage(ControlMinipage & c, Dialogs & d) + : base_class(c, d, _("Minipage Options")) {} diff --git a/src/frontends/xforms/FormMinipage.h b/src/frontends/xforms/FormMinipage.h index 90ead2b9bc..e54acd600d 100644 --- a/src/frontends/xforms/FormMinipage.h +++ b/src/frontends/xforms/FormMinipage.h @@ -26,7 +26,7 @@ class FormMinipage : public FormCB > { public: /// - FormMinipage(ControlMinipage &); + FormMinipage(ControlMinipage &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormParagraph.C b/src/frontends/xforms/FormParagraph.C index 42540b213b..4b5da5d60a 100644 --- a/src/frontends/xforms/FormParagraph.C +++ b/src/frontends/xforms/FormParagraph.C @@ -38,8 +38,8 @@ using std::remove_if; typedef FormCB > base_class; -FormParagraph::FormParagraph(ControlParagraph & c) - : base_class(c, _("Paragraph Layout"), false) +FormParagraph::FormParagraph(ControlParagraph & c, Dialogs & d) + : base_class(c, d, _("Paragraph Layout"), false) {} void FormParagraph::build() diff --git a/src/frontends/xforms/FormParagraph.h b/src/frontends/xforms/FormParagraph.h index a509aa3d91..c65c474696 100644 --- a/src/frontends/xforms/FormParagraph.h +++ b/src/frontends/xforms/FormParagraph.h @@ -25,7 +25,7 @@ class FormParagraph : public FormCB > { public: /// - FormParagraph(ControlParagraph &); + FormParagraph(ControlParagraph &, Dialogs &); private: /// Build the dialog virtual void build(); @@ -33,7 +33,7 @@ private: virtual void apply(); /// Update the dialog virtual void update(); - + /// Filter the inputs on callback from xforms virtual ButtonPolicy::SMInput input(FL_OBJECT *, long); }; diff --git a/src/frontends/xforms/FormPreamble.C b/src/frontends/xforms/FormPreamble.C index 5fa4baf3de..299a6862ec 100644 --- a/src/frontends/xforms/FormPreamble.C +++ b/src/frontends/xforms/FormPreamble.C @@ -21,8 +21,8 @@ typedef FormCB > base_class; -FormPreamble::FormPreamble(ControlPreamble & c) - : base_class(c, _("LaTeX preamble")) +FormPreamble::FormPreamble(ControlPreamble & c, Dialogs & d) + : base_class(c, d, _("LaTeX preamble")) {} diff --git a/src/frontends/xforms/FormPreamble.h b/src/frontends/xforms/FormPreamble.h index 9166ea28ff..8bf7e9fefa 100644 --- a/src/frontends/xforms/FormPreamble.h +++ b/src/frontends/xforms/FormPreamble.h @@ -24,7 +24,7 @@ struct FD_preamble; class FormPreamble : public FormCB > { public: /// - FormPreamble(ControlPreamble &); + FormPreamble(ControlPreamble &, Dialogs &); private: /// Apply from dialog virtual void apply(); diff --git a/src/frontends/xforms/FormPreferences.C b/src/frontends/xforms/FormPreferences.C index b5336ffb05..a64cc2fa8d 100644 --- a/src/frontends/xforms/FormPreferences.C +++ b/src/frontends/xforms/FormPreferences.C @@ -427,7 +427,7 @@ void FormPreferences::Colors::apply() setCursorColor(GUI_COLOR_CURSOR); } } - Dialogs::redrawGUI(); + parent_.lv_->getDialogs()->redrawGUI(); } // Now do the same for the LyX LColors... diff --git a/src/frontends/xforms/FormPrint.C b/src/frontends/xforms/FormPrint.C index 47f1b45532..551b4eb560 100644 --- a/src/frontends/xforms/FormPrint.C +++ b/src/frontends/xforms/FormPrint.C @@ -32,8 +32,8 @@ using std::make_pair; typedef FormCB > base_class; -FormPrint::FormPrint(ControlPrint & c) - : base_class(c, _("Print")), +FormPrint::FormPrint(ControlPrint & c, Dialogs & d) + : base_class(c, d, _("Print")), target_(2), order_(2), which_(3) {} diff --git a/src/frontends/xforms/FormPrint.h b/src/frontends/xforms/FormPrint.h index 2260f76a0b..f9cddad700 100644 --- a/src/frontends/xforms/FormPrint.h +++ b/src/frontends/xforms/FormPrint.h @@ -29,8 +29,7 @@ struct FD_print; class FormPrint : public FormCB > { public: /// - FormPrint(ControlPrint &); - + FormPrint(ControlPrint &, Dialogs &); private: /// Apply from dialog virtual void apply(); diff --git a/src/frontends/xforms/FormRef.C b/src/frontends/xforms/FormRef.C index f66890ae91..99fc14dd2d 100644 --- a/src/frontends/xforms/FormRef.C +++ b/src/frontends/xforms/FormRef.C @@ -30,8 +30,8 @@ using std::vector; typedef FormCB > base_class; -FormRef::FormRef(ControlRef & c) - : base_class(c, _("Reference")), +FormRef::FormRef(ControlRef & c, Dialogs & d) + : base_class(c, d, _("Reference")), at_ref_(false) {} diff --git a/src/frontends/xforms/FormRef.h b/src/frontends/xforms/FormRef.h index 4d816f0327..3a5ef194bf 100644 --- a/src/frontends/xforms/FormRef.h +++ b/src/frontends/xforms/FormRef.h @@ -24,8 +24,7 @@ struct FD_ref; class FormRef : public FormCB > { public: /// - FormRef(ControlRef &); - + FormRef(ControlRef &, Dialogs &); private: /// Set the Params variable for the Controller. virtual void apply(); diff --git a/src/frontends/xforms/FormSearch.C b/src/frontends/xforms/FormSearch.C index bf972e7fc0..da4dd93f46 100644 --- a/src/frontends/xforms/FormSearch.C +++ b/src/frontends/xforms/FormSearch.C @@ -20,8 +20,8 @@ typedef FormCB > base_class; -FormSearch::FormSearch(ControlSearch & c) - : base_class(c, _("LyX: Find and Replace")) +FormSearch::FormSearch(ControlSearch & c, Dialogs & d) + : base_class(c, d, _("LyX: Find and Replace")) {} @@ -43,7 +43,7 @@ void FormSearch::update() fl_set_focus_object(dialog_->form, dialog_->input_search); } - + ButtonPolicy::SMInput FormSearch::input(FL_OBJECT * obj, long) { if (obj == dialog_->button_findnext || diff --git a/src/frontends/xforms/FormSearch.h b/src/frontends/xforms/FormSearch.h index 123eaeefc9..5f5be4cfb6 100644 --- a/src/frontends/xforms/FormSearch.h +++ b/src/frontends/xforms/FormSearch.h @@ -24,8 +24,7 @@ struct FD_search; class FormSearch : public FormCB > { public: /// - FormSearch(ControlSearch &); - + FormSearch(ControlSearch &, Dialogs &); private: /// not needed. virtual void apply() {} diff --git a/src/frontends/xforms/FormSendto.C b/src/frontends/xforms/FormSendto.C index ce9f5f5ea6..1d8615d7e0 100644 --- a/src/frontends/xforms/FormSendto.C +++ b/src/frontends/xforms/FormSendto.C @@ -26,8 +26,8 @@ using std::vector; typedef FormCB > base_class; -FormSendto::FormSendto(ControlSendto & c) - : base_class(c, _("Send document to command")) +FormSendto::FormSendto(ControlSendto & c, Dialogs & d) + : base_class(c, d, _("Send document to command")) {} diff --git a/src/frontends/xforms/FormSendto.h b/src/frontends/xforms/FormSendto.h index f091873c7f..86f9f7ba80 100644 --- a/src/frontends/xforms/FormSendto.h +++ b/src/frontends/xforms/FormSendto.h @@ -26,8 +26,7 @@ struct FD_sendto; class FormSendto : public FormCB > { public: /// - FormSendto(ControlSendto &); - + FormSendto(ControlSendto &, Dialogs &); private: /// Apply from dialog (modify or create inset) virtual void apply(); diff --git a/src/frontends/xforms/FormShowFile.C b/src/frontends/xforms/FormShowFile.C index ca454c9369..8e8f7b8b36 100644 --- a/src/frontends/xforms/FormShowFile.C +++ b/src/frontends/xforms/FormShowFile.C @@ -20,8 +20,8 @@ #include FORMS_H_LOCATION -FormShowFile::FormShowFile(ControlShowFile & c) - : FormCB(c, string()) +FormShowFile::FormShowFile(ControlShowFile & c, Dialogs & d) + : FormCB(c, d, string()) {} diff --git a/src/frontends/xforms/FormShowFile.h b/src/frontends/xforms/FormShowFile.h index fd71682b26..a00fb533e5 100644 --- a/src/frontends/xforms/FormShowFile.h +++ b/src/frontends/xforms/FormShowFile.h @@ -25,7 +25,7 @@ class ControlShowFile; class FormShowFile : public FormCB { public: /// - FormShowFile(ControlShowFile &); + FormShowFile(ControlShowFile &, Dialogs &); // Functions accessible to the Controller. diff --git a/src/frontends/xforms/FormSpellchecker.C b/src/frontends/xforms/FormSpellchecker.C index 70dea25e5e..7dbfa0fca4 100644 --- a/src/frontends/xforms/FormSpellchecker.C +++ b/src/frontends/xforms/FormSpellchecker.C @@ -21,8 +21,8 @@ typedef FormCB > base_class; -FormSpellchecker::FormSpellchecker(ControlSpellchecker & c) - : base_class(c, _("LyX: Spellchecker"), false) +FormSpellchecker::FormSpellchecker(ControlSpellchecker & c, Dialogs & d) + : base_class(c, d, _("LyX: Spellchecker"), false) {} diff --git a/src/frontends/xforms/FormSpellchecker.h b/src/frontends/xforms/FormSpellchecker.h index b56cbf67a1..5f986486cf 100644 --- a/src/frontends/xforms/FormSpellchecker.h +++ b/src/frontends/xforms/FormSpellchecker.h @@ -24,8 +24,7 @@ struct FD_spellchecker; class FormSpellchecker : public FormCB > { public: /// - FormSpellchecker(ControlSpellchecker &); - + FormSpellchecker(ControlSpellchecker &, Dialogs &); private: /// not needed. void apply() {} diff --git a/src/frontends/xforms/FormTabularCreate.C b/src/frontends/xforms/FormTabularCreate.C index c977117c3b..2e57b59a4a 100644 --- a/src/frontends/xforms/FormTabularCreate.C +++ b/src/frontends/xforms/FormTabularCreate.C @@ -26,8 +26,8 @@ using std::make_pair; typedef FormCB > base_class; -FormTabularCreate::FormTabularCreate(ControlTabularCreate & c) - : base_class(c, _("Insert Tabular")) +FormTabularCreate::FormTabularCreate(ControlTabularCreate & c, Dialogs & d) + : base_class(c, d, _("Insert Tabular")) {} diff --git a/src/frontends/xforms/FormTabularCreate.h b/src/frontends/xforms/FormTabularCreate.h index 91df9dae97..ef665ee84c 100644 --- a/src/frontends/xforms/FormTabularCreate.h +++ b/src/frontends/xforms/FormTabularCreate.h @@ -27,8 +27,7 @@ class FormTabularCreate : public FormCB > { public: /// - FormTabularCreate(ControlTabularCreate &); - + FormTabularCreate(ControlTabularCreate &, Dialogs &); private: /// Apply from dialog virtual void apply(); diff --git a/src/frontends/xforms/FormTexinfo.C b/src/frontends/xforms/FormTexinfo.C index 70ecfaf9ba..d28e8fb8a9 100644 --- a/src/frontends/xforms/FormTexinfo.C +++ b/src/frontends/xforms/FormTexinfo.C @@ -26,8 +26,8 @@ typedef FormCB > base_class; -FormTexinfo::FormTexinfo(ControlTexinfo & c) - : base_class(c, _("LaTeX Information")), +FormTexinfo::FormTexinfo(ControlTexinfo & c, Dialogs & d) + : base_class(c, d, _("LaTeX Information")), activeStyle(ControlTexinfo::cls) {} diff --git a/src/frontends/xforms/FormTexinfo.h b/src/frontends/xforms/FormTexinfo.h index 35891e1cbe..0564fcd3eb 100644 --- a/src/frontends/xforms/FormTexinfo.h +++ b/src/frontends/xforms/FormTexinfo.h @@ -22,8 +22,7 @@ struct FD_texinfo; class FormTexinfo : public FormCB > { public: /// - FormTexinfo(ControlTexinfo &); - + FormTexinfo(ControlTexinfo &, Dialogs &); private: /// not needed virtual void apply() {} diff --git a/src/frontends/xforms/FormThesaurus.C b/src/frontends/xforms/FormThesaurus.C index c4e66c7233..9ce8b49eda 100644 --- a/src/frontends/xforms/FormThesaurus.C +++ b/src/frontends/xforms/FormThesaurus.C @@ -33,8 +33,8 @@ using std::vector; typedef FormCB > base_class; -FormThesaurus::FormThesaurus(ControlThesaurus & c) - : base_class(c, _("LyX: Thesaurus"), false), +FormThesaurus::FormThesaurus(ControlThesaurus & c, Dialogs & d) + : base_class(c, d, _("LyX: Thesaurus"), false), clickline_(-1) { } diff --git a/src/frontends/xforms/FormThesaurus.h b/src/frontends/xforms/FormThesaurus.h index d23b81a10b..82cbeafe01 100644 --- a/src/frontends/xforms/FormThesaurus.h +++ b/src/frontends/xforms/FormThesaurus.h @@ -24,8 +24,7 @@ struct FD_thesaurus; class FormThesaurus : public FormCB > { public: /// - FormThesaurus(ControlThesaurus &); - + FormThesaurus(ControlThesaurus &, Dialogs &); private: /// not needed. virtual void apply() {} diff --git a/src/frontends/xforms/FormToc.C b/src/frontends/xforms/FormToc.C index 35c46dc07b..d7ad86b254 100644 --- a/src/frontends/xforms/FormToc.C +++ b/src/frontends/xforms/FormToc.C @@ -29,8 +29,8 @@ using std::endl; typedef FormCB > base_class; -FormToc::FormToc(ControlToc & c) - : base_class(c, _("Table of Contents")) +FormToc::FormToc(ControlToc & c, Dialogs & d) + : base_class(c, d, _("Table of Contents")) {} diff --git a/src/frontends/xforms/FormToc.h b/src/frontends/xforms/FormToc.h index 2d8b552b64..308af3bdad 100644 --- a/src/frontends/xforms/FormToc.h +++ b/src/frontends/xforms/FormToc.h @@ -25,7 +25,7 @@ struct FD_toc; class FormToc : public FormCB > { public: /// - FormToc(ControlToc &); + FormToc(ControlToc &, Dialogs &); private: /// not needed virtual void apply() {} diff --git a/src/frontends/xforms/FormUrl.C b/src/frontends/xforms/FormUrl.C index 46a786076e..823c8760af 100644 --- a/src/frontends/xforms/FormUrl.C +++ b/src/frontends/xforms/FormUrl.C @@ -21,8 +21,8 @@ typedef FormCB > base_class; -FormUrl::FormUrl(ControlUrl & c) - : base_class(c, _("Url")) +FormUrl::FormUrl(ControlUrl & c, Dialogs & d) + : base_class(c, d, _("Url")) {} diff --git a/src/frontends/xforms/FormUrl.h b/src/frontends/xforms/FormUrl.h index 1ed730e873..361553a748 100644 --- a/src/frontends/xforms/FormUrl.h +++ b/src/frontends/xforms/FormUrl.h @@ -24,8 +24,7 @@ struct FD_url; class FormUrl : public FormCB > { public: /// - FormUrl(ControlUrl &); - + FormUrl(ControlUrl &, Dialogs &); private: /// Apply from dialog (modify or create inset) virtual void apply(); diff --git a/src/frontends/xforms/FormVCLog.C b/src/frontends/xforms/FormVCLog.C index c4d7ef2b04..3f4ec370fb 100644 --- a/src/frontends/xforms/FormVCLog.C +++ b/src/frontends/xforms/FormVCLog.C @@ -20,8 +20,8 @@ #include "gettext.h" #include FORMS_H_LOCATION -FormVCLog::FormVCLog(ControlVCLog & c) - : FormCB(c, _("Version Control Log")) +FormVCLog::FormVCLog(ControlVCLog & c, Dialogs & d) + : FormCB(c, d, _("Version Control Log")) {} diff --git a/src/frontends/xforms/FormVCLog.h b/src/frontends/xforms/FormVCLog.h index c1b6d67b4c..e4ba01f1cd 100644 --- a/src/frontends/xforms/FormVCLog.h +++ b/src/frontends/xforms/FormVCLog.h @@ -25,7 +25,7 @@ class ControlVCLog; class FormVCLog : public FormCB { public: /// - FormVCLog(ControlVCLog &); + FormVCLog(ControlVCLog &, Dialogs &); // Functions accessible to the Controller. diff --git a/src/frontends/xforms/Toolbar_pimpl.C b/src/frontends/xforms/Toolbar_pimpl.C index 4c29bc95bb..6aee2b1f6c 100644 --- a/src/frontends/xforms/Toolbar_pimpl.C +++ b/src/frontends/xforms/Toolbar_pimpl.C @@ -86,11 +86,11 @@ Toolbar::Pimpl::toolbarItem::operator=(toolbarItem const & ti) -Toolbar::Pimpl::Pimpl(LyXView * o, int x, int y) +Toolbar::Pimpl::Pimpl(LyXView * o, Dialogs & d, int x, int y) : owner(static_cast(o)), sxpos(x), sypos(y) { combox = 0; - tooltip_ = new Tooltips; + tooltip_ = new Tooltips(d); } diff --git a/src/frontends/xforms/Toolbar_pimpl.h b/src/frontends/xforms/Toolbar_pimpl.h index c695c587e9..68660241e1 100644 --- a/src/frontends/xforms/Toolbar_pimpl.h +++ b/src/frontends/xforms/Toolbar_pimpl.h @@ -26,6 +26,7 @@ class XFormsView; class Tooltips; +class Dialogs; /** The LyX xforms toolbar class */ @@ -34,7 +35,7 @@ public: /// called when user selects a layout from combox static void layoutSelectedCB(int, void *, Combox *); /// - Pimpl(LyXView * o, int x, int y); + Pimpl(LyXView * o, Dialogs &, int x, int y); /// ~Pimpl(); diff --git a/src/frontends/xforms/Tooltips.C b/src/frontends/xforms/Tooltips.C index a205683377..7974ac72f3 100644 --- a/src/frontends/xforms/Tooltips.C +++ b/src/frontends/xforms/Tooltips.C @@ -35,12 +35,12 @@ boost::signal0 Tooltips::toggled; #if FL_VERSION > 0 || FL_REVISION >= 89 -Tooltips::Tooltips() +Tooltips::Tooltips(Dialogs & d) { static bool first = true; if (first) { first = false; - Dialogs::toggleTooltips.connect(boost::bind(&Tooltips::toggleEnabled)); + d.toggleTooltips.connect(boost::bind(&Tooltips::toggleEnabled)); } toggled.connect(boost::bind(&Tooltips::set, this)); } diff --git a/src/frontends/xforms/Tooltips.h b/src/frontends/xforms/Tooltips.h index 0acff36e0e..e6bcc0f637 100644 --- a/src/frontends/xforms/Tooltips.h +++ b/src/frontends/xforms/Tooltips.h @@ -26,6 +26,8 @@ #include +class Dialogs; + #ifdef __GNUG__ #pragma interface @@ -33,7 +35,7 @@ class Tooltips : boost::noncopyable, public boost::signals::trackable { public: - Tooltips(); + Tooltips(Dialogs &); /// Initialise a tooltip for this ob. void init(FL_OBJECT * ob, string const & tip); diff --git a/src/frontends/xforms/XFormsView.C b/src/frontends/xforms/XFormsView.C index 9b0b7e2769..8fec911401 100644 --- a/src/frontends/xforms/XFormsView.C +++ b/src/frontends/xforms/XFormsView.C @@ -59,7 +59,7 @@ int C_XFormsView_atCloseMainFormCB(FL_FORM * form, void * p) XFormsView::XFormsView(int width, int height) : LyXView() { - create_form_form_main(width, height); + create_form_form_main(*getDialogs(), width, height); fl_set_form_atclose(getForm(), C_XFormsView_atCloseMainFormCB, 0); // Connect the minibuffer signals @@ -68,7 +68,7 @@ XFormsView::XFormsView(int width, int height) // Make sure the buttons are disabled if needed. updateToolbar(); - Dialogs::redrawGUI.connect(boost::bind(&XFormsView::redraw, this)); + getDialogs()->redrawGUI.connect(boost::bind(&XFormsView::redraw, this)); } @@ -123,7 +123,7 @@ void XFormsView::show(int x, int y, string const & title) } -void XFormsView::create_form_form_main(int width, int height) +void XFormsView::create_form_form_main(Dialogs & dia, int width, int height) /* to make this work as it should, .lyxrc should have been * read first; OR maybe this one should be made dynamic. * Hmmmm. Lgb. @@ -144,7 +144,8 @@ void XFormsView::create_form_form_main(int width, int height) menubar_.reset(new Menubar(this, menubackend)); - toolbar_.reset(new Toolbar(this, air, 30 + air + bw, toolbardefaults)); + toolbar_.reset(new Toolbar(this, dia, + air, 30 + air + bw, toolbardefaults)); toolbar_->set(true); int const ywork = 60 + 2 * air + bw; diff --git a/src/frontends/xforms/XFormsView.h b/src/frontends/xforms/XFormsView.h index 7031580414..de236a5422 100644 --- a/src/frontends/xforms/XFormsView.h +++ b/src/frontends/xforms/XFormsView.h @@ -20,6 +20,8 @@ #include "frontends/LyXView.h" +class Dialogs; + /** * XFormsView - xforms implementation of LyXView * @@ -32,14 +34,14 @@ public: ~XFormsView(); - /** - * show - display the top-level window - * @param xpos requested x position (or 0) - * @param xpos requested y position (or 0) - * @param title window title - */ + /** + * show - display the top-level window + * @param xpos requested x position (or 0) + * @param xpos requested y position (or 0) + * @param title window title + */ void show(int xpos, int ypos, string const & t = string("LyX")); - + /// get the xforms main form FL_FORM * getForm() const; /// redraw the main form. @@ -58,10 +60,10 @@ private: * @param t main window title * @param it iconified (short) title */ - virtual void setWindowTitle(string const & t, string const & it); - + virtual void setWindowTitle(string const & t, string const & it); + /// makes the main form. - void create_form_form_main(int width, int height); + void create_form_form_main(Dialogs & d, int width, int height); /// the main form. boost::scoped_ptr form_; }; diff --git a/src/frontends/xforms/lyx_gui.C b/src/frontends/xforms/lyx_gui.C index 8703352dec..044dfada97 100644 --- a/src/frontends/xforms/lyx_gui.C +++ b/src/frontends/xforms/lyx_gui.C @@ -8,16 +8,16 @@ */ #include - + #include "lyx_gui.h" - + #include "support/lyxlib.h" #include "support/os.h" #include "support/filetools.h" - + #include "debug.h" #include "gettext.h" - + #include "lyx_main.h" #include "lyxrc.h" @@ -27,7 +27,7 @@ #include "lyxserver.h" #include "BufferView.h" #include "XFormsView.h" - + #include FORMS_H_LOCATION #include "ColorHandler.h" #include "xforms_helpers.h" @@ -37,11 +37,11 @@ #include "graphics/GraphicsImageXPM.h" #endif - + #include #include - + #ifndef CXX_GLOBAL_CSTD using std::exit; #endif @@ -49,15 +49,15 @@ using std::exit; using std::vector; using std::hex; using std::endl; - + extern bool finished; extern BufferList bufferlist; - + // FIXME: wrong place ! LyXServer * lyxserver; - + namespace { - + /// set default GUI configuration void setDefaults() { @@ -80,7 +80,7 @@ void setDefaults() | FL_PDBorderWidth, &cntl); } - + extern "C" { int LyX_XErrHandler(Display * display, XErrorEvent * xeev) { @@ -103,19 +103,19 @@ int LyX_XErrHandler(Display * display, XErrorEvent * xeev) { lyx::abort(); return 0; } - + } - + /// read in geometry specification char geometry[40]; - + } // namespace anon - + void lyx_gui::parse_init(int & argc, char * argv[]) { setDefaults(); - + FL_CMD_OPT cmdopt[] = { {"-geometry", "*.geometry", XrmoptionSepArg, "690x510"} }; @@ -125,36 +125,36 @@ void lyx_gui::parse_init(int & argc, char * argv[]) }; const int num_res = sizeof(res)/sizeof(FL_resource); - + fl_initialize(&argc, argv, "LyX", cmdopt, num_res); - + // It appears that, in xforms >=0.89.5, fl_initialize() // calls setlocale() and ruins our LC_NUMERIC setting. locale_init(); - + fl_get_app_resources(res, num_res); - + Display * display = fl_get_display(); - + if (!display) { lyxerr << "LyX: unable to access X display, exiting" << endl; os::warn("Unable to access X display, exiting"); ::exit(1); } - + fcntl(ConnectionNumber(display), F_SETFD, FD_CLOEXEC); - + XSetErrorHandler(LyX_XErrHandler); lyxColorHandler.reset(new LyXColorHandler()); } - + void lyx_gui::parse_lyxrc() { - // FIXME !!!! + // FIXME !!!! lyxrc.dpi = 95; - + XformsColor::read(AddName(user_lyxdir, "preferences.xform")); if (lyxrc.popup_font_encoding.empty()) @@ -207,7 +207,7 @@ void lyx_gui::parse_lyxrc() #endif } - + void lyx_gui::start(string const & batch, vector files) { // initial geometry @@ -215,7 +215,7 @@ void lyx_gui::start(string const & batch, vector files) int ypos = -1; unsigned int width = 690; unsigned int height = 510; - + static const int geometryBitmask = XParseGeometry(geometry, &xpos, &ypos, &width, &height); @@ -235,7 +235,7 @@ void lyx_gui::start(string const & batch, vector files) } Screen * s = ScreenOfDisplay(fl_get_display(), fl_screen); - + // recalculate xpos if it's not set if (xpos == -1) xpos = (WidthOfScreen(s) - width) / 2; @@ -246,17 +246,17 @@ void lyx_gui::start(string const & batch, vector files) lyxerr[Debug::GUI] << "Creating view: " << width << "x" << height << "+" << xpos << "+" << ypos << endl; - + XFormsView view(width, height); view.show(xpos, ypos, "LyX"); view.init(); Buffer * last = 0; - + // FIXME: some code below needs moving lyxserver = new LyXServer(view.getLyXFunc(), lyxrc.lyxpipes); - + vector::const_iterator cit = files.begin(); vector::const_iterator end = files.end(); for (; cit != end; ++cit) { @@ -276,7 +276,7 @@ void lyx_gui::start(string const & batch, vector files) view.getLyXFunc()->verboseDispatch(batch, false); } - // enter the event loop + // enter the event loop while (!finished) { if (fl_check_forms() == FL_EVENT) { XEvent ev; @@ -287,11 +287,11 @@ void lyx_gui::start(string const & batch, vector files) } } - // FIXME + // FIXME delete lyxserver; } - - + + // Called by the graphics cache to connect the appropriate frontend // image loading routines to the LyX kernel. void lyx_gui::init_graphics() -- 2.39.2