00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef COOLMENU_INTERFACE_H
00013 #define COOLMENU_INTERFACE_H
00014
00015
00016 #include "mech.h"
00017
00018 #define ECOMMANDS(bname,letter) \
00019 ECMD(bname ## _add); \
00020 ECMD(bname ## _minus); \
00021 ECMD(bname ## _toggle); \
00022 ECMD(bname ## _set)
00023
00024 #define ECOMMANDSET(name) \
00025 ECOMMANDS(name ## _a,'a'); \
00026 ECOMMANDS(name ## _b,'b'); \
00027 ECOMMANDS(name ## _c,'c'); \
00028 ECOMMANDS(name ## _d,'d'); \
00029 ECOMMANDS(name ## _e,'e'); \
00030 ECOMMANDS(name ## _f,'f'); \
00031 ECOMMANDS(name ## _g,'g'); \
00032 ECOMMANDS(name ## _h,'h'); \
00033 ECOMMANDS(name ## _i,'i'); \
00034 ECOMMANDS(name ## _j,'j'); \
00035 ECOMMANDS(name ## _k,'k'); \
00036 ECOMMANDS(name ## _l,'l'); \
00037 ECOMMANDS(name ## _m,'m'); \
00038 ECOMMANDS(name ## _n,'n'); \
00039 ECOMMANDS(name ## _o,'o'); \
00040 ECOMMANDS(name ## _p,'p'); \
00041 ECOMMANDS(name ## _q,'q'); \
00042 ECOMMANDS(name ## _r,'r'); \
00043 ECOMMANDS(name ## _s,'s'); \
00044 ECOMMANDS(name ## _t,'t'); \
00045 ECOMMANDS(name ## _u,'u'); \
00046 ECOMMANDS(name ## _v,'v'); \
00047 ECOMMANDS(name ## _w,'w'); \
00048 ECOMMANDS(name ## _x,'x'); \
00049 ECOMMANDS(name ## _y,'y'); \
00050
00051
00052 #define _GCOMMAND_PLUS(bname,n) \
00053 {0, n, "nada", bname ## _add},
00054 #define _GCOMMAND_MINUS(bname,n) \
00055 {0, n, "nada", bname ## _minus},
00056 #define _GCOMMAND_SET(bname,n) \
00057 {0, n, "nada", bname ## _set},
00058 #define _GCOMMAND_TOGGLE(bname,n) \
00059 {0, n, "nada", bname ## _toggle},
00060
00061 #define GCOMMAND_PLUS(bname, n) _GCOMMAND_PLUS(bname, #n)
00062 #define GCOMMAND_MINUS(bname, n) _GCOMMAND_MINUS(bname, #n)
00063 #define GCOMMAND_SET(bname, n) _GCOMMAND_SET(bname, #n)
00064 #define GCOMMAND_TOGGLE(bname, n) _GCOMMAND_TOGGLE(bname, #n)
00065
00066
00067
00068 #define GCOMMANDS(bname,letter) \
00069 _GCOMMAND_PLUS(bname, #letter "+") \
00070 _GCOMMAND_MINUS(bname, #letter "-") \
00071 _GCOMMAND_SET(bname, #letter "=") \
00072 _GCOMMAND_TOGGLE(bname,#letter ".") \
00073 _GCOMMAND_TOGGLE(bname, #letter)
00074
00075
00076 #define GCOMMANDSET(name) \
00077 GCOMMANDS(name ## _a,a) \
00078 GCOMMANDS(name ## _b,b) \
00079 GCOMMANDS(name ## _c,c) \
00080 GCOMMANDS(name ## _d,d) \
00081 GCOMMANDS(name ## _e,e) \
00082 GCOMMANDS(name ## _f,f) \
00083 GCOMMANDS(name ## _g,g) \
00084 GCOMMANDS(name ## _h,h) \
00085 GCOMMANDS(name ## _i,i) \
00086 GCOMMANDS(name ## _j,j) \
00087 GCOMMANDS(name ## _k,k) \
00088 GCOMMANDS(name ## _l,l) \
00089 GCOMMANDS(name ## _m,m) \
00090 GCOMMANDS(name ## _n,n) \
00091 GCOMMANDS(name ## _o,o) \
00092 GCOMMANDS(name ## _p,p) \
00093 GCOMMANDS(name ## _q,q) \
00094 GCOMMANDS(name ## _r,r) \
00095 GCOMMANDS(name ## _s,s) \
00096 GCOMMANDS(name ## _t,t) \
00097 GCOMMANDS(name ## _u,u) \
00098 GCOMMANDS(name ## _v,v) \
00099 GCOMMANDS(name ## _w,w) \
00100 GCOMMANDS(name ## _x,x) \
00101 GCOMMANDS(name ## _y,y) \
00102
00103
00104
00105 #endif