X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fcontrollers%2FControlButtons.h;h=f9ebcff63dd7f401e404f4aa52c8e65c7e86c5bc;hb=120c89f24fae05379fbdc8539d3cfae574c2aecd;hp=23978f22128a0c8c713a2bb096fa6d5e780ebaf9;hpb=ab5f0efdcbc357141375f7e7c53aa9f2cbdf2f45;p=lyx.git diff --git a/src/frontends/controllers/ControlButtons.h b/src/frontends/controllers/ControlButtons.h index 23978f2212..f9ebcff63d 100644 --- a/src/frontends/controllers/ControlButtons.h +++ b/src/frontends/controllers/ControlButtons.h @@ -1,15 +1,12 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor +/** + * \file ControlButtons.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * Copyright 2001 The LyX Team. + * \author Angus Leeming * - * ====================================================== - * - * \file ControlButtons.h - * \author Angus Leeming + * Full author contact details are available in file CREDITS * * ControlButtons serves only to control the activation of the Ok, Apply, Cancel * and Restore buttons on the View dialog. @@ -29,26 +26,24 @@ #ifndef CONTROLBUTTONS_H #define CONTROLBUTTONS_H -#ifdef __GNUG__ -#pragma interface -#endif -#include "DialogBase.h" // This can go eventually +#include class ViewBase; class ButtonControllerBase; /** Abstract base class for Controllers with a ButtonController. */ -class ControlButtons : public DialogBase -{ +class ControlButtons : boost::noncopyable { public: /// ControlButtons(); /// virtual ~ControlButtons() {} - /// These functions are called when the controlling buttons are pressed. + /** These functions are called by the view when the appropriate buttons + * are pressed. + */ /// void ApplyButton(); /// @@ -57,19 +52,25 @@ public: void CancelButton(); /// void RestoreButton(); - /// + + /// Returns the user-specified iconification policy. bool IconifyWithMain() const; - /** Allow the view to access the ButtonController. This method must be - instantiated in a daughter class that creates the actual instance - of the ButtonController. */ - virtual ButtonControllerBase & bc() = 0; + /// + ButtonControllerBase & bc(); -protected: + /// + void setView(ViewBase &); + /// + void setButtonController(ButtonControllerBase &); /** When Applying it's useful to know whether the dialog is about to close or not (no point refreshing the display for example). */ bool isClosing() const { return is_closing_; } +protected: + /// + ViewBase & view(); + /// Get changed parameters and Dispatch them to the kernel. virtual void apply() = 0; /// Disconnect signals and hide View. @@ -77,19 +78,16 @@ protected: /// Update dialog before showing it. virtual void update() = 0; - /** Allow the Controller to access the View. This method must be - instantiated in a daughter class that creates the actual instance - of the View. */ - virtual ViewBase & view() = 0; - /** This flag can be set by one of the miriad the controller methods to ensure that the dialog is shut down. */ bool emergency_exit_; - private: /// bool is_closing_; - + /// We own neither of these pointers. + ButtonControllerBase * bc_ptr_; + /// + ViewBase * view_ptr_; }; #endif // CONTROLBUTTONS_H