mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-13 17:20:55 +00:00
77bfc3a011
order to disable correctly the entries when needed. * lyxfunc.C (dispatch): update menus and toolbars here (getStatus): only honor LyXView::hasFocus when command originates from a menu (bug 2877) * funcrequest.h: split the UI enum value into TOOLBAR and MENU. * lyxfunc.C (sendDispatchMessage): * MenuBackend.C (MenuItem): * ToolbarBackend.C (add): * frontends/qt2/Toolbars.C (layoutSelected): adapt to the change above. * frontends/qt2/QtView.C (hasFocus): return a correct value now (and fix bug 1720). -This line, and those below, will be ignored-- M src/ChangeLog M src/lyxfunc.C M src/frontends/Toolbars.C M src/frontends/qt2/ChangeLog M src/frontends/qt2/QtView.C M src/frontends/ChangeLog M src/funcrequest.h M src/MenuBackend.C M src/ToolbarBackend.C M status.14x git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_4_X@15768 a592a061-630c-0410-9148-cb99ea01b6c8
78 lines
1.9 KiB
C++
78 lines
1.9 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file funcrequest.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author André Pönitz
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef FUNCREQUEST_H
|
|
#define FUNCREQUEST_H
|
|
|
|
#include "lfuns.h"
|
|
#include "frontends/mouse_state.h"
|
|
|
|
#include <string>
|
|
#include <iosfwd>
|
|
|
|
|
|
/**
|
|
* This class encapsulates a LyX action and its argument
|
|
* in order to pass it around easily.
|
|
*/
|
|
class FuncRequest {
|
|
public:
|
|
/// Where the request came from
|
|
enum Origin {
|
|
INTERNAL,
|
|
MENU, // A menu entry
|
|
TOOLBAR, // A toolbar icon
|
|
KEYBOARD, // a keyboard binding
|
|
COMMANDBUFFER
|
|
};
|
|
|
|
/// just for putting these things in std::container
|
|
explicit FuncRequest(Origin o = INTERNAL);
|
|
/// actions without extra argument
|
|
explicit FuncRequest(kb_action act, Origin o = INTERNAL);
|
|
/// actions without extra argument
|
|
FuncRequest(kb_action act, int x, int y, mouse_button::state button,
|
|
Origin o = INTERNAL);
|
|
/// actions with extra argument
|
|
FuncRequest(kb_action act, std::string const & arg,
|
|
Origin o = INTERNAL);
|
|
/// for changing requests a bit
|
|
FuncRequest(FuncRequest const & cmd, std::string const & arg,
|
|
Origin o = INTERNAL);
|
|
|
|
/// access to button
|
|
mouse_button::state button() const;
|
|
|
|
/// argument parsing, extract argument i as std::string
|
|
std::string getArg(unsigned int i) const;
|
|
|
|
public: // should be private
|
|
/// the action
|
|
kb_action action;
|
|
/// the action's std::string argument
|
|
std::string argument;
|
|
/// who initiated the action
|
|
Origin origin;
|
|
/// the x coordinate of a mouse press
|
|
int x;
|
|
/// the y coordinate of a mouse press
|
|
int y;
|
|
/// some extra information (like button number)
|
|
mouse_button::state button_;
|
|
};
|
|
|
|
|
|
bool operator==(FuncRequest const & lhs, FuncRequest const & rhs);
|
|
|
|
std::ostream & operator<<(std::ostream &, FuncRequest const &);
|
|
|
|
#endif // FUNCREQUEST_H
|