]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Toolbar.h
Minipage is no more (long live the box inset)
[lyx.git] / src / frontends / Toolbar.h
index e9477578bdd9a4825b0cd863bf827670cba30029..e6d23cac6ddd849fa36930941fcd259667802aa5 100644 (file)
@@ -1,59 +1,66 @@
 // -*- C++ -*-
 /**
  * \file Toolbar.h
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
  * \author Lars Gullik Bjønnes
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef TOOLBAR_H
 #define TOOLBAR_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "LString.h"
+#include "ToolbarBackend.h"
 
 class LyXView;
-class ToolbarDefaults;
 
-
-/** The LyX GUI independent toolbar class
-  The GUI interface is implemented in the corresponding Toolbar_pimpl class.
-  */
+/**
+ * The LyX GUI independent toolbar class
+ *
+ * The GUI interface is implemented in the corresponding Toolbar_pimpl class.
+ */
 class Toolbar {
 public:
        ///
-       Toolbar(LyXView * o, int x, int y, ToolbarDefaults const &);
+       Toolbar();
 
        ///
-       ~Toolbar();
+       virtual ~Toolbar();
 
-       /// update the state of the icons
-       void update();
+       /// Initialize toolbar from backend
+       void init();
+
+       /// update the state of the toolbars
+       void update(bool in_math, bool in_table);
 
        /// update the layout combox
-       void setLayout(string const & layout);
+       virtual void setLayout(std::string const & layout) = 0;
        /**
         * Populate the layout combox - returns whether we did a full
         * update or not
         */
        bool updateLayoutList(int textclass);
        /// Drop down the layout list
-       void openLayoutList();
+       virtual void openLayoutList() = 0;
        /// Erase the layout list
-       void clearLayoutList();
+       virtual void clearLayoutList();
 
-       /// Compaq cxx 6.5 requires this to be public
-       struct Pimpl;
 private:
-       ///
-       friend struct Toolbar::Pimpl;
-       ///
-       Pimpl * pimpl_;
+
+       virtual void add(ToolbarBackend::Toolbar const & tb) = 0;
+
+       /// update the state of the icons
+       virtual void update() = 0;
+
+       /// show or hide a toolbar
+       virtual void displayToolbar(ToolbarBackend::Toolbar const & tb,
+                                   bool show) = 0;
+
+       /// Populate the layout combox.
+       virtual void updateLayoutList() = 0;
+
 
        /**
         * The last textclass layout list in the layout choice selector