lyx_mirror/src/frontends/qt4/QLToolbar.h
Bo Peng eaa33dca6d Session/Toolbars:
* src/LyXAction.C: LFUN_TOOLBAR_TOGGLE_STATE
	* src/session.h/C: add ToolbarSection class
	* src/lyxfunc.C: handle LFUN_TOOLBAR_TOGGLE_STATE
	* src/frontends/LyXView.h/C: toggleToolbarState(name)
	* src/frontends/Toolbars.h/C: initFlags, toogle and save toolbar, 
	    changed update logic
	* src/frontends/qt4/QLToolbar.h/C: saveInfo. Surprisingly little is 
	    asked from frontend.
	* src/frontends/qt4/GuiView.C: save toolbar when lyx exits
	* src/MenuBackend.h/C: add Toolbars submenu
	* src/lfuns.h: add LFUN_TOOLBAR_TOGGLE_STATE
	* src/ToolbarBackend.h: add AUTO flag
	* lib/ui/stdmenus.ui: add view->Toolbar menu


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15691 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-02 16:01:36 +00:00

92 lines
1.6 KiB
C++

// -*- C++ -*-
/**
* \file QLToolbar.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
* \author John Levon
* \author Jean-Marc Lasgouttes
* \author Angus Leeming
* \author Abdelrazak Younes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef QLTOOLBAR_H
#define QLTOOLBAR_H
#include "frontends/Toolbars.h"
#include <boost/scoped_ptr.hpp>
#include <QToolBar>
#include <vector>
#include "session.h"
class QComboBox;
namespace lyx {
namespace frontend {
class QLayoutBox;
class GuiView;
class Action;
class QLayoutBox : public QObject, public LayoutBox {
Q_OBJECT
public:
QLayoutBox(QToolBar *, GuiView &);
/// select the right layout in the combox.
void set(std::string const & layout);
/// Populate the layout combox.
void update();
/// Erase the layout list.
void clear();
/// Display the layout list.
void open();
///
void setEnabled(bool);
private Q_SLOTS:
void selected(const QString & str);
private:
QComboBox * combo_;
GuiView & owner_;
};
class QLToolbar : public QToolBar, public Toolbar {
Q_OBJECT
public:
QLToolbar(ToolbarBackend::Toolbar const &, GuiView &);
//~QLToolbar();
void add(FuncRequest const & func, lyx::docstring const & tooltip);
void hide(bool);
void show(bool);
void saveInfo(ToolbarSection::ToolbarInfo & info);
void update();
LayoutBox * layout() const { return layout_.get(); }
Q_SIGNALS:
void updated();
private:
std::vector<Action *> ActionVector;
GuiView & owner_;
boost::scoped_ptr<QLayoutBox> layout_;
};
} // namespace frontend
} // namespace lyx
#endif // NOT QLTOOLBAR_H