#include "ToolbarBackend.h"
#include <boost/shared_ptr.hpp>
#include <map>
-#include "session.h"
+#include "Session.h"
namespace lyx {
public:
virtual ~Toolbar() {}
/// Add a button to the bar.
- virtual void add(FuncRequest const & func, docstring const & tooltip) = 0;
+ virtual void add(ToolbarItem const & item) = 0;
/** Hide the bar.
* \param update_metrics is a hint to the layout engine that the
/** update toolbar information
* ToolbarInfo will then be saved by session
*/
- virtual void saveInfo(ToolbarSection::ToolbarInfo & info) = 0;
+ virtual void saveInfo(ToolbarSection::ToolbarInfo & tbinfo) = 0;
+ /// whether toolbar is visible
+ virtual bool isVisible() const = 0;
/// Refresh the contents of the bar.
virtual void update() = 0;
/// Accessor to the layout combox, if any.
/// Show/hide the named toolbar.
void display(std::string const & name, bool show);
+ /// get toolbar state (on/off/auto)
+ ToolbarInfo::Flags getToolbarState(std::string const & name);
+
/// toggle the state of toolbars (on/off/auto)
void toggleToolbarState(std::string const & name);
/// Update the state of the toolbars.
void update(bool in_math, bool in_table, bool review);
+ /// Is the Toolbar currently visible?
+ bool visible(std::string const & name) const;
+
/// save toolbar information
void saveToolbarInfo();
typedef boost::shared_ptr<Toolbar> ToolbarPtr;
private:
- /// Add a new toolbar.
- void add(ToolbarBackend::Toolbar const & tb);
+ /// Add a new toolbar. if newline==true, start from a new line
+ void add(ToolbarInfo const & tbinfo, bool newline);
/// Show or hide a toolbar.
- void displayToolbar(ToolbarBackend::Toolbar const & tb, bool show);
+ void displayToolbar(ToolbarInfo const & tbinfo, bool show);
/// Update the state of the icons
void update();
int last_textclass_;
// load flags with saved values
- void initFlags(ToolbarBackend::Toolbar & tbb);
+ void initFlags(ToolbarInfo & tbinfo);
};
/// Set the layout in the kernel when an entry has been selected