2003-04-02 18:08:05 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
/**
|
|
|
|
* \file ToolbarBackend.h
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
*
|
|
|
|
* \author unknown
|
|
|
|
*
|
|
|
|
* Full author contact details are available in file CREDITS
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef TOOLBAR_BACKEND_H
|
|
|
|
#define TOOLBAR_BACKEND_H
|
|
|
|
|
|
|
|
#include <vector>
|
2003-04-08 19:17:00 +00:00
|
|
|
#include <algorithm>
|
2003-04-02 18:08:05 +00:00
|
|
|
|
|
|
|
#include "LString.h"
|
|
|
|
|
|
|
|
class LyXLex;
|
|
|
|
|
|
|
|
///
|
|
|
|
class ToolbarBackend {
|
|
|
|
public:
|
|
|
|
/// The special toolbar actions
|
|
|
|
enum ItemType {
|
|
|
|
/// adds space between buttons in the toolbar
|
|
|
|
SEPARATOR = -3,
|
|
|
|
/// a special combox insead of a button
|
|
|
|
LAYOUTS = -2,
|
|
|
|
/// begin a new line of button (not working)
|
|
|
|
NEWLINE = -1
|
|
|
|
};
|
|
|
|
|
2003-04-08 19:17:00 +00:00
|
|
|
/// action, tooltip
|
|
|
|
typedef std::pair<int, string> Item;
|
|
|
|
|
|
|
|
/// the toolbar items
|
|
|
|
typedef std::vector<std::pair<int, string> > Items;
|
|
|
|
|
2003-04-02 18:08:05 +00:00
|
|
|
typedef Items::iterator iterator;
|
2003-04-08 19:17:00 +00:00
|
|
|
|
2003-04-02 18:08:05 +00:00
|
|
|
typedef Items::const_iterator const_iterator;
|
|
|
|
///
|
|
|
|
ToolbarBackend();
|
|
|
|
///
|
|
|
|
iterator begin() {
|
|
|
|
return items.begin();
|
|
|
|
}
|
|
|
|
///
|
|
|
|
const_iterator begin() const {
|
|
|
|
return items.begin();
|
|
|
|
}
|
|
|
|
///
|
|
|
|
iterator end() {
|
|
|
|
return items.end();
|
|
|
|
}
|
|
|
|
///
|
|
|
|
const_iterator end() const {
|
|
|
|
return items.end();
|
|
|
|
}
|
|
|
|
///
|
|
|
|
void read(LyXLex &);
|
2003-04-08 19:17:00 +00:00
|
|
|
|
|
|
|
/// return a full path of an XPM for the given action
|
|
|
|
static string const getIcon(int action);
|
|
|
|
|
2003-04-02 18:08:05 +00:00
|
|
|
private:
|
2003-04-08 19:17:00 +00:00
|
|
|
/// add the given lfun with tooltip if relevant
|
|
|
|
void add(int, string const & tooltip = string());
|
|
|
|
/// add the given lfun with tooltip if relevant
|
|
|
|
void add(string const &, string const & tooltip);
|
|
|
|
/// all the items
|
2003-04-02 18:08:05 +00:00
|
|
|
Items items;
|
|
|
|
};
|
|
|
|
|
|
|
|
/// The global instance
|
|
|
|
extern ToolbarBackend toolbarbackend;
|
|
|
|
|
|
|
|
|
|
|
|
#endif // TOOLBAR_BACKEND_H
|