3 * Copyright (C) 2007, Harbour, All rights reserved.
6 #ifndef _F_MENU_ITEM_H_
7 #define _F_MENU_ITEM_H_
11 // fltk - ËÁË ÍÎÏÇÏ × ÜÔÏÍ ÓÌÏ×Å ...
13 enum { // values for flags:
18 F_MENU_INVISIBLE = 0x10,
19 F_SUBMENU_POINTER = 0x20,
21 F_MENU_DIVIDER = 0x80,
22 F_MENU_HORIZONTAL = 0x100
28 F_Callback *callback_;
34 F_Menu_Item() { user_data_ = 0; flags = 0; callback_ = 0; }
35 F_Menu_Item(const char *l, F_Callback *cb, void *d) {
41 const char *text() const { return label_.c_str(); }
42 void text(const char *a) { if (a) label_ = a; }
43 void *user_data() const { return user_data_; }
44 void user_data(void *v) { user_data_ = v; }
45 int submenu() const { return flags & (F_SUBMENU | F_SUBMENU_POINTER); }
46 int checkbox() const { return flags & F_MENU_TOGGLE; }
47 int radio() const { return flags & F_MENU_RADIO; }
48 int value() const { return flags & F_MENU_VALUE; }
49 void set() { flags |= F_MENU_VALUE; }
50 void clear() { flags &= ~F_MENU_VALUE; }
51 void callback(F_Callback *cb, void *d = 0) {
56 void add(const char *l, F_Callback *cb = 0, void *data = 0) {