33 #include "meter_python.h" 34 #include "menu_python.h" 36 long createMenu(
long widget)
38 karamba* currTheme = (karamba*)widget;
40 TDEPopupMenu* tmp =
new TDEPopupMenu(currTheme);
41 currTheme->menuList->append( tmp );
43 currTheme->connect(tmp, TQ_SIGNAL(activated(
int)), currTheme,
44 TQ_SLOT(passMenuItemClicked(
int)));
49 PyObject* py_create_menu(PyObject *, PyObject *args)
52 if (!PyArg_ParseTuple(args, (
char*)
"l:createMenu", &widget))
54 return Py_BuildValue((
char*)
"l", createMenu(widget));
57 bool menuExists(karamba* currTheme, TDEPopupMenu* menu)
59 bool foundMenu =
false;
62 for(
int i = 0; i < (int)currTheme->menuList->count(); i++)
66 tmp = (TDEPopupMenu*) currTheme->menuList->first();
70 tmp = (TDEPopupMenu*) currTheme->menuList->next();
84 long deleteMenu(
long widget,
long menu)
86 karamba* currTheme = (karamba*)widget;
87 TDEPopupMenu* tmp = (TDEPopupMenu*)menu;
89 currTheme->menuList->removeRef(tmp);
94 PyObject* py_delete_menu(PyObject *, PyObject *args)
97 if (!PyArg_ParseTuple(args, (
char*)
"ll:deleteMenu", &widget, &menu))
99 return Py_BuildValue((
char*)
"l", deleteMenu(widget, menu));
102 long addMenuItem(
long widget,
long menu, TQString text, TQString icon)
104 karamba* currTheme = (karamba*)widget;
105 TDEPopupMenu* tmp = (TDEPopupMenu*)menu;
108 if(menuExists(currTheme, tmp))
110 id = tmp->insertItem(SmallIconSet(icon), text);
115 PyObject* py_add_menu_item(PyObject *, PyObject *args)
120 if (!PyArg_ParseTuple(args, (
char*)
"llOs:addMenuItem", &widget, &menu, &t, &i))
125 text = PyString2TQString(t);
126 return Py_BuildValue((
char*)
"l", addMenuItem(widget, menu, text, icon));
129 long addMenuSeparator(
long widget,
long menu)
131 karamba* currTheme = (karamba*)widget;
132 TDEPopupMenu* tmp = (TDEPopupMenu*)menu;
135 if(menuExists(currTheme, tmp))
137 id = tmp->insertSeparator();
143 PyObject* py_add_menu_separator(PyObject *, PyObject *args)
147 if (!PyArg_ParseTuple(args, (
char*)
"ll:addMenuSeparator", &widget, &menu))
150 return Py_BuildValue((
char*)
"l", addMenuSeparator(widget, menu));
153 long removeMenuItem(
long widget,
long menu,
long id)
155 karamba* currTheme = (karamba*)widget;
156 TDEPopupMenu* tmp = (TDEPopupMenu*)menu;
158 if(menuExists(currTheme,tmp))
169 PyObject* py_remove_menu_item(PyObject *, PyObject *args)
171 long widget, menu, id;
172 if (!PyArg_ParseTuple(args, (
char*)
"lll:removeMenuItem", &widget, &menu, &
id))
174 return Py_BuildValue((
char*)
"l", removeMenuItem(widget, menu,
id));
177 long popupMenu(
long widget,
long menu,
long x,
long y)
179 karamba* currTheme = (karamba*)widget;
180 TDEPopupMenu* tmp = (TDEPopupMenu*)menu;
182 if(menuExists(currTheme,tmp))
184 tmp->popup(currTheme->mapToGlobal( TQPoint(x,y) ));
193 PyObject* py_popup_menu(PyObject *, PyObject *args)
195 long widget, menu, x, y;
196 if (!PyArg_ParseTuple(args, (
char*)
"llll:popupMenu", &widget, &menu, &x, &y))
198 return Py_BuildValue((
char*)
"l", popupMenu(widget, menu, x, y));