PyObject* py_read_config_entry(PyObject *, PyObject *args) { long widget; char* key; if (!PyArg_ParseTuple(args, (char*)"ls:readConfigEntry", &widget, &key)) return NULL; if (!checkKaramba(widget)) return NULL; QString k; k.setAscii(key); QVariant entry = readConfigEntry(widget, k); QString type; type.setAscii(entry.typeName()); if (type == "Bool") { return Py_BuildValue((char*)"l", (int)entry.toBool()); } bool isint = false; int i = entry.toInt(&isint); if (isint) { return Py_BuildValue((char*)"l", i); } if (type == "QString") { return Py_BuildValue((char*)"s", entry.toString().ascii()); } // Add more types if needed return NULL; }
/** * creates the icon for the specified task as a karamba image * @param ctask the window id of the task to create the icon for */ PyObject* py_createTaskIcon(PyObject *, PyObject *args) { long widget, x, y; long ctask; if (!PyArg_ParseTuple(args, (char*)"llll:createTaskIcon", &widget, &x, &y, &ctask)) return NULL; if (!checkKaramba(widget)) return NULL; //get the specified task and insure it exists TaskList taskList = ((karamba*)widget)->taskManager.tasks(); Task* task = 0; Task* currTask = 0; for (task = taskList.first(); task; task = taskList.next()) { if ((long)task == (long)ctask) { //task found currTask = task; break; } } if (currTask == 0) { //no task was found qWarning("Task not found."); return (long)NULL ; } //retrieve the QPixmap that represents this image QPixmap iconPixmap = KWin::icon(currTask->window()); ImageLabel *tmp = createImageLabel((karamba*)widget, x, y, 0, 0); tmp->setValue(iconPixmap); return (Py_BuildValue((char*)"l", (long)tmp)); }
PyObject* py_read_config_entry(PyObject *, PyObject *args) { long widget; char* key; if (!PyArg_ParseTuple(args, (char*)"ls:readConfigEntry", &widget, &key)) return NULL; if (!checkKaramba(widget)) return NULL; QString k; k = QString::fromAscii(key); QString entry = readConfigEntry(widget, k); if (entry.isEmpty()) return Py_BuildValue((char*)""); if (entry.startsWith("false", Qt::CaseInsensitive)) return Py_BuildValue((char*)"l", 0); if (entry.startsWith("true", Qt::CaseInsensitive)) return Py_BuildValue((char*)"l", 0); bool ok; if (entry.toInt(&ok)) return Py_BuildValue((char*)"l", entry.toInt()); return Py_BuildValue((char*)"s", entry.toAscii().constData()); return NULL; }
PyObject* py_createBackgroundImage(PyObject *, PyObject *args) { long widget, x, y; char *text; if (!PyArg_ParseTuple(args, (char*)"llls:createBackgroundImage", &widget, &x, &y, &text)) return NULL; if (!checkKaramba(widget)) return NULL; ImageLabel *tmp = createImageLabel((karamba*)widget, x, y, text, 1); return (Py_BuildValue((char*)"l", (long)tmp)); }
PyObject* py_createGraph(PyObject *, PyObject *args) { long widget, x, y, w, h, points; if (!PyArg_ParseTuple(args, (char*)"llllll", &widget, &x, &y, &w, &h, &points)) return NULL; if (!checkKaramba(widget)) return NULL; Graph *tmp = new Graph((karamba*)widget, (int)x, (int)y, (int)w, (int)h, (int)points); ((karamba*)widget)->meterList->append(tmp); return (Py_BuildValue((char*)"l", (long)tmp)); }
PyObject* py_createBar(PyObject *, PyObject *args) { long widget, x, y, w, h; char *text; if (!PyArg_ParseTuple(args, (char*)"lllll|s", &widget, &x, &y, &w, &h, &text)) return NULL; if (!checkKaramba(widget)) return NULL; Bar *tmp = new Bar((karamba*)widget, x,y,w,h); if (text && text[0] != '\0') tmp->setImage(text); ((karamba*)widget)->meterList->append(tmp); return (Py_BuildValue((char*)"l", (long)tmp)); }
PyObject* py_read_menu_config_option(PyObject *, PyObject *args) { long widget; char* key; if (!PyArg_ParseTuple(args, (char*)"ls:readMenuConfigOption", &widget, &key)) return NULL; if (!checkKaramba(widget)) return NULL; QString k; k.setAscii(key); return Py_BuildValue((char*)"l", readMenuConfigOption(widget, k)); }
PyObject* py_set_menu_config_option(PyObject *, PyObject *args) { long widget; char* key; int value; if (!PyArg_ParseTuple(args, (char*)"lsi:setMenuConfigOption", &widget, &key, &value)) return NULL; if (!checkKaramba(widget)) return NULL; QString k; k.setAscii(key); return Py_BuildValue((char*)"l", setMenuConfigOption(widget, k, (bool)value)); }
PyObject* py_write_config_entry(PyObject *, PyObject *args) { long widget; char* key; char* value; if (!PyArg_ParseTuple(args, (char*)"lss:writeConfigEntry", &widget, &key, &value)) return NULL; if (!checkKaramba(widget)) return NULL; QString k, v; k.setAscii(key); v.setAscii(value); return Py_BuildValue((char*)"l", writeConfigEntry(widget, k, value)); }
PyObject* py_createRichText(PyObject *, PyObject *args) { long widget, underline = 0; PyObject *text; if (!PyArg_ParseTuple(args, (char*)"lO|l:createRichText", &widget, &text, &underline)) return NULL; if (!checkKaramba(widget)) return NULL; RichTextLabel *tmp = new RichTextLabel((karamba*)widget); tmp->setText(PyString2TQString(text), underline); tmp->setTextProps(((karamba*)widget)->getDefaultTextProps()); ((karamba*)widget)->meterList->append(tmp); ((karamba*)widget)->clickList->append(tmp); return (Py_BuildValue((char*)"l", (long)tmp)); }
PyObject* py_add_menu_config_option(PyObject *, PyObject *args) { long widget; char* key; PyObject* name; if (!PyArg_ParseTuple(args, (char*)"lsO:addMenuConfigOption", &widget, &key, &name)) return NULL; if (!checkKaramba(widget)) return NULL; QString k, n; k.setAscii(key); n = PyString2QString(name); return Py_BuildValue((char*)"l", addMenuConfigOption(widget, k, n)); }