#ifndef __TGMrbLofKeyBindings_h__
#define __TGMrbLofKeyBindings_h__
#include "Rtypes.h"
#include "GuiTypes.h"
#include "TGFrame.h"
#include "WidgetMessageTypes.h"
#include "TMrbLofNamedX.h"
#include "RQ_OBJECT.h"
enum { kC_KEY = kC_USER + 100 };
class TGMrbLofKeyBindings : public TMrbLofNamedX {
RQ_OBJECT("TGMrbLofKeyBindings")
public:
enum EGMrbKeyAction { kGMrbKeyActionAllDone = 0,
kGMrbKeyActionExit,
kGMrbKeyActionClose,
kGMrbKeyActionSave,
kGMrbKeyActionRestore,
kGMrbKeyActionPrint,
kGMrbKeyActionOpen,
kGMrbKeyActionNew,
kGMrbKeyActionFind,
kGMrbKeyActionFindAgain,
kGMrbKeyActionUndo,
kGMrbKeyActionPaste,
kGMrbKeyActionCopy,
kGMrbKeyActionCut,
kGMrbKeyActionUser = 128,
kGMrbKeyActionAnyKey = 256
};
enum { kGMrbKeyModifierMask = kKeyShiftMask | kKeyLockMask | kKeyControlMask | kKeyMod1Mask };
enum { kGMrbKeyIndexMask = 0x0000FFFF };
enum { kGMrbKeyModifierBit = 8 };
enum { kGMrbKeyActionMask = 0xFFFF0000 };
enum { kGMrbKeyActionBit = 16 };
public:
TGMrbLofKeyBindings(const TGWindow * Parent = NULL);
~TGMrbLofKeyBindings() {};
inline void SetParent(TGWindow * Parent) { fParent = Parent; };
Bool_t BindKey(const Char_t * Key, EGMrbKeyAction Action = TGMrbLofKeyBindings::kGMrbKeyActionAllDone);
Bool_t HandleKey(Event_t * Event);
void KeyPressed(Int_t FrameId, Int_t Key);
inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };
protected:
const TGWindow * fParent;
ClassDef(TGMrbLofKeyBindings, 0)
};
#endif