From e9bdaa29e39de374d65bfb6555f191050fb6463d Mon Sep 17 00:00:00 2001 From: Noldor Date: Wed, 12 Nov 2008 17:11:05 +0000 Subject: some fixes around. git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2849 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_painter.cpp | 391 ++++++++++++++++--------------- src/modules/objects/class_painter.h | 120 +++++----- src/modules/objects/class_treewidget.cpp | 109 +++++---- src/modules/objects/class_treewidget.h | 7 +- src/modules/objects/class_vbox.cpp | 21 +- src/modules/objects/class_widget.cpp | 138 ++++++----- src/modules/objects/class_widget.h | 1 - src/modules/objects/object_macros.h | 2 +- 8 files changed, 401 insertions(+), 388 deletions(-) (limited to 'src/modules/objects') diff --git a/src/modules/objects/class_painter.cpp b/src/modules/objects/class_painter.cpp index d3323f7a6..9379f8a7b 100644 --- a/src/modules/objects/class_painter.cpp +++ b/src/modules/objects/class_painter.cpp @@ -428,87 +428,91 @@ const char * const brushstyles_tbl[] = { KVSO_BEGIN_REGISTERCLASS(KviKvsObject_painter,"painter","object") // Fonts - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setFont",functionSetFont) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setFontSize",functionSetFontSize) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setFont) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setFontSize) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,fontAscent) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,fontDescent) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,fontMetricsHeight) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,fontMetricsWidth) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setBrush",functionsetBrush) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setPen",functionsetPen) - - - - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setPenStyle",functionsetPenStyle) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setBrushStyle",functionsetBrushStyle) - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"fontAscent",functionfontAscent) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"fontDescent",functionfontDescent) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"fontMetricsHeight",functionfontMetricsHeight) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"fontMetricsWidth",functionfontMetricsWidth) // Draws - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setBackGroundMode",functionsetBackGroundMode) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawRect",functiondrawRect) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawLine",functiondrawLine) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawRoundRect",functiondrawRoundRect) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawWinFocusRect",functiondrawWinFocusRect) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawPoint",functiondrawPoint) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawArc",functiondrawArc) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawEllipse",functiondrawEllipse) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawPie",functiondrawPie) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawChord",functiondrawChord) - - - // Text & Pixmap - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawText",functiondrawText) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawPixmap",functiondrawPixmap) - - - // MAtrix Operation - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"rotate",functionrotateMatrix) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"shear",functionshearMatrix) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"scale",functionscaleMatrix) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"translate",functiontranslateMatrix) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"reset",functionresetMatrix) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawRect) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawLine) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawRoundRect) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawWinFocusRect) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawPoint) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawArc) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawEllipse) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawPie) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawChord) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,fillRect) + + // Text & Pixmap & Icons + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawText) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawPixmap) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawIcon) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawHtmlText) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,htmlTextSize) + + + // Matrix Operation + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,rotate) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,shear) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,scale) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,translate) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,reset) + + + + // ?? + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setOpacity) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setTextAntialiasing) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setAntialiasing) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setSmoothPixmapTransform) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setBackGroundMode) + + + + // QPainterPath stuff + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,drawPath) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,resetPath) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,pathAddText) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,pathMoveTo) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,pathLineTo) + + // Pen + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setPenJoinStyle) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setPenCapStyle) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setPenWidth) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setPenStyle) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setPen) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,colorNames) + + + // Brush + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setBrush) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setBrushStyle) + + + // Gradients + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setGradientStart) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setGradientStop) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setGradientColor) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,setGradientAsBrush) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,clearGradient) // painter state - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"save",functionsave) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"restore",functionrestore) - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"beginPdf",functionBeginPdf)// FIXME: needs doc! -//bool KviKvsObject_painter::functionBeginPdf(KviKvsObjectFunctionCall *c) -//QT4 - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setOpacity",functionsetOpacity) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setTextAntialiasing",functionsetTextAntialiasing) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setAntialiasing",functionsetAntialiasing) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setSmoothPixmapTransform",functionsetSmoothPixmapTransform) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setGradientStart",functionsetGradientStart) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setGradientFinalStop",functionsetGradientStop) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setGradientColor",functionsetGradientColor) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setGradientAsBrush",functionsetGradientAsBrush) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"clearGradient",functionclearGradient) - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setPenWidth",functionsetPenWidth) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawIcon",functiondrawIcon) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawHtmlText",functiondrawHtmlText) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"htmlTextSize",functionhtmlTextSize) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"fillRect",functionfillRect) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"colorNames",functioncolorNames) - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"drawPath",functiondrawPath) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"resetPath",functionresetPath) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"pathAddText",functionpathAddText) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"pathMoveTo",functionpathMoveTo) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"pathLineTo",functionpathLineTo) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setPenJoinStyle",functionsetPenJoinStyle) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"setPenCapStyle",functionsetPenCapStyle) - - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"painterDeviceWidth",functionwidth) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"painterDeviceHeight",functionheight) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,save) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,restore) -// + // painter device + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,painterDeviceWidth) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,painterDeviceHeight) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,begin) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,end) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"begin",functionbegin) - KVSO_REGISTER_HANDLER(KviKvsObject_painter,"end",functionend) + // extra + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_painter,beginPdf)// FIXME: needs doc! KVSO_END_REGISTERCLASS(KviKvsObject_painter) @@ -542,7 +546,7 @@ if(__pXOrArray->isArray())\ {\ if(__pXOrArray->array()->size() < 4)\ {\ - c->error(__tr2qs("The array passed as parameter must contain at least 4 elements"));\ + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 4 elements","objects"));\ return false;\ }\ KviKvsVariant * pX = __pXOrArray->array()->at(0);\ @@ -551,24 +555,24 @@ if(__pXOrArray->isArray())\ KviKvsVariant * pH = __pXOrArray->array()->at(3);\ if(!(pX && pY && pW && pH))\ {\ - c->error(__tr2qs("One of the geometry array parameters is empty"));\ + c->error(__tr2qs_ctx("One of the geometry array parameters is empty","objects"));\ return false;\ }\ if(!(pX->asInteger(iX) && pY->asInteger(__iY) && pW->asInteger(__iW) && pH->asInteger(__iH)))\ {\ - c->error(__tr2qs("One of the geometry array parameters didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("One of the geometry array parameters didn't evaluate to an integer","objects"));\ return false;\ }\ } else {\ if(c->params()->count() < 4)\ {\ - QString error=function+__tr2qs(" requires either an array as first parameter or four integers");\ + QString error=function+__tr2qs_ctx(" requires either an array as first parameter or four integers","objects");\ c->error(error);\ return false;\ }\ if(!__pXOrArray->asInteger(iX))\ {\ - c->error(__tr2qs("The first parameter didn't evaluate to an array nor an integer"));\ + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects"));\ return false;\ }\ }\ @@ -578,31 +582,31 @@ if(__pXOrArray->isArray())\ {\ if(__pXOrArray->array()->size() < 2)\ {\ - c->error(__tr2qs("The array passed as parameter must contain at least 2 elements"));\ + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements","objects"));\ return false;\ }\ KviKvsVariant * pX = __pXOrArray->array()->at(0);\ KviKvsVariant * pY = __pXOrArray->array()->at(1);\ if(!(pX && pY ))\ {\ - c->error(__tr2qs("One of the array parameters is empty"));\ + c->error(__tr2qs_ctx("One of the array parameters is empty","objects"));\ return false;\ }\ if(!(pX->asInteger(iX) && pY->asInteger(__iY)))\ {\ - c->error(__tr2qs("One of the array parameters didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("One of the array parameters didn't evaluate to an integer","objects"));\ return false;\ }\ } else {\ if(c->params()->count() < 2)\ {\ - QString error=function+__tr2qs(" requires either an array as first parameter or two integers");\ + QString error=function+__tr2qs_ctx(" requires either an array as first parameter or two integers","objects");\ c->error(error);\ return false;\ }\ if(!__pXOrArray->asInteger(iX))\ {\ - c->error(__tr2qs("The first parameter didn't evaluate to an array nor an integer"));\ + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects"));\ return false;\ }\ }\ @@ -612,7 +616,7 @@ if(__pCol1OrArray->isArray())\ {\ if(__pCol1OrArray->array()->size() < 3)\ {\ - c->error(__tr2qs("The array passed as parameter must contain at least 3 elements"));\ + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements","objects"));\ return false;\ }\ KviKvsVariant * c1 = __pCol1OrArray->array()->at(0);\ @@ -620,12 +624,12 @@ if(__pCol1OrArray->isArray())\ KviKvsVariant * c3 = __pCol1OrArray->array()->at(2);\ if(!(c1 && c2 && c3))\ {\ - c->error(__tr2qs("One of the array parameters is empty"));\ + c->error(__tr2qs_ctx("One of the array parameters is empty","objects"));\ return false;\ }\ if(!(c1->asInteger(iCol1) && c2->asInteger(__iCol2) && c3->asInteger(__iCol3)))\ {\ - c->error(__tr2qs("One of the array parameters didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("One of the array parameters didn't evaluate to an integer","objects"));\ return false;\ }\ if(__pCol1OrArray->array()->size() > 3)\ @@ -633,26 +637,27 @@ if(__pCol1OrArray->isArray())\ KviKvsVariant * c4 = __pCol1OrArray->array()->at(3);\ if(!(c4->asInteger(__iOpacity)))\ {\ - c->error(__tr2qs("The opacity value didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("The opacity value didn't evaluate to an integer","objects"));\ return false;\ }\ }\ } else {\ if(c->params()->count() < 3)\ {\ - QString error=function+__tr2qs(" requires either an array as first parameter or 3 integers");\ + QString error=function+__tr2qs_ctx(" requires either an array as first parameter or 3 integers","objects");\ c->error(error);\ return false;\ }\ if(!__pCol1OrArray->asInteger(iCol1))\ {\ - c->error(__tr2qs("The first parameter didn't evaluate to an array nor an integer"));\ + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects"));\ return false;\ }\ }\ -bool KviKvsObject_painter::functionSetFont(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setFont) { + CHECK_INTERNAL_POINTER(m_pPainter) QString szFamily,szStyle; kvs_int_t uSize; KVSO_PARAMETERS_BEGIN(c) @@ -660,7 +665,6 @@ bool KviKvsObject_painter::functionSetFont(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("family",KVS_PT_STRING,0,szFamily) KVSO_PARAMETER("style",KVS_PT_STRING,0,szStyle) KVSO_PARAMETERS_END(c) - if(!m_pPainter)return true; QFont font=m_pPainter->font(); font.setFamily(szFamily); font.setPointSize(uSize); @@ -674,34 +678,35 @@ bool KviKvsObject_painter::functionSetFont(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionSetFontSize(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setFontSize) { + CHECK_INTERNAL_POINTER(m_pPainter) kvs_uint_t uSize; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("size",KVS_PT_UNSIGNEDINTEGER,0,uSize) KVSO_PARAMETERS_END(c) - if(!m_pPainter)return true; QFont font=m_pPainter->font(); font.setPointSize(uSize); m_pPainter->setFont(font); return true; } -bool KviKvsObject_painter::functionsetBackGroundMode(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setBackGroundMode) { + CHECK_INTERNAL_POINTER(m_pPainter) QString szMode; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("background mode",KVS_PT_STRING,0,szMode) KVSO_PARAMETERS_END(c) - if(!m_pPainter)return true; if(KviQString::equalCI(szMode,"Transparent")) m_pPainter->setBackgroundMode(Qt::TransparentMode); else if(KviQString::equalCI(szMode,"Opaque")) m_pPainter->setBackgroundMode(Qt::OpaqueMode); - else c->warning( __tr2qs("Unknown orientation")); + else c->warning( __tr2qs_ctx("Unknown '%Q' background mode","objects"),&szMode); return true; } -bool KviKvsObject_painter::functiondrawLine(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawLine) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iX,iY,iX1,iY1; KVSO_PARAMETERS_BEGIN(c) @@ -716,8 +721,9 @@ bool KviKvsObject_painter::functiondrawLine(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functiondrawRect(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawRect) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -728,12 +734,13 @@ bool KviKvsObject_painter::functiondrawRect(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawRect"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - if(m_pPainter) m_pPainter->drawRect(iX,iY,iW,iH); + m_pPainter->drawRect(iX,iY,iW,iH); return true; } //FIXME: REMOVE functiondrawWinFocusRect -bool KviKvsObject_painter::functiondrawWinFocusRect(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawWinFocusRect) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -744,12 +751,12 @@ bool KviKvsObject_painter::functiondrawWinFocusRect(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawWinFocusRect"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - return true; } -bool KviKvsObject_painter::functiondrawEllipse(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawEllipse) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -760,12 +767,13 @@ bool KviKvsObject_painter::functiondrawEllipse(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawEllipse"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - if(m_pPainter) m_pPainter->drawEllipse(iX,iY,iW,iH); + m_pPainter->drawEllipse(iX,iY,iW,iH); return true; } -bool KviKvsObject_painter::functiondrawRoundRect(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawRoundRect) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iXrnd,iYrnd,iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -778,13 +786,13 @@ bool KviKvsObject_painter::functiondrawRoundRect(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawRoundRect"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - if(m_pPainter) - m_pPainter->drawRoundRect(iX,iY,iW,iH,iXrnd,iYrnd); + m_pPainter->drawRoundRect(iX,iY,iW,iH,iXrnd,iYrnd); return true; } -bool KviKvsObject_painter::functiondrawArc(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawArc) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iSangle,iLena,iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -797,13 +805,13 @@ bool KviKvsObject_painter::functiondrawArc(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawArc"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - if(m_pPainter) - m_pPainter->drawArc(iX,iY,iW,iH,iSangle,iLena); + m_pPainter->drawArc(iX,iY,iW,iH,iSangle,iLena); return true; } -bool KviKvsObject_painter::functiondrawChord(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawChord) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iSangle,iLena,iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -816,15 +824,14 @@ bool KviKvsObject_painter::functiondrawChord(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawChord"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - if(m_pPainter) - m_pPainter->drawChord(iX,iY,iW,iH,iSangle,iLena); + m_pPainter->drawChord(iX,iY,iW,iH,iSangle,iLena); return true; } -bool KviKvsObject_painter::functionsetBrush(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setBrush) { + CHECK_INTERNAL_POINTER(m_pPainter) kvs_int_t iCol1,iCol2,iCol3,iOpacity; - KviKvsVariant *var1,*var2,*var3; QString szColorMode,szColor; KVSO_PARAMETERS_BEGIN(c) @@ -834,8 +841,6 @@ bool KviKvsObject_painter::functionsetBrush(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) KVSO_PARAMETERS_END(c) - if(!m_pPainter) return true; - if(var1->isHObject()) { kvs_hobject_t hObj; @@ -843,12 +848,12 @@ bool KviKvsObject_painter::functionsetBrush(KviKvsObjectFunctionCall *c) KviKvsObject *pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObj); if (!pObject) { - c->warning(__tr2qs("Pixmap parameter is not an object!")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object!","objects")); return true; } if(pObject->inheritsClass("pixmap")) m_pPainter->setBrush(*((KviKvsObject_pixmap *)pObject)->getPixmap()); - else c->warning(__tr2qs("Object Pixmap required!")); + else c->warning(__tr2qs_ctx("Object Pixmap required!","objects")); return true; } if (!var1->asInteger(iCol1)) @@ -859,7 +864,7 @@ bool KviKvsObject_painter::functionsetBrush(KviKvsObjectFunctionCall *c) { if (!var2->asInteger(iOpacity)) { - c->warning("The opacity parameter didn't evaluate to integer"); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); return true; } } @@ -871,12 +876,12 @@ bool KviKvsObject_painter::functionsetBrush(KviKvsObjectFunctionCall *c) { if(c->paramCount()<3) { - c->error(__tr2qs("Color name or triplette rgb/hsv value required")); + c->error(__tr2qs_ctx("Color name or triplette rgb/hsv value required","objects")); return true; } if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) { - c->error(__tr2qs("One of the triplette parameters didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("One of the triplette parameters didn't evaluate to an integer","objects"));\ return true; } if (c->paramCount()<5) iOpacity=255; @@ -891,11 +896,10 @@ bool KviKvsObject_painter::functionsetBrush(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetPen(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setPen) { + CHECK_INTERNAL_POINTER(m_pPainter) kvs_int_t iCol1,iCol2,iCol3,iOpacity; - - QString szColorMode,szColor; KviKvsVariant *var1,*var2,*var3; KVSO_PARAMETERS_BEGIN(c) @@ -905,8 +909,6 @@ bool KviKvsObject_painter::functionsetPen(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) KVSO_PARAMETERS_END(c) - if(!m_pPainter) return true; - if (!var1->asInteger(iCol1)) { var1->asString(szColor); @@ -915,7 +917,7 @@ bool KviKvsObject_painter::functionsetPen(KviKvsObjectFunctionCall *c) { if (!var2->asInteger(iOpacity)) { - c->warning("The opacity parameter didn't evaluate to integer"); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); return true; } } @@ -927,12 +929,12 @@ bool KviKvsObject_painter::functionsetPen(KviKvsObjectFunctionCall *c) { if(c->paramCount()<3) { - c->error(__tr2qs("Color name or triplette rgb/hsv value required")); + c->error(__tr2qs_ctx("Color name or triplette rgb/hsv value required","objects")); return true; } if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) { - c->error(__tr2qs("One of the triplette parameters didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("One of the triplette parameters didn't evaluate to an integer","objects"));\ return true; } if (c->paramCount()<5) iOpacity=255; @@ -948,8 +950,9 @@ bool KviKvsObject_painter::functionsetPen(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functiondrawPie(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawPie) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iSangle,iLena,iX,iY,iW,iH; KVSO_PARAMETERS_BEGIN(c) @@ -962,13 +965,13 @@ bool KviKvsObject_painter::functiondrawPie(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawPie"; KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - if(m_pPainter) - m_pPainter->drawPie(iX,iY,iW,iH,iSangle,iLena); + m_pPainter->drawPie(iX,iY,iW,iH,iSangle,iLena); return true; } -bool KviKvsObject_painter::functiondrawPoint(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawPoint) { + CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; kvs_int_t iX,iY; KVSO_PARAMETERS_BEGIN(c) @@ -977,19 +980,18 @@ bool KviKvsObject_painter::functiondrawPoint(KviKvsObjectFunctionCall *c) KVSO_PARAMETERS_END(c) QString function="$drawPoint"; KVSO_2ARRAYPARAMETERS(pXOrArray,iY) - if(m_pPainter) - m_pPainter->drawPoint(iX,iY); + m_pPainter->drawPoint(iX,iY); return true; } -bool KviKvsObject_painter::functionfontDescent(KviKvsObjectFunctionCall * c) +KVSO_CLASS_FUNCTION(painter,fontDescent) { if(m_pPainter) c->returnValue()->setInteger(m_pPainter->fontMetrics().descent()); return true; } -bool KviKvsObject_painter::functionfontAscent(KviKvsObjectFunctionCall * c) +KVSO_CLASS_FUNCTION(painter,fontAscent) { if(m_pPainter) c->returnValue()->setInteger(m_pPainter->fontMetrics().ascent()); @@ -997,7 +999,7 @@ bool KviKvsObject_painter::functionfontAscent(KviKvsObjectFunctionCall * c) } -bool KviKvsObject_painter::functionfontMetricsWidth(KviKvsObjectFunctionCall * c) +KVSO_CLASS_FUNCTION(painter,fontMetricsWidth) { QString szText; KVSO_PARAMETERS_BEGIN(c) @@ -1007,23 +1009,23 @@ bool KviKvsObject_painter::functionfontMetricsWidth(KviKvsObjectFunctionCall * c { if (m_pPainter->isActive()) c->returnValue()->setInteger(m_pPainter->fontMetrics().width(szText)); - else c->warning("$fontMetricsWidth: the painter is not active!"); + else c->warning(__tr2qs_ctx("$fontMetricsWidth: the painter is not active!","objects")); } return true; } -bool KviKvsObject_painter::functionfontMetricsHeight(KviKvsObjectFunctionCall * c) +KVSO_CLASS_FUNCTION(painter,fontMetricsHeight) { if(m_pPainter) { if (m_pPainter->isActive()) c->returnValue()->setInteger(m_pPainter->fontMetrics().height()); - else c->warning("$fontMetricsHeight: the painter is not active!"); + else c->warning(__tr2qs_ctx("$fontMetricsHeight: the painter is not active!","objects")); } return true; } -bool KviKvsObject_painter::functionbegin(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,begin) { KviKvsObject * pObject; kvs_hobject_t hObject; @@ -1034,7 +1036,7 @@ bool KviKvsObject_painter::functionbegin(KviKvsObjectFunctionCall *c) if(!m_pPainter)return true; if (!pObject) { - c->warning(__tr2qs("Pixmap or Widget parameter is not an object")); + c->warning(__tr2qs_ctx("Pixmap or Widget parameter is not an object","objects")); return true; } QPaintDevice * pd; @@ -1042,7 +1044,7 @@ bool KviKvsObject_painter::functionbegin(KviKvsObjectFunctionCall *c) else if (pObject->inheritsClass("widget")) pd=((KviKvsObject_widget *)pObject)->widget(); else{ - c->warning(__tr2qs("Widget or Pixmap required ")); + c->warning(__tr2qs_ctx("Widget or Pixmap required ","objects")); return true; } attachDevice(pObject,pd); @@ -1072,12 +1074,12 @@ void KviKvsObject_painter::detachDevice() m_pDeviceObject = 0; } -bool KviKvsObject_painter::functionend(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,end) { detachDevice(); return true; } -bool KviKvsObject_painter::functionBeginPdf(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,beginPdf) { QString szFileName; KVSO_PARAMETERS_BEGIN(c) @@ -1090,7 +1092,7 @@ bool KviKvsObject_painter::functionBeginPdf(KviKvsObjectFunctionCall *c) m_pPainter->begin(m_pPrinter); return true; } -bool KviKvsObject_painter::functiondrawText(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawText) { QString szText,szMode; kvs_int_t iX,iY; @@ -1106,7 +1108,7 @@ bool KviKvsObject_painter::functiondrawText(KviKvsObjectFunctionCall *c) else if(KviQString::equalCI(szMode,"LTR"))m_pPainter->setLayoutDirection(Qt::LeftToRight); else { - c->warning(__tr2qs("Invalid mode '%Q'"),&szMode); + c->warning(__tr2qs_ctx("Invalid mode '%Q'","objects"),&szMode); return true; } } @@ -1114,7 +1116,7 @@ bool KviKvsObject_painter::functiondrawText(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functiondrawPixmap(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawPixmap) { kvs_real_t iX,iY; kvs_int_t iStartx,iStarty,iEndx,iEndy; @@ -1135,12 +1137,12 @@ bool KviKvsObject_painter::functiondrawPixmap(KviKvsObjectFunctionCall *c) if(!m_pPainter)return true; if (!obj) { - c->warning(__tr2qs("Pixmap parameter is not an object")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object","objects")); return true; } if (!obj->inheritsClass("pixmap")) { - c->warning(__tr2qs("Pixmap object required")); + c->warning(__tr2qs_ctx("Pixmap object required","objects")); return true; } @@ -1148,7 +1150,7 @@ bool KviKvsObject_painter::functiondrawPixmap(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionrotateMatrix(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,rotate) { kvs_real_t dAngle; KVSO_PARAMETERS_BEGIN(c) @@ -1159,7 +1161,7 @@ bool KviKvsObject_painter::functionrotateMatrix(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functiontranslateMatrix(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,translate) { kvs_real_t dXtrasl,dYtrasl; KVSO_PARAMETERS_BEGIN(c) @@ -1177,7 +1179,7 @@ bool KviKvsObject_painter::functiontranslateMatrix(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionshearMatrix(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,shear) { kvs_real_t dShearh,dShearv; KVSO_PARAMETERS_BEGIN(c) @@ -1192,7 +1194,7 @@ bool KviKvsObject_painter::functionshearMatrix(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionscaleMatrix(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,scale) { kvs_real_t dScalex,dScaley; KVSO_PARAMETERS_BEGIN(c) @@ -1208,7 +1210,7 @@ bool KviKvsObject_painter::functionscaleMatrix(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionresetMatrix(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,reset) { if(!m_pPainter)return true; //m_pMatrix.reset(); @@ -1217,7 +1219,7 @@ bool KviKvsObject_painter::functionresetMatrix(KviKvsObjectFunctionCall *) return true; } -bool KviKvsObject_painter::functiondrawHtmlText(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawHtmlText) { QString szText; kvs_int_t iX,iY,iW,iH; @@ -1240,7 +1242,7 @@ bool KviKvsObject_painter::functiondrawHtmlText(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionhtmlTextSize(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,htmlTextSize) { QString szText; KVSO_PARAMETERS_BEGIN(c) @@ -1257,7 +1259,7 @@ bool KviKvsObject_painter::functionhtmlTextSize(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functiondrawIcon(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,drawIcon) { QString szIcon,szState; kvs_int_t iX,iY,iW,iH; @@ -1267,11 +1269,11 @@ bool KviKvsObject_painter::functiondrawIcon(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("y",KVS_PT_INT,0,iY) KVSO_PARAMETER("icon",KVS_PT_STRING,0,szIcon) - + KVSO_PARAMETER("state",KVS_PT_STRING,KVS_PF_OPTIONAL,szState) KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) - KVSO_PARAMETER("state",KVS_PT_STRING,KVS_PF_OPTIONAL,szState) + KVSO_PARAMETERS_END(c) if (!m_pPainter) return true; QPixmap *pix=g_pIconManager->getImage(szIcon); @@ -1286,7 +1288,8 @@ bool KviKvsObject_painter::functiondrawIcon(KviKvsObjectFunctionCall *c) QIcon::Mode mode=QIcon::Normal; if(!ico.isNull()) { - if (KviQString::equalCI(szState,"Disabled"))mode=QIcon::Disabled; + if (KviQString::equalCI(szState,"Disabled")) + mode=QIcon::Disabled; else if (KviQString::equalCI(szState,"Active"))mode=QIcon::Active; else if (KviQString::equalCI(szState,"Selected"))mode=QIcon::Selected; if (c->parameterCount()<5) @@ -1297,7 +1300,7 @@ bool KviKvsObject_painter::functiondrawIcon(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetOpacity(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setOpacity) { if(!m_pPainter)return true; kvs_real_t dOpacity; @@ -1309,7 +1312,7 @@ bool KviKvsObject_painter::functionsetOpacity(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetTextAntialiasing(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setTextAntialiasing) { if(!m_pPainter)return true; @@ -1321,7 +1324,7 @@ bool KviKvsObject_painter::functionsetTextAntialiasing(KviKvsObjectFunctionCall return true; } -bool KviKvsObject_painter::functionsetAntialiasing(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setAntialiasing) { if(!m_pPainter)return true; @@ -1333,7 +1336,7 @@ bool KviKvsObject_painter::functionsetAntialiasing(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetSmoothPixmapTransform(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setSmoothPixmapTransform) { if(!m_pPainter)return true; @@ -1345,7 +1348,7 @@ bool KviKvsObject_painter::functionsetSmoothPixmapTransform(KviKvsObjectFunction return true; } -bool KviKvsObject_painter::functionsetPenJoinStyle(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setPenJoinStyle) { QString szStyle; KVSO_PARAMETERS_BEGIN(c) @@ -1361,7 +1364,7 @@ bool KviKvsObject_painter::functionsetPenJoinStyle(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetPenCapStyle(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setPenCapStyle) { QString szStyle; KVSO_PARAMETERS_BEGIN(c) @@ -1377,21 +1380,21 @@ bool KviKvsObject_painter::functionsetPenCapStyle(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsave(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,save) { if(m_pPainter) m_pPainter->save(); return true; } -bool KviKvsObject_painter::functionrestore(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,restore) { if(m_pPainter) m_pPainter->restore(); return true; } -bool KviKvsObject_painter::functionsetPenStyle(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setPenStyle) { QString szStyle; KVSO_PARAMETERS_BEGIN(c) @@ -1413,11 +1416,11 @@ bool KviKvsObject_painter::functionsetPenStyle(KviKvsObjectFunctionCall *c) pen.setStyle(penstyles_cod[j]); m_pPainter->setPen(pen); } - else c->warning(__tr2qs("Unknown pen style %Q"),&szStyle); + else c->warning(__tr2qs_ctx("Unknown pen style '%Q'","objects"),&szStyle); return true; } -bool KviKvsObject_painter::functionsetBrushStyle(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setBrushStyle) { QString szStyle; KVSO_PARAMETERS_BEGIN(c) @@ -1439,11 +1442,11 @@ bool KviKvsObject_painter::functionsetBrushStyle(KviKvsObjectFunctionCall *c) brush.setStyle(brushstyles_cod[j]); m_pPainter->setBrush(brush); } - else c->warning(__tr2qs("Unknown brush style %Q"),&szStyle); + else c->warning(__tr2qs_ctx("Unknown brush style '%Q'","objects"),&szStyle); return true; } -bool KviKvsObject_painter::functionsetGradientStart(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setGradientStart) { kvs_real_t dX,dY; KVSO_PARAMETERS_BEGIN(c) @@ -1455,7 +1458,7 @@ bool KviKvsObject_painter::functionsetGradientStart(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetGradientStop(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setGradientStop) { kvs_real_t dX,dY; KVSO_PARAMETERS_BEGIN(c) @@ -1467,7 +1470,7 @@ bool KviKvsObject_painter::functionsetGradientStop(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetGradientColor(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setGradientColor) { kvs_real_t dAt; kvs_int_t iCol1,iCol2,iCol3,iOpacity; @@ -1491,7 +1494,7 @@ bool KviKvsObject_painter::functionsetGradientColor(KviKvsObjectFunctionCall *c) { if (!var2->asInteger(iOpacity)) { - c->warning("The opacity parameter didn't evaluate to integer"); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); return true; } } @@ -1504,12 +1507,12 @@ bool KviKvsObject_painter::functionsetGradientColor(KviKvsObjectFunctionCall *c) { if(c->paramCount()<4) { - c->error(__tr2qs("Color name or triplette RGB/HSV values required")); + c->error(__tr2qs_ctx("Color name or triplette RGB/HSV values required","objects")); return true; } if ( !var2->asInteger(iCol2)||!var3->asInteger(iCol3)) { - c->error(__tr2qs("One of the triplette parameters didn't evaluate to an integer"));\ + c->error(__tr2qs_ctx("One of the triplette parameters didn't evaluate to an integer","objects"));\ return true; } if (c->paramCount()<5) iOpacity=255; @@ -1526,7 +1529,7 @@ bool KviKvsObject_painter::functionsetGradientColor(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionsetGradientAsBrush(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,setGradientAsBrush) { if (!m_pPainter) return true; if (!m_pGradient) m_pGradient=new(QLinearGradient); @@ -1534,14 +1537,14 @@ bool KviKvsObject_painter::functionsetGradientAsBrush(KviKvsObjectFunctionCall * return true; } -bool KviKvsObject_painter::functionclearGradient(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,clearGradient) { if (!m_pGradient) delete m_pGradient; m_pGradient=0; return true; } -bool KviKvsObject_painter::functionsetPenWidth(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,setPenWidth) { kvs_real_t iWidth; KVSO_PARAMETERS_BEGIN(c) @@ -1554,7 +1557,7 @@ bool KviKvsObject_painter::functionsetPenWidth(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionfillRect(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,fillRect) { kvs_int_t iX,iY,iW,iH; kvs_int_t iCol1,iCol2,iCol3,iOpacity; @@ -1583,7 +1586,7 @@ bool KviKvsObject_painter::functionfillRect(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functioncolorNames(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,colorNames) { QStringList color=QColor::colorNames(); KviKvsArray * a = new KviKvsArray(); @@ -1595,19 +1598,19 @@ bool KviKvsObject_painter::functioncolorNames(KviKvsObjectFunctionCall *c) c->returnValue()->setArray(a); return true; } -bool KviKvsObject_painter::functionwidth(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,painterDeviceWidth) { kvs_int_t width=m_pPainter->device()->width(); c->returnValue()->setInteger(width); return true; } -bool KviKvsObject_painter::functionheight(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,painterDeviceHeight) { kvs_int_t height=m_pPainter->device()->height(); c->returnValue()->setInteger(height); return true; } -bool KviKvsObject_painter::functionpathMoveTo(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,pathMoveTo) { kvs_real_t dX,dY; @@ -1620,7 +1623,7 @@ bool KviKvsObject_painter::functionpathMoveTo(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionpathLineTo(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,pathLineTo) { kvs_real_t dX,dY; @@ -1633,7 +1636,7 @@ bool KviKvsObject_painter::functionpathLineTo(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functionpathAddText(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(painter,pathAddText) { kvs_real_t dX,dY; QString szText; @@ -1648,7 +1651,7 @@ bool KviKvsObject_painter::functionpathAddText(KviKvsObjectFunctionCall *c) return true; } -bool KviKvsObject_painter::functiondrawPath(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,drawPath) { if (m_pPainter) m_pPainter->drawPath(*m_pPainterPath); //delete m_pPainterPath; @@ -1656,7 +1659,7 @@ bool KviKvsObject_painter::functiondrawPath(KviKvsObjectFunctionCall *) return true; } -bool KviKvsObject_painter::functionresetPath(KviKvsObjectFunctionCall *) +KVSO_CLASS_FUNCTION(painter,resetPath) { if (m_pPainterPath){ delete m_pPainterPath; diff --git a/src/modules/objects/class_painter.h b/src/modules/objects/class_painter.h index 8436e0b5f..5b17ad750 100644 --- a/src/modules/objects/class_painter.h +++ b/src/modules/objects/class_painter.h @@ -46,74 +46,74 @@ protected: QLinearGradient *m_pGradient; QPainterPath *m_pPainterPath; public: - bool functionSetFont(KviKvsObjectFunctionCall *c); - bool functionSetFontSize(KviKvsObjectFunctionCall *c); + bool setFont(KviKvsObjectFunctionCall *c); + bool setFontSize(KviKvsObjectFunctionCall *c); - bool functionfontAscent(KviKvsObjectFunctionCall *c); - bool functionfontDescent(KviKvsObjectFunctionCall *c); - bool functionfontMetricsWidth(KviKvsObjectFunctionCall *c); - bool functionfontMetricsHeight(KviKvsObjectFunctionCall *c); - bool functionsetBrush(KviKvsObjectFunctionCall *c); - bool functionsetPen(KviKvsObjectFunctionCall *c); - bool functionsetBackGroundMode(KviKvsObjectFunctionCall *c); - - bool functiondrawRect(KviKvsObjectFunctionCall *c); - bool functiondrawWinFocusRect(KviKvsObjectFunctionCall *c); - bool functiondrawLine(KviKvsObjectFunctionCall *c); - bool functiondrawRoundRect(KviKvsObjectFunctionCall *c); - bool functiondrawPoint(KviKvsObjectFunctionCall *c); - bool functiondrawArc(KviKvsObjectFunctionCall *c); - bool functiondrawChord(KviKvsObjectFunctionCall *c); - bool functiondrawPie(KviKvsObjectFunctionCall *c); - bool functiondrawEllipse(KviKvsObjectFunctionCall *c); - - bool functiondrawText(KviKvsObjectFunctionCall *c); - bool functiondrawPixmap(KviKvsObjectFunctionCall *c); + bool fontAscent(KviKvsObjectFunctionCall *c); + bool fontDescent(KviKvsObjectFunctionCall *c); + bool fontMetricsWidth(KviKvsObjectFunctionCall *c); + bool fontMetricsHeight(KviKvsObjectFunctionCall *c); + bool setBrush(KviKvsObjectFunctionCall *c); + bool setPen(KviKvsObjectFunctionCall *c); + bool setBackGroundMode(KviKvsObjectFunctionCall *c); + + bool drawRect(KviKvsObjectFunctionCall *c); + bool drawWinFocusRect(KviKvsObjectFunctionCall *c); + bool drawLine(KviKvsObjectFunctionCall *c); + bool drawRoundRect(KviKvsObjectFunctionCall *c); + bool drawPoint(KviKvsObjectFunctionCall *c); + bool drawArc(KviKvsObjectFunctionCall *c); + bool drawChord(KviKvsObjectFunctionCall *c); + bool drawPie(KviKvsObjectFunctionCall *c); + bool drawEllipse(KviKvsObjectFunctionCall *c); + + bool drawText(KviKvsObjectFunctionCall *c); + bool drawPixmap(KviKvsObjectFunctionCall *c); - bool functionbegin(KviKvsObjectFunctionCall *c); - bool functionend(KviKvsObjectFunctionCall *c); - bool functionsave(KviKvsObjectFunctionCall *c); - bool functionrestore(KviKvsObjectFunctionCall *c); + bool begin(KviKvsObjectFunctionCall *c); + bool end(KviKvsObjectFunctionCall *c); + bool save(KviKvsObjectFunctionCall *c); + bool restore(KviKvsObjectFunctionCall *c); - bool functionscaleMatrix(KviKvsObjectFunctionCall *c); - bool functionshearMatrix(KviKvsObjectFunctionCall *c); - bool functionrotateMatrix(KviKvsObjectFunctionCall *c); - bool functionresetMatrix(KviKvsObjectFunctionCall *c); - bool functiontranslateMatrix(KviKvsObjectFunctionCall *c); - bool functionsetPenStyle(KviKvsObjectFunctionCall *c); - bool functionsetBrushStyle(KviKvsObjectFunctionCall *c); + bool scale(KviKvsObjectFunctionCall *c); + bool shear(KviKvsObjectFunctionCall *c); + bool rotate(KviKvsObjectFunctionCall *c); + bool reset(KviKvsObjectFunctionCall *c); + bool translate(KviKvsObjectFunctionCall *c); + bool setPenStyle(KviKvsObjectFunctionCall *c); + bool setBrushStyle(KviKvsObjectFunctionCall *c); // QT4 - bool functionsetOpacity(KviKvsObjectFunctionCall *c); - bool functionsetSmoothPixmapTransform(KviKvsObjectFunctionCall *c); - bool functionsetTextAntialiasing(KviKvsObjectFunctionCall *c); - bool functionsetAntialiasing(KviKvsObjectFunctionCall *c); - bool functionsetGradientStart(KviKvsObjectFunctionCall *c); - bool functionsetGradientStop(KviKvsObjectFunctionCall *c); - bool functionsetGradientColor(KviKvsObjectFunctionCall *c); - bool functionsetGradientAsBrush(KviKvsObjectFunctionCall *c); - bool functionclearGradient(KviKvsObjectFunctionCall *c); - - bool functiondrawIcon(KviKvsObjectFunctionCall *c); - bool functiondrawHtmlText(KviKvsObjectFunctionCall *c); - bool functionhtmlTextSize(KviKvsObjectFunctionCall *c); - bool functionfillRect(KviKvsObjectFunctionCall *c); - bool functionsetPenWidth(KviKvsObjectFunctionCall *c); - bool functioncolorNames(KviKvsObjectFunctionCall *c); - bool functionpathMoveTo(KviKvsObjectFunctionCall *c); - bool functionpathLineTo(KviKvsObjectFunctionCall *c); - bool functiondrawPath(KviKvsObjectFunctionCall *c); - bool functionsetPenJoinStyle(KviKvsObjectFunctionCall *c); - bool functionsetPenCapStyle(KviKvsObjectFunctionCall *c); - bool functionpathAddText(KviKvsObjectFunctionCall *c); - bool functionresetPath(KviKvsObjectFunctionCall *c); - - bool functionBeginPdf(KviKvsObjectFunctionCall *c); + bool setOpacity(KviKvsObjectFunctionCall *c); + bool setSmoothPixmapTransform(KviKvsObjectFunctionCall *c); + bool setTextAntialiasing(KviKvsObjectFunctionCall *c); + bool setAntialiasing(KviKvsObjectFunctionCall *c); + bool setGradientStart(KviKvsObjectFunctionCall *c); + bool setGradientStop(KviKvsObjectFunctionCall *c); + bool setGradientColor(KviKvsObjectFunctionCall *c); + bool setGradientAsBrush(KviKvsObjectFunctionCall *c); + bool clearGradient(KviKvsObjectFunctionCall *c); + + bool drawIcon(KviKvsObjectFunctionCall *c); + bool drawHtmlText(KviKvsObjectFunctionCall *c); + bool htmlTextSize(KviKvsObjectFunctionCall *c); + bool fillRect(KviKvsObjectFunctionCall *c); + bool setPenWidth(KviKvsObjectFunctionCall *c); + bool colorNames(KviKvsObjectFunctionCall *c); + bool pathMoveTo(KviKvsObjectFunctionCall *c); + bool pathLineTo(KviKvsObjectFunctionCall *c); + bool drawPath(KviKvsObjectFunctionCall *c); + bool setPenJoinStyle(KviKvsObjectFunctionCall *c); + bool setPenCapStyle(KviKvsObjectFunctionCall *c); + bool pathAddText(KviKvsObjectFunctionCall *c); + bool resetPath(KviKvsObjectFunctionCall *c); + + bool beginPdf(KviKvsObjectFunctionCall *c); - bool functionwidth(KviKvsObjectFunctionCall *c); - bool functionheight(KviKvsObjectFunctionCall *c); + bool painterDeviceWidth(KviKvsObjectFunctionCall *c); + bool painterDeviceHeight(KviKvsObjectFunctionCall *c); protected: diff --git a/src/modules/objects/class_treewidget.cpp b/src/modules/objects/class_treewidget.cpp index 5935e7709..a741052ea 100644 --- a/src/modules/objects/class_treewidget.cpp +++ b/src/modules/objects/class_treewidget.cpp @@ -29,7 +29,8 @@ #include "kvi_debug.h" #include "kvi_locale.h" #include "kvi_iconmanager.h" -#include "kvi_tal_treewidget.h" +#include + // FIXME: fix the doc (function QT4 renamed) // OLD: @@ -75,10 +76,11 @@ !fn: $addColumn( ) Adds a width pixels wide column with the column header label to the list view. - !fn: $setSorting(,) - Sets the list view to be sorted by column column in ascending order if ascending is 1 or descending order if it is FALSE. - If column is -1, sorting is disabled and the user cannot sort columns by clicking on the column headers - + !fn: $setSorting(,) + Sets the list view to be sorted by column in ascending order if sort_order is "ascending" or descending order if it is "descending". + !fn: $setSortingEnabled() + If is true, user sorting is enabled for the tree. The default value is false. + In order to avoid performance issues, it is recommended that sorting is enabled after inserting the items into the tree. !fn: $hideListViewHeader() Hide the treewidget column header. @@ -188,6 +190,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_treewidget,"listview","widget") KVSO_REGISTER_HANDLER_NEW(KviKvsObject_treewidget,setColumnCount) KVSO_REGISTER_HANDLER_NEW(KviKvsObject_treewidget,setSorting) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_treewidget,setSortingEnabled) KVSO_REGISTER_HANDLER_NEW(KviKvsObject_treewidget,setRootIsDecorated) KVSO_REGISTER_HANDLER_NEW(KviKvsObject_treewidget,setAllColumnsShowFocus) KVSO_REGISTER_HANDLER_NEW(KviKvsObject_treewidget,clear) @@ -243,7 +246,7 @@ bool KviKvsObject_treewidget::init(KviKvsRunTimeContext *,KviKvsVariantList *) setObject(new KviKvsTreeWidget(parentScriptWidget(),getName().toUtf8().data(),this),true); // hack for compatibility with "old" addColumn method; - ((KviTalTreeWidget*) widget())->setColumnCount(0); + ((QTreeWidget*) widget())->setColumnCount(0); connect(widget(),SIGNAL(itemClicked(QTreeWidgetItem *,int)),this,SLOT(slotClicked(QTreeWidgetItem *,int))); connect(widget(),SIGNAL(itemSelectionChanged()),this,SLOT(slotSelectionChanged())); @@ -268,7 +271,7 @@ KVSO_CLASS_FUNCTION(treewidget,setHeaderLabels) KVSO_PARAMETER("labels",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,columns) KVSO_PARAMETERS_END(c) if (widget()){ - ((KviTalTreeWidget *)object())->setHeaderLabels(columns); + ((QTreeWidget *)object())->setHeaderLabels(columns); } return true; } @@ -282,7 +285,7 @@ KVSO_CLASS_FUNCTION(treewidget,setColumnText) KVSO_PARAMETER("column",KVS_PT_INT,0,iCol) KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) KVSO_PARAMETERS_END(c) - QTreeWidgetItem *header=((KviTalTreeWidget *)widget())->headerItem(); + QTreeWidgetItem *header=((QTreeWidget *)widget())->headerItem(); header->setText(iCol,szLabel); return true; } @@ -296,12 +299,12 @@ KVSO_CLASS_FUNCTION(treewidget,addColumn) KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) KVSO_PARAMETER("width",KVS_PT_INT,0,iW) KVSO_PARAMETERS_END(c) - int col=((KviTalTreeWidget *)widget())->columnCount(); - QTreeWidgetItem *header=((KviTalTreeWidget *)widget())->headerItem(); + int col=((QTreeWidget *)widget())->columnCount(); + QTreeWidgetItem *header=((QTreeWidget *)widget())->headerItem(); header->setText(col,szLabel); - ((KviTalTreeWidget *)widget())->setColumnWidth(col,iW); + ((QTreeWidget *)widget())->setColumnWidth(col,iW); col++; - ((KviTalTreeWidget *)widget())->setColumnCount(col); + ((QTreeWidget *)widget())->setColumnCount(col); //col++; return true; } @@ -313,14 +316,14 @@ KVSO_CLASS_FUNCTION(treewidget,setAcceptDrops) KVSO_PARAMETER("bEnable",KVS_PT_BOOLEAN,0,bEnable) KVSO_PARAMETERS_END(c) if (widget()) - ((KviTalTreeWidget *)object())->setAcceptDrops(bEnable); + ((QTreeWidget *)object())->setAcceptDrops(bEnable); return true; } */ KVSO_CLASS_FUNCTION(treewidget,clear) { if (widget()) - ((KviTalTreeWidget *)object())->clear(); + ((QTreeWidget *)object())->clear(); return true; } @@ -328,11 +331,11 @@ KVSO_CLASS_FUNCTION(treewidget,selectedItems) { if(widget()) { - QList list=((KviTalTreeWidget *)widget())->selectedItems(); + QList list=((QTreeWidget *)widget())->selectedItems(); KviKvsArray * pArray = new KviKvsArray(); c->returnValue()->setArray(pArray); for (int i=0;iset(i,new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle((KviTalTreeWidgetItem*)list.at(i)))); + pArray->set(i,new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle((QTreeWidgetItem*)list.at(i)))); } else c->returnValue()->setHObject((kvs_hobject_t)0); @@ -342,7 +345,7 @@ KVSO_CLASS_FUNCTION(treewidget,selectedItems) KVSO_CLASS_FUNCTION(treewidget,firstChild) { if(widget()) - c->returnValue()->setHObject(KviKvsObject_treewidgetitem::itemToHandle((KviTalTreeWidgetItem*)((KviTalTreeWidget *)widget())->topLevelItem(0))); + c->returnValue()->setHObject(KviKvsObject_treewidgetitem::itemToHandle((QTreeWidgetItem*)((QTreeWidget *)widget())->topLevelItem(0))); else c->returnValue()->setHObject((kvs_hobject_t)0); return true; @@ -351,7 +354,7 @@ KVSO_CLASS_FUNCTION(treewidget,firstChild) KVSO_CLASS_FUNCTION(treewidget,currentItem) { if(widget()) - c->returnValue()->setHObject(KviKvsObject_treewidgetitem::itemToHandle((KviTalTreeWidgetItem*)((KviTalTreeWidget *)widget())->currentItem())); + c->returnValue()->setHObject(KviKvsObject_treewidgetitem::itemToHandle((QTreeWidgetItem*)((QTreeWidget *)widget())->currentItem())); else c->returnValue()->setHObject((kvs_hobject_t)0); return true; @@ -365,7 +368,7 @@ KVSO_CLASS_FUNCTION(treewidget,setColumnText) KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) KVSO_PARAMETERS_END(c) - if (widget())((KviTalTreeWidget *)widget())->setColumnText(uCol,szText); + if (widget())((QTreeWidget *)widget())->setColumnText(uCol,szText); return true; } */ @@ -375,7 +378,7 @@ KVSO_CLASS_FUNCTION(treewidget,setColumnCount) KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) KVSO_PARAMETERS_END(c) - if (widget())((KviTalTreeWidget *)widget())->setColumnCount(uCol); + if (widget())((QTreeWidget *)widget())->setColumnCount(uCol); return true; } @@ -387,13 +390,13 @@ KVSO_CLASS_FUNCTION(treewidget,setSelectionMode) KVSO_PARAMETERS_END(c) if(!widget())return true; if(KviQString::equalCI(szMode,"NoSelection")) - ((KviTalTreeWidget *)widget())->setSelectionMode(QAbstractItemView::NoSelection); + ((QTreeWidget *)widget())->setSelectionMode(QAbstractItemView::NoSelection); else if(KviQString::equalCI(szMode,"Multi")) - ((KviTalTreeWidget *)widget())->setSelectionMode(KviTalTreeWidget::MultiSelection); + ((QTreeWidget *)widget())->setSelectionMode(QTreeWidget::MultiSelection); else if(KviQString::equalCI(szMode,"Extended")) - ((KviTalTreeWidget *)widget())->setSelectionMode(KviTalTreeWidget::ExtendedSelection); + ((QTreeWidget *)widget())->setSelectionMode(QTreeWidget::ExtendedSelection); else if(KviQString::equalCI(szMode,"Single")) - ((KviTalTreeWidget *)widget())->setSelectionMode(KviTalTreeWidget::SingleSelection); + ((QTreeWidget *)widget())->setSelectionMode(QTreeWidget::SingleSelection); else c->warning(__tr2qs("Invalid selection mode '%Q'"),&szMode); return true; } @@ -401,17 +404,25 @@ KVSO_CLASS_FUNCTION(treewidget,setSelectionMode) KVSO_CLASS_FUNCTION(treewidget,setSorting) { kvs_int_t iCol; - bool bEnables; + QString szOrder; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("column",KVS_PT_INT,0,iCol) - KVSO_PARAMETER("sorting",KVS_PT_BOOLEAN,0,bEnables) + KVSO_PARAMETER("sort_order",KVS_PT_STRING,0,szOrder) KVSO_PARAMETERS_END(c) if (!widget())return true; - if (iCol<0) - ((KviTalTreeWidget *)widget())->setSortingEnabled(false); - else - if(!bEnables) ((KviTalTreeWidget *)widget())->sortItems(iCol,Qt::DescendingOrder); - else ((KviTalTreeWidget *)widget())->sortItems(iCol,Qt::AscendingOrder); + if (KviQString::equalCI(szOrder,"ascending")) ((QTreeWidget *)widget())->sortItems(iCol,Qt::AscendingOrder); + else if (KviQString::equalCI(szOrder,"descending")) ((QTreeWidget *)widget())->sortItems(iCol,Qt::DescendingOrder); + else c->warning(__tr2qs_ctx("Unknown 'Q' sort order: switching to ascending order","objects"),&szOrder); + return true; +} +KVSO_CLASS_FUNCTION(treewidget,setSortingEnabled) +{ + bool bEnables; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("bEnables",KVS_PT_BOOLEAN,0,bEnables) + KVSO_PARAMETERS_END(c) + if (!widget())return true; + ((QTreeWidget *)widget())->setSortingEnabled(bEnables); return true; } @@ -421,7 +432,7 @@ KVSO_CLASS_FUNCTION(treewidget,setRootIsDecorated) KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if (widget()) ((KviTalTreeWidget *)widget())->setRootIsDecorated(bEnabled); + if (widget()) ((QTreeWidget *)widget())->setRootIsDecorated(bEnabled); return true; } @@ -431,25 +442,25 @@ KVSO_CLASS_FUNCTION(treewidget,setAllColumnsShowFocus) KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bAllColumnsShowFocus",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if (widget())((KviTalTreeWidget *)widget())->setAllColumnsShowFocus(bEnabled); + if (widget())((QTreeWidget *)widget())->setAllColumnsShowFocus(bEnabled); return true; } KVSO_CLASS_FUNCTION(treewidget,hideListViewHeader) { - ((KviTalTreeWidget *)widget())->header()->hide(); + ((QTreeWidget *)widget())->header()->hide(); return true; } KVSO_CLASS_FUNCTION(treewidget,showListViewHeader) { - ((KviTalTreeWidget *)widget())->header()->show(); + ((QTreeWidget *)widget())->header()->show(); return true; } KVSO_CLASS_FUNCTION(treewidget,listViewHeaderIsVisible) { - c->returnValue()->setBoolean(((KviTalTreeWidget *)widget())->header()->isVisible()); + c->returnValue()->setBoolean(((QTreeWidget *)widget())->header()->isVisible()); return true; } @@ -459,7 +470,7 @@ KVSO_CLASS_FUNCTION(treewidget,itemClickedEvent) return true; } -void KviKvsObject_treewidget::slotClicked(KviTalTreeWidgetItem * i,int col) +void KviKvsObject_treewidget::slotClicked(QTreeWidgetItem * i,int col) { KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); @@ -475,9 +486,9 @@ KVSO_CLASS_FUNCTION(treewidget,selectionChangedEvent) void KviKvsObject_treewidget::slotSelectionChanged() { - if (((KviTalTreeWidget *)widget())->selectionMode()==KviTalTreeWidget::SingleSelection) + if (((QTreeWidget *)widget())->selectionMode()==QTreeWidget::SingleSelection) { - KviTalTreeWidgetItem *it=(KviTalTreeWidgetItem *) ((KviTalTreeWidget *)widget())->currentItem(); + QTreeWidgetItem *it=(QTreeWidgetItem *) ((QTreeWidget *)widget())->currentItem(); KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(it))); callFunction(this,"selectionChangedEvent",0,¶ms); } @@ -493,7 +504,7 @@ KVSO_CLASS_FUNCTION(treewidget,currentChangedEvent) return true; } -void KviKvsObject_treewidget::slotCurrentChanged(KviTalTreeWidgetItem * i,KviTalTreeWidgetItem *prev) +void KviKvsObject_treewidget::slotCurrentChanged(QTreeWidgetItem * i,QTreeWidgetItem *prev) { KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(i)),new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(prev))); callFunction(this,"currentChangedEvent",0,¶ms); @@ -509,7 +520,7 @@ KVSO_CLASS_FUNCTION(treewidget,itemActivatedEvent) return true; } -void KviKvsObject_treewidget::slotItemActivated(KviTalTreeWidgetItem * i,int col) +void KviKvsObject_treewidget::slotItemActivated(QTreeWidgetItem * i,int col) { KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(i)),column); @@ -523,7 +534,7 @@ KVSO_CLASS_FUNCTION(treewidget,onItemEvent) return true; } -void KviKvsObject_treewidget::slotOnItemEntered(KviTalTreeWidgetItem * i,int col) +void KviKvsObject_treewidget::slotOnItemEntered(QTreeWidgetItem * i,int col) { KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); @@ -537,7 +548,7 @@ KVSO_CLASS_FUNCTION(treewidget,itemExpandedEvent) return true; } -void KviKvsObject_treewidget::slotItemExpanded(KviTalTreeWidgetItem * i) +void KviKvsObject_treewidget::slotItemExpanded(QTreeWidgetItem * i) { KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(i))); callFunction(this,"itemExpandedEvent",0,¶ms); @@ -549,7 +560,7 @@ KVSO_CLASS_FUNCTION(treewidget,itemCollapsedEvent) return true; } -void KviKvsObject_treewidget::slotItemCollapsed(KviTalTreeWidgetItem * i) +void KviKvsObject_treewidget::slotItemCollapsed(QTreeWidgetItem * i) { KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(i))); callFunction(this,"itemCollapsedEvent",0,¶ms); @@ -566,7 +577,7 @@ void KviKvsObject_treewidget::slotCustomContextMenuRequested(const QPoint &pnt) { KviKvsVariant *xpos=new KviKvsVariant((kvs_int_t)pnt.x()); KviKvsVariant *ypos=new KviKvsVariant((kvs_int_t)pnt.y()); - KviTalTreeWidgetItem *it=(KviTalTreeWidgetItem *) ((KviTalTreeWidget *)widget())->itemAt(pnt); + QTreeWidgetItem *it=(QTreeWidgetItem *) ((QTreeWidget *)widget())->itemAt(pnt); KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(it)),xpos,ypos); callFunction(this,"customContextMenuRequestedEvent",0,¶ms); } @@ -580,14 +591,14 @@ KVSO_CLASS_FUNCTION(treewidget,itemChangedEvent) return true; } -void KviKvsObject_treewidget::slotItemChanged(KviTalTreeWidgetItem *item,int col) +void KviKvsObject_treewidget::slotItemChanged(QTreeWidgetItem *item,int col) { KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(item)),column); callFunction(this,"itemChangedEvent",0,¶ms); } -void KviKvsObject_treewidget::fileDropped(QString &szFile,KviTalTreeWidgetItem *item) +void KviKvsObject_treewidget::fileDropped(QString &szFile,QTreeWidgetItem *item) { KviKvsVariant *file=new KviKvsVariant(szFile); KviKvsVariantList params(new KviKvsVariant(KviKvsObject_treewidgetitem::itemToHandle(item)),file); @@ -595,7 +606,7 @@ void KviKvsObject_treewidget::fileDropped(QString &szFile,KviTalTreeWidgetItem * } KviKvsTreeWidget::KviKvsTreeWidget(QWidget * par,const char *,KviKvsObject_treewidget *parent) -:KviTalTreeWidget(par) +:QTreeWidget(par) { m_pParentScript=parent; setAcceptDrops(true); @@ -639,7 +650,7 @@ void KviKvsTreeWidget::dropEvent(QDropEvent * e) #if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW) if(path[0] != '/')path.prepend("/"); //HACK HACK HACK for Qt bug (?!?) #endif - // KviTalTreeWidgetItem *i = itemAt( contentsToViewport(e->pos()) ); + // QTreeWidgetItem *i = itemAt( contentsToViewport(e->pos()) ); // m_pParentScript->fileDropped(path,i); } } diff --git a/src/modules/objects/class_treewidget.h b/src/modules/objects/class_treewidget.h index e53df62b9..1ad02d13a 100644 --- a/src/modules/objects/class_treewidget.h +++ b/src/modules/objects/class_treewidget.h @@ -29,7 +29,7 @@ #include "class_treewidgetitem.h" #include "object_macros.h" -#include "kvi_tal_treewidget.h" +#include class KviKvsObject_treewidget : public KviKvsObject_widget { @@ -39,7 +39,7 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; - void fileDropped(QString &,KviTalTreeWidgetItem *); + void fileDropped(QString &,QTreeWidgetItem *); protected: virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); @@ -47,6 +47,7 @@ protected: bool setColumnText(KviKvsObjectFunctionCall *c); bool takeItem(KviKvsObjectFunctionCall *c); bool setSorting(KviKvsObjectFunctionCall *c); + bool setSortingEnabled(KviKvsObjectFunctionCall *c); bool setRootIsDecorated(KviKvsObjectFunctionCall *c); bool clear(KviKvsObjectFunctionCall *c); bool setAllColumnsShowFocus(KviKvsObjectFunctionCall *c); @@ -70,7 +71,7 @@ protected: bool setHeaderLabels(KviKvsObjectFunctionCall *c); bool setColumnCount(KviKvsObjectFunctionCall *c); protected slots: - void slotClicked(KviTalTreeWidgetItem *,int); + void slotClicked(QTreeWidgetItem *,int); void slotCustomContextMenuRequested(const QPoint &pnt); void slotSelectionChanged(); void slotCurrentChanged(QTreeWidgetItem *,QTreeWidgetItem *); diff --git a/src/modules/objects/class_vbox.cpp b/src/modules/objects/class_vbox.cpp index 50db8a8ad..f61431d72 100644 --- a/src/modules/objects/class_vbox.cpp +++ b/src/modules/objects/class_vbox.cpp @@ -112,26 +112,29 @@ bool KviKvsObject_vbox::init(KviKvsRunTimeContext * pContext,KviKvsVariantList * KVSO_CLASS_FUNCTION(vbox,setMargin) { + CHECK_INTERNAL_POINTER(widget()) kvs_int_t iMargin; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("margin",KVS_PT_INT,0,iMargin) KVSO_PARAMETERS_END(c) - if (widget()) ((KviTalVBox *)widget())->setMargin(iMargin); + ((KviTalVBox *)widget())->setMargin(iMargin); return true; } KVSO_CLASS_FUNCTION(vbox,setSpacing) { + CHECK_INTERNAL_POINTER(widget()) kvs_int_t iSpacing; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("spacing",KVS_PT_INT,0,iSpacing) KVSO_PARAMETERS_END(c) - if (widget()) ((KviTalVBox *)widget())->setSpacing(iSpacing); + ((KviTalVBox *)widget())->setSpacing(iSpacing); return true; } KVSO_CLASS_FUNCTION(vbox,setStretchFactor) { + CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; kvs_uint_t uStretch; @@ -140,11 +143,11 @@ KVSO_CLASS_FUNCTION(vbox,setStretchFactor) KVSO_PARAMETER("stretch",KVS_PT_UNSIGNEDINTEGER,0,uStretch) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if(!widget())return true; + return true; CHECK_HOBJECT_IS_WIDGET(pObject) if(((KviKvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { - c->warning(__tr2qs("The widget must be a child of this vbox")); + c->warning(__tr2qs_ctx("The widget must be a child of this vbox","objects")); return true; } ((KviTalVBox *)widget())->setStretchFactor(((QWidget *)(pObject->object())),uStretch); @@ -152,16 +155,17 @@ KVSO_CLASS_FUNCTION(vbox,setStretchFactor) } KVSO_CLASS_FUNCTION(vbox,addStretch) { + CHECK_INTERNAL_POINTER(widget()) kvs_int_t iStretch; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("stretch",KVS_PT_INT,0,iStretch) KVSO_PARAMETERS_END(c) - - if (widget())((KviTalVBox *)widget())->addStretch(iStretch); + ((KviTalVBox *)widget())->addStretch(iStretch); return true; } KVSO_CLASS_FUNCTION(vbox,setAlignment) { + CHECK_INTERNAL_POINTER(widget()) QStringList alignment; KviKvsObject * pObject; kvs_hobject_t hObject; @@ -170,11 +174,10 @@ KVSO_CLASS_FUNCTION(vbox,setAlignment) KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) KVSO_PARAMETERS_END(c) pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if(!widget())return true; CHECK_HOBJECT_IS_WIDGET(pObject) if(((KviKvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { - c->warning(__tr2qs("The widget must be a child of this hbox")); + c->warning(__tr2qs_ctx("The widget must be a child of this hbox","objects")); return true; } @@ -194,7 +197,7 @@ KVSO_CLASS_FUNCTION(vbox,setAlignment) if(align) sum = sum | align; else - c->warning(__tr2qs("Unknown alignment: '%Q'"),&(*it)); + c->warning(__tr2qs_ctx("Unknown alignment: '%Q'","objects"),&(*it)); } if (widget()) ((KviTalHBox *)widget())->setAlignment(((QWidget *)(pObject->object())),(Qt::Alignment)sum); diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp index 2e9583911..f4f95fc0b 100644 --- a/src/modules/objects/class_widget.cpp +++ b/src/modules/objects/class_widget.cpp @@ -1207,19 +1207,7 @@ bool KviKvsObject_widget::function_setPaletteForeground(KviKvsObjectFunctionCall KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,iColG) KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,iColB) KVSO_PARAMETERS_END(c) - - if(pColArray->isString()) - { - QString szColor; - pColArray->asString(szColor); - if (widget()) - { - QPalette p = widget()->palette(); - p.setColor(widget()->foregroundRole(), QColor(szColor)); - widget()->setPalette(p); - } - return true; - } + if(pColArray->isArray()) { if(pColArray->array()->size() < 3) @@ -1245,40 +1233,42 @@ bool KviKvsObject_widget::function_setPaletteForeground(KviKvsObjectFunctionCall } else { + QColor color; if (c->params()->count()==1) { - bool bOk,bOk1,bOk2; - QString value; - pColArray->asString(value); - if (value.length()!=6) - { - c->warning(__tr2qs("A string of 6 hex digits is required")); - return true; - } - QString buffer(value.mid(0,2)); - iColR=buffer.toInt(&bOk,16); - buffer=value.mid(2,2); - iColG=buffer.toInt(&bOk1,16); - buffer=value.mid(4,2); - iColB=buffer.toInt(&bOk2,16); - if (!bOk || !bOk1 || !bOk2) - { - c->warning(__tr2qs("Not an hex digit")); - return true; - } - if (widget()) - { - QPalette p = widget()->palette(); - p.setColor(widget()->foregroundRole(), QColor(iColR,iColG,iColB)); - widget()->setPalette(p); - return true; - } + if(pColArray->isString()) + { + QString szColor; + pColArray->asString(szColor); + // maybe a color name? + color.setNamedColor(szColor); + if (!color.isValid()) + { + // itsn't a color name: let try with an hex triplette + color.setNamedColor("#"+szColor); + if (!color.isValid()) + { + c->warning(__tr2qs("Not a valid color !")); + return true; + } + } + } + else { + c->warning(__tr2qs("Not a valid color !")); + return true; + } + if (widget()) + { + QPalette p = widget()->palette(); + p.setColor(widget()->foregroundRole(), color); + widget()->setPalette(p); + return true; + } } if(c->params()->count() < 3) { - - c->error(__tr2qs("$setForegroundColor requires either an array as first parameter, one hex string or three integers")); + c->error(__tr2qs("$setForegroundColor requires either an array as first parameter, one hex string or color name, or three integers")); return false; } if(!pColArray->asInteger(iColR)) @@ -1304,7 +1294,7 @@ bool KviKvsObject_widget::function_setBackgroundColor(KviKvsObjectFunctionCall * kvs_int_t iColR,iColG,iColB; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("hex_rgb_array_or_red",KVS_PT_VARIANT,0,pColArray) + KVSO_PARAMETER("name_hex_rgb_array_or_red",KVS_PT_VARIANT,0,pColArray) KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,iColG) KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,iColB) KVSO_PARAMETERS_END(c) @@ -1325,46 +1315,51 @@ bool KviKvsObject_widget::function_setBackgroundColor(KviKvsObjectFunctionCall * c->error(__tr2qs("One of the colors array parameters is empty")); return false; } + if(!(pColR->asInteger(iColR) && pColG->asInteger(iColG) && pColB->asInteger(iColB))) { c->error(__tr2qs("One of the colors array parameters didn't evaluate to an integer")); return false; } - } else { + } + else + { + QColor color; if (c->params()->count()==1) { - bool bOk,bOk1,bOk2; - QString value; - pColArray->asString(value); - if (value.length()!=6) - { - c->warning(__tr2qs("A string of 6 hex digits is required")); - return true; - } - QString buffer(value.mid(0,2)); - iColR=buffer.toInt(&bOk,16); - buffer=value.mid(2,2); - iColG=buffer.toInt(&bOk1,16); - buffer=value.mid(4,2); - iColB=buffer.toInt(&bOk2,16); - if (!bOk || !bOk1 || !bOk2) - { - c->warning(__tr2qs("Not an hex digit")); - return true; - } - if (widget()) - { - QPalette p = widget()->palette(); - p.setColor(widget()->backgroundRole(), QColor(iColR,iColG,iColB)); - widget()->setPalette(p); - } - return true; + if(pColArray->isString()) + { + QString szColor; + pColArray->asString(szColor); + // maybe a color name? + color.setNamedColor(szColor); + if (!color.isValid()) + { + // itsn't a color name: let try with an hex triplette + color.setNamedColor("#"+szColor); + if (!color.isValid()) + { + c->warning(__tr2qs("Not a valid color !")); + return true; + } + } + } + else { + c->warning(__tr2qs("Not a valid color !")); + return true; + } + if (widget()) + { + QPalette p = widget()->palette(); + p.setColor(widget()->backgroundRole(), color); + widget()->setPalette(p); + return true; + } } if(c->params()->count() < 3) { - - c->error(__tr2qs("$setBackgroundColor requires either an array as first parameter, one hex string or three integers")); + c->error(__tr2qs("$setBackgroundColor requires either an array as first parameter, one hex string or color name, or three integers")); return false; } if(!pColArray->asInteger(iColR)) @@ -1373,6 +1368,7 @@ bool KviKvsObject_widget::function_setBackgroundColor(KviKvsObjectFunctionCall * return false; } } + if (widget()) { QPalette p = widget()->palette(); diff --git a/src/modules/objects/class_widget.h b/src/modules/objects/class_widget.h index 27c842695..5f6f46b4b 100644 --- a/src/modules/objects/class_widget.h +++ b/src/modules/objects/class_widget.h @@ -119,7 +119,6 @@ protected: bool function_windowTitle(KviKvsObjectFunctionCall *c); bool function_x(KviKvsObjectFunctionCall *); bool function_y(KviKvsObjectFunctionCall *); - #ifdef COMPILE_WEBKIT_SUPPORT bool function_setWebView(KviKvsObjectFunctionCall *c); #endif diff --git a/src/modules/objects/object_macros.h b/src/modules/objects/object_macros.h index 563be3667..b2f275a66 100644 --- a/src/modules/objects/object_macros.h +++ b/src/modules/objects/object_macros.h @@ -90,7 +90,7 @@ g_pKvs##__className##Class->registerFunctionHandler(#__szName,(KviKvsObjectFunct #define KVSO_BEGIN_DESTRUCTOR(__className) \ __className::~__className() \ {\ - callFunction(this,"destructor"); + //callFunction(this,"destructor"); #define KVSO_END_DESTRUCTOR(__className) \ -- cgit v1.3.1-10-gc9f91