[go: up one dir, main page]

Menu

[d69ae3]: / src / ymenuitem.h  Maximize  Restore  History

Download this file

63 lines (48 with data), 1.6 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef __YMENUITEM_H
#define __YMENUITEM_H
#include "ypaint.h"
#include "ypixbuf.h"
class YMenu;
class YAction;
class YActionListener;
class YMenuItem {
public:
YMenuItem(const char *name, int hotCharPos, const char *param, YAction *action, YMenu *submenu);
YMenuItem(const char *name);
YMenuItem();
virtual ~YMenuItem();
char *getName() const { return fName; }
const char *getParam() const { return fParam; }
YAction *getAction() const { return fAction; }
YMenu *getSubmenu() const { return fSubmenu; }
int getHotChar() const {
return (fName && fHotCharPos >= 0) ? fName[fHotCharPos] : -1;
}
int getHotCharPos() const {
return fHotCharPos;
}
ref<YIconImage> getIcon() const { return fIcon; }
void setChecked(bool c);
int isChecked() const { return fChecked; }
int isEnabled() const { return fEnabled; }
void setEnabled(bool e) { fEnabled = e; }
void setSubmenu(YMenu *submenu) { fSubmenu = submenu; }
virtual void actionPerformed(YActionListener *listener, YAction *action, unsigned int modifiers);
int queryHeight(int &top, int &bottom, int &pad) const;
int getIconWidth() const;
int getNameWidth() const;
int getParamWidth() const;
bool isSeparator() { return !getName() && !getSubmenu(); }
void setIcon(YIcon *icon);
private:
char *fName;
char *fParam;
YAction *fAction;
int fHotCharPos;
YMenu *fSubmenu;
ref<YIconImage> fIcon;
bool fChecked;
bool fEnabled;
void setIcon(ref<YIconImage> icon);
};
#endif