11 #if defined(_XOPEN_SOURCE) && !defined(__SUNPRO_CC)
19 #include "../karamba.h"
20 #include "../karambaapp.h"
36 PyErr_SetString(PyExc_ValueError,
"widget pointer was 0.");
51 bool checkMeter(
long widget,
long meter,
const char* type)
54 PyErr_SetString(PyExc_ValueError,
"meter pointer was 0.");
60 tmp.sprintf(
"widget does not have meter %x.", (
unsigned int)meter);
61 PyErr_SetString(PyExc_ValueError, tmp.toAscii().constData());
64 if (!((
QObject*)meter)->inherits(type)) {
67 tmp.sprintf(
"meter is not type of %s.", type);
68 PyErr_SetString(PyExc_TypeError, tmp.toAscii().constData());
85 result += QChar((quint16) * ucs4);
95 if (PyString_CheckExact(text)) {
96 char* t = PyString_AsString(text);
97 qtext = QString::fromAscii(t);
98 }
else if (PyUnicode_CheckExact(text)) {
99 Py_UNICODE* t = PyUnicode_AsUnicode(text);
100 if (
sizeof(Py_UNICODE) == 4)
103 qtext.setUtf16((quint16*)t,
sizeof(t) / 4);
115 const unsigned short* tmp =
string.utf16();
119 #if Py_UNICODE_SIZE == 4
121 Py_UNICODE* buf =
new Py_UNICODE[
string.length()];
123 for (
int i = 0; i <
string.length(); i++) {
130 Py_UNICODE* buf = (Py_UNICODE*) tmp;
134 pyString = PyUnicode_FromUnicode(buf,
string.length());
141 pyString = PyString_FromString(
"");
153 foreach(meter, list) {
154 if (((
Meter*) meter)->objectName() == name)
155 return (
long)(
Meter*)meter;
165 if (!PyArg_ParseTuple(args, (
char*)
"ls", &widget, &name))
172 if (!
checkMeter(widget, meter, type.toAscii().constData()))
174 return (Py_BuildValue((
char*)
"l", meter));
181 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
185 return Py_BuildValue((
char*)
"(i,i)", ((
Meter*)meter)->getWidth(),
186 ((
Meter*)meter)->getHeight());
191 long widget, meter, x, y;
192 if (!PyArg_ParseTuple(args, (
char*)
"llll", &widget, &meter, &x, &y))
196 ((
Meter*)meter)->setSize(((
Meter*)meter)->getX(), ((
Meter*)meter)->getY(),
198 return Py_BuildValue((
char*)
"l", 1);
204 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
208 return Py_BuildValue((
char*)
"(i,i)", ((
Meter*)meter)->getX(),
209 ((
Meter*)meter)->getY());
214 long widget, meter, x, y;
215 if (!PyArg_ParseTuple(args, (
char*)
"llll", &widget, &meter, &x, &y))
220 ((
Karamba*)widget)->moveMeter((
Meter*)meter, (
int)x, (
int)y);
222 return Py_BuildValue((
char*)
"l", 1);
228 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
232 ((
Meter*)meter)->hide();
233 return Py_BuildValue((
char*)
"l", 1);
239 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
243 ((
Meter*)meter)->show();
244 return Py_BuildValue((
char*)
"l", 1);
250 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
254 return Py_BuildValue((
char*)
"l", ((
Meter*)meter)->getValue());
259 long widget, meter, l;
260 if (!PyArg_ParseTuple(args, (
char*)
"lll", &widget, &meter, &l))
264 ((
Meter*)meter)->setValue(l);
265 return Py_BuildValue((
char*)
"l", ((
long)meter));
271 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
275 return Py_BuildValue((
char*)
"O",
283 if (!PyArg_ParseTuple(args, (
char*)
"llO", &widget, &meter, &s))
290 return Py_BuildValue((
char*)
"l", ((
long)meter));
296 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
300 return Py_BuildValue((
char*)
"(i,i)", ((
Meter*)meter)->getMax(),
301 ((
Meter*)meter)->getMin());
306 long widget, meter, x, y;
307 if (!PyArg_ParseTuple(args, (
char*)
"llll", &widget, &meter, &x, &y))
311 ((
Meter*)meter)->setMin(x);
312 ((
Meter*)meter)->setMax(y);
313 return Py_BuildValue((
char*)
"l", 1);
320 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
324 return Py_BuildValue((
char*)
"s",
325 ((
Karamba*)widget)->getSensor((
Meter*)meter).toAscii().constData());
333 if (!PyArg_ParseTuple(args, (
char*)
"lls", &widget, &meter, &s))
338 return Py_BuildValue((
char*)
"l", 1);
345 if (!PyArg_ParseTuple(args, (
char*)
"lllll", &widget, &meter, &r, &g, &b))
349 ((
Meter*)meter)->setColor(QColor(r, g, b));
350 return Py_BuildValue((
char*)
"l", 1);
356 if (!PyArg_ParseTuple(args, (
char*)
"ll", &widget, &meter))
360 QColor color = ((
Meter*)meter)->getColor();
361 return Py_BuildValue((
char*)
"(i,i,i)", color.red(), color.green(), color.blue());
PyObject * py_getThemeMeter(PyObject *, PyObject *args, QString type)
PyObject * py_getMinMax(PyObject *, PyObject *args, QString type)
PyObject * py_move(PyObject *, PyObject *args, QString type)
QString PyString2QString(PyObject *text)
PyObject * py_hide(PyObject *, PyObject *args, QString type)
PyObject * py_getSensor(PyObject *, PyObject *args, QString type)
PyObject * py_getSize(PyObject *, PyObject *args, QString type)
PyObject * py_getValue(PyObject *, PyObject *args, QString type)
PyObject * QString2PyString(QString string)
PyObject * py_resize(PyObject *, PyObject *args, QString type)
PyObject * py_setValue(PyObject *, PyObject *args, QString type)
PyObject * py_getColor(PyObject *, PyObject *args, QString type)
long getMeter(long widget, char *name)
bool checkKaramba(long widget)
PyObject * py_setMinMax(PyObject *, PyObject *args, QString type)
bool checkKarambaAndMeter(long widget, long meter, const char *type)
PyObject * py_show(PyObject *, PyObject *args, QString type)
PyObject * py_getPos(PyObject *, PyObject *args, QString type)
PyObject * py_setSensor(PyObject *, PyObject *args, QString type)
PyObject * py_setStringValue(PyObject *, PyObject *args, QString type)
QString fromUcs4(quint32 *ucs4)
PyObject * py_getStringValue(PyObject *, PyObject *args, QString type)
bool checkMeter(long widget, long meter, const char *type)
PyObject * py_setColor(PyObject *, PyObject *args, QString type)