X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiToolbar.h;h=31146ee3999c7fff26c43d695a62e35bf0c5010e;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=3a5770c008dfc6e476e3b8c67b36078715e15305;hpb=595c401eaee8b32336a2c932c2c85d9c3399241a;p=lyx.git diff --git a/src/frontends/qt4/GuiToolbar.h b/src/frontends/qt4/GuiToolbar.h index 3a5770c008..31146ee399 100644 --- a/src/frontends/qt4/GuiToolbar.h +++ b/src/frontends/qt4/GuiToolbar.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author John Levon * \author Jean-Marc Lasgouttes * \author Angus Leeming @@ -16,84 +16,119 @@ #ifndef GUITOOLBAR_H #define GUITOOLBAR_H -#include "frontends/Toolbars.h" #include "Session.h" #include #include - -class QComboBox; +#include namespace lyx { -class FuncRequest; +class DocumentClass; +class Inset; namespace frontend { -class GuiCommandBuffer; -class GuiLayoutBox; -class GuiViewBase; class Action; - - -class GuiLayoutBox : public QObject, public LayoutBox +class GuiCommandBuffer; +class GuiLayoutFilterModel; +class GuiToolbar; +class GuiView; +class LayoutBox; +class ToolbarInfo; +class ToolbarItem; + +class MenuButton : public QToolButton { Q_OBJECT public: - GuiLayoutBox(QToolBar *, GuiViewBase &); + /// + MenuButton(GuiToolbar * bar, ToolbarItem const & item, + bool const sticky = false); + /// + void mousePressEvent(QMouseEvent * e); - /// select the right layout in the combobox. - void set(docstring const & layout); - /// Populate the layout combox. - void update(); - /// Erase the layout list. - void clear(); - /// Display the layout list. - void open(); +private: + /// + GuiToolbar * bar_; + /// + ToolbarItem const & tbitem_; /// - void setEnabled(bool); + bool initialized_; private Q_SLOTS: - void selected(const QString & str); - -private: - QComboBox * combo_; - GuiViewBase & owner_; + /// + void actionTriggered(QAction * action); }; -class GuiToolbar : public QToolBar, public Toolbar + +class GuiToolbar : public QToolBar { Q_OBJECT public: - GuiToolbar(ToolbarInfo const &, GuiViewBase &); + /// + GuiToolbar(ToolbarInfo const &, GuiView &); + /// + void setVisibility(int visibility); + + /// Add a button to the bar. void add(ToolbarItem const & item); - void hide(bool); - void show(bool); - bool isVisible() const; - void saveInfo(ToolbarSection::ToolbarInfo & info); - void update(); - LayoutBox * layout() const { return layout_; } + + /// Session key. + /** + * This key must be used for any session setting. + **/ + QString sessionKey() const; + /// Save session settings. + void saveSession() const; + /// Restore session settings. + void restoreSession(); + + /// Refresh the contents of the bar. + void update(bool in_math, bool in_table, bool review, + bool in_mathmacrotemplate); + + /// + void toggle(); + + /// + GuiCommandBuffer * commandBuffer() { return command_buffer_; } + /// - void focusCommandBuffer(); + Action * addItem(ToolbarItem const & item); Q_SIGNALS: + /// void updated(); private: - Action * addItem(ToolbarItem const & item); + // load flags with saved values + void initFlags(); + /// + void fill(); + /// + void showEvent(QShowEvent *); + /// + QString name_; + /// QList actions_; - GuiViewBase & owner_; - - GuiLayoutBox * layout_; + /// initial visibility flags + int visibility_; + /// + bool allowauto_; + /// + GuiView & owner_; + /// GuiCommandBuffer * command_buffer_; + /// + ToolbarInfo const & tbinfo_; + /// + bool filled_; }; -/// return a full path of an XPM for the given action -std::string const getIcon(FuncRequest const & f, bool unknown = true); - } // namespace frontend } // namespace lyx