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)