23 #ifndef _LAX_MENUSELECTOR_H
24 #define _LAX_MENUSELECTOR_H
26 #include <lax/anxapp.h>
27 #include <lax/menuinfo.h>
28 #include <lax/scrolledwindow.h>
29 #include <lax/buttondowninfo.h>
36 #define MENUSEL_CHECK_ON_RIGHT (1LL<<0)
37 #define MENUSEL_CHECK_ON_LEFT (1LL<<1)
38 #define MENUSEL_SUB_ON_RIGHT (1LL<<2)
39 #define MENUSEL_SUB_ON_LEFT (1LL<<3)
40 #define MENUSEL_STATUS_ON_RIGHT (1LL<<4)
41 #define MENUSEL_STATUS_ON_LEFT (1LL<<5)
42 #define MENUSEL_GRAPHIC_ON_RIGHT (1LL<<6)
43 #define MENUSEL_GRAPHIC_ON_LEFT (1LL<<7)
44 #define MENUSEL_SUB_FOLDER (1LL<<8)
45 #define MENUSEL_SUB_ARROW (1LL<<9)
46 #define MENUSEL_CENTER (1LL<<10)
47 #define MENUSEL_LEFT (1LL<<11)
48 #define MENUSEL_RIGHT (1LL<<12)
49 #define MENUSEL_TAB_JUSTIFY (1LL<<13)
50 #define MENUSEL_CHECKS (1LL<<14)
51 #define MENUSEL_CHECKBOXES (1LL<<15)
52 #define MENUSEL_SHOW_LEAF_ONLY (1LL<<16)
53 #define MENUSEL_SHOW_SUB_ONLY (1LL<<17)
54 #define MENUSEL_SCROLLERS (1LL<<18)
55 #define MENUSEL_USE_TITLE (1LL<<19)
56 #define MENUSEL_BUTTONCOLORS (1LL<<20)
57 #define MENUSEL_TEXTCOLORS (1LL<<21)
58 #define MENUSEL_FIT_TO_WIDTH (1LL<<22)
59 #define MENUSEL_FIT_TO_HEIGHT (1LL<<23)
60 #define MENUSEL_TREE (1LL<<24)
61 #define MENUSEL_COMPOUND_TREE (1LL<<25)
63 #define MENUSEL_SORT_NUMBERS (1LL<<26)
64 #define MENUSEL_SORT_LETTERS (1LL<<27)
65 #define MENUSEL_SORT_REVERSE (1LL<<28)
66 #define MENUSEL_SORT_SUBS_FIRST (1LL<<29)
67 #define MENUSEL_SORT_IGNORE_CASE (1LL<<30)
68 #define MENUSEL_SORT_BY_EXTENSIONS (1LL<<31)
70 #define MENUSEL_USE_DOT (1LL<<32)
71 #define MENUSEL_USE_DOT_DOT (1LL<<33)
72 #define MENUSEL_USE_UP (1LL<<34)
73 #define MENUSEL_USE_BACK (1LL<<35)
75 #define MENUSEL_ONE_ONLY (1LL<<36)
76 #define MENUSEL_ZERO_OR_ONE (1LL<<37)
77 #define MENUSEL_SELECT_ANY (1LL<<38)
78 #define MENUSEL_SELECT_LEAF_ONLY (1LL<<39)
79 #define MENUSEL_SELECT_SUB_ONLY (1LL<<40)
80 #define MENUSEL_CURSSELECTS (1LL<<41)
81 #define MENUSEL_FOLLOW_MOUSE (1LL<<42)
82 #define MENUSEL_GRAB_ON_MAP (1LL<<43)
83 #define MENUSEL_GRAB_ON_ENTER (1LL<<44)
84 #define MENUSEL_OUT_CLICK_DESTROYS (1LL<<45)
85 #define MENUSEL_CLICK_UP_DESTROYS (1LL<<46)
86 #define MENUSEL_DESTROY_ON_LEAVE (1LL<<47)
87 #define MENUSEL_DESTROY_ON_FOCUS_OFF (1LL<<48)
89 #define MENUSEL_REARRANGEABLE (1LL<<49)
90 #define MENUSEL_EDIT_IN_PLACE (1LL<<50)
94 #define MENUSEL_SEND_ON_UP (1LL<<51)
95 #define MENUSEL_SEND_ON_ENTER (1LL<<52)
96 #define MENUSEL_SEND_IDS (1LL<<53)
97 #define MENUSEL_SEND_STRINGS (1LL<<54)
127 virtual void drawarrow(
int x,
int y,
int r,
int type);
128 virtual void drawcheck(
int on,
int x,
int y);
132 virtual int send(
int deviceid);
133 virtual void addselect(
int i,
unsigned int state);
147 unsigned long long menustyle;
150 int xx,
int yy,
int ww,
int hh,
int brder,
151 anXWindow *prev,
unsigned long nowner=0,
const char *mes=0,
152 unsigned long long nmstyle=0,
MenuInfo *minfo=NULL,
char nmenuislocal=0);
157 virtual int CharInput(
unsigned int ch,
const char *buffer,
int len,
unsigned int state,
const LaxKeyboard *d);
158 virtual int LBDown(
int x,
int y,
unsigned int state,
int count,
const LaxMouse *d);
159 virtual int LBUp(
int x,
int y,
unsigned int state,
const LaxMouse *d);
160 virtual int RBDown(
int x,
int y,
unsigned int state,
int count,
const LaxMouse *d);
161 virtual int RBUp(
int x,
int y,
unsigned int state,
const LaxMouse *d);
162 virtual int WheelUp(
int x,
int y,
unsigned int state,
int count,
const LaxMouse *d);
163 virtual int WheelDown(
int x,
int y,
unsigned int state,
int count,
const LaxMouse *d);
165 virtual int Idle(
int tid);
166 virtual int MoveResize(
int nx,
int ny,
int nw,
int nh);
167 virtual int Resize(
int nw,
int nh);
174 virtual int SetFirst(
int which,
int x,
int y);
177 virtual int Select(
int which);
180 virtual void SetLineHeight(
int ntotalheight,
int newleading,
char forcearrange=1);
185 virtual void Sort(
int t);
186 virtual int AddItems(
const char **i,
int n,
int startid);
187 virtual int AddItem(
const char *i,
int nid,
int nst);
Mon Feb 17 2014 11:52:57, Laxkit