X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fcontrollers%2FGUI.h;h=ab4cfcd60c8ba4bc247139fa31b42ff819ac421d;hb=0705dae8a3a2bcdd6be55eb468547c1389e84d2c;hp=b92d1e2cf2a35d6d375f1e5c160b026065f195c7;hpb=1e394731004491d04abe436112b5a89521bbd19a;p=lyx.git diff --git a/src/frontends/controllers/GUI.h b/src/frontends/controllers/GUI.h index b92d1e2cf2..ab4cfcd60c 100644 --- a/src/frontends/controllers/GUI.h +++ b/src/frontends/controllers/GUI.h @@ -1,408 +1,52 @@ // -*- C++ -*- /** * \file GUI.h - * Copyright 2001 The LyX Team. - * See the file COPYING. + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * \author Angus Leeming + * \author Angus Leeming + * + * Full author contact details are available in file CREDITS. */ #ifndef GUI_H #define GUI_H -#include "ButtonController.h" -#include "ButtonController.tmpl" -#include "ButtonPolicies.h" -#include "ControlAboutlyx.h" -#include "ControlBibitem.h" -#include "ControlBibtex.h" -#include "ControlCharacter.h" -#include "ControlCitation.h" -#include "ControlError.h" -#include "ControlERT.h" -#include "ControlExternal.h" -#include "ControlFloat.h" -#include "ControlForks.h" -#include "ControlGraphics.h" -#include "insets/insetgraphicsParams.h" -#include "ControlInclude.h" -#include "ControlIndex.h" -#include "ControlLog.h" -#include "ControlMinipage.h" -#include "ControlPreamble.h" -#include "ControlPrint.h" -#include "ControlRef.h" -#include "ControlSearch.h" -#include "ControlSendto.h" -#include "ControlShowFile.h" -#include "ControlSpellchecker.h" -#include "ControlTabularCreate.h" -#include "ControlTexinfo.h" -#include "ControlThesaurus.h" -#include "ControlToc.h" -#include "ControlUrl.h" -#include "ControlVCLog.h" +#include +class LyXView; +class Dialogs; -/** This class instantiates and makes available the GUI-specific - ButtonController and View. +/** This class makes a whole out of the disparate parts of a dialog. */ -template -class GUI : public Controller { +template +class GUI : boost::noncopyable { public: /// - GUI(LyXView & lv, Dialogs & d) : Controller(lv, d), view_(*this) {} + GUI(LyXView & lv, Dialogs & d); /// - virtual ButtonControllerBase & bc() { return bc_; } + Controller & controller() { return controller_; } /// - virtual ViewBase & view() { return view_; } - + Controller const & controller() const { return controller_; } private: /// - ButtonController bc_; + Controller controller_; /// GUIview view_; }; -#if 0 -/** Specialization for About LyX dialog - */ -template -class GUIAboutlyx : - public GUI { -public: - /// - GUIAboutlyx(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -/** Specialization for Bibitem dialog - */ -template -class GUIBibitem : - public GUI { -public: - /// - GUIBibitem(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -/** Specialization for Bibtex dialog - */ -template -class GUIBibtex : - public GUI { -public: - /// - GUIBibtex(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Character dialog - */ -template -class GUICharacter : public GUI +template +GUI::GUI(LyXView & lv, Dialogs & d) + : controller_(lv, d), + view_() { -public: - /// - GUICharacter(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Citation dialog - */ -template -class GUICitation : public GUI -{ -public: - /// - GUICitation(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Error dialog - */ -template -class GUIError : - public GUI { -public: - /// - GUIError(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for ERT dialog - */ -template -class GUIERT : - public GUI { -public: - /// - GUIERT(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for External dialog - */ -template -class GUIExternal : - public GUI { -public: - /// - GUIExternal(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Forks dialog - */ -template -class GUIForks : - public GUI { -public: - /// - GUIForks(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -/** Specialization for Graphics dialog - */ -template -class GUIGraphics : - public GUI { -public: - /// - GUIGraphics(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Include dialog - */ -template -class GUIInclude : - public GUI { -public: - /// - GUIInclude(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Index dialog - */ -template -class GUIIndex : - public GUI { -public: - /// - GUIIndex(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Log dialog - */ -template -class GUILog : - public GUI { -public: - /// - GUILog(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Minipage dialog - */ -template -class GUIMinipage : - public GUI { -public: - /// - GUIMinipage(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Float dialog - */ -template -class GUIFloat : - public GUI { -public: - /// - GUIFloat(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Preamble dialog - */ -template -class GUIPreamble : - public GUI { -public: - /// - GUIPreamble(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Print dialog - */ -template -class GUIPrint : - public GUI { -public: - /// - GUIPrint(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Ref dialog - */ -template -class GUIRef : - public GUI { -public: - /// - GUIRef(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Search dialog - */ -template -class GUISearch : - public GUI { -public: - /// - GUISearch(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Sendto dialog - */ -template -class GUISendto : - public GUI { -public: - /// - GUISendto(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for ShowFile dialog - */ -template -class GUIShowFile : - public GUI { -public: - /// - GUIShowFile(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -/** Specialization for Spellchecker dialog - */ -template -class GUISpellchecker : - public GUI { -public: - /// - GUISpellchecker(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -/** Specialization for Toc dialog - */ -template -class GUIToc : - public GUI { -public: - /// - GUIToc(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for TabularCreate dialog - */ -template -class GUITabularCreate : - public GUI { -public: - /// - GUITabularCreate(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Texinfo dialog - */ -template -class GUITexinfo : - public GUI { -public: - /// - GUITexinfo(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -/** Specialization for Thesaurus dialog - */ -template -class GUIThesaurus : - public GUI { -public: - /// - GUIThesaurus(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for Url dialog - */ -template -class GUIUrl : - public GUI { -public: - /// - GUIUrl(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - - -/** Specialization for VCLog dialog - */ -template -class GUIVCLog : - public GUI { -public: - /// - GUIVCLog(LyXView & lv, Dialogs & d) - : GUI(lv, d) {} -}; - -#endif + controller_.setView(view_); + view_.setController(controller_); + controller_.bc().view(new GUIbc(controller_.bc())); + controller_.bc().bp(new Policy); +} #endif // GUI_H