From 72f05a6133ad0b7ec9865c86f0720e2c5b67dd37 Mon Sep 17 00:00:00 2001 From: Noldor Date: Tue, 17 Apr 2007 15:51:13 +0000 Subject: fix boring warning and compilation errors; new dynamic tooltip system in widget objects. git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@510 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_listbox.cpp | 2 +- src/modules/objects/class_listbox.h | 1 + src/modules/objects/class_widget.cpp | 61 +++++++++-------------------- src/modules/objects/class_widget.h | 16 +------- src/modules/objects/objects_QT4_vc05.vcproj | 4 +- 5 files changed, 24 insertions(+), 60 deletions(-) (limited to 'src/modules/objects') diff --git a/src/modules/objects/class_listbox.cpp b/src/modules/objects/class_listbox.cpp index 56ce9d3ee..bf7292773 100644 --- a/src/modules/objects/class_listbox.cpp +++ b/src/modules/objects/class_listbox.cpp @@ -133,6 +133,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_listbox,"listbox","widget") KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"currentItemChangeEvent",functioncurrentItemChangeEvent); KVSO_REGISTER_HANDLER(KviKvsObject_listbox,"onItemEvent",functiononItemEvent); + KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_listbox,"selectionChangeEvent") @@ -386,5 +387,4 @@ kvs_uint_t uIndex; } - #include "m_class_listbox.moc" diff --git a/src/modules/objects/class_listbox.h b/src/modules/objects/class_listbox.h index 360f162bd..c7927b0ea 100644 --- a/src/modules/objects/class_listbox.h +++ b/src/modules/objects/class_listbox.h @@ -57,6 +57,7 @@ protected: bool functionisSelected(KviKvsObjectFunctionCall *c); bool functioncurrentItemChangeEvent(KviKvsObjectFunctionCall *c); bool functiononItemEvent(KviKvsObjectFunctionCall *c); + bool functionitemAt(KviKvsObjectFunctionCall *c); bool functionitemRect(KviKvsObjectFunctionCall *c); protected slots: diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp index dd81889c8..8abfcda40 100644 --- a/src/modules/objects/class_widget.cpp +++ b/src/modules/objects/class_widget.cpp @@ -438,8 +438,6 @@ const int widgettypes_cod[] = { Return the x coordinate of mouse pointer global position. !fn: integer $globalCursorY() Return the y coordinate of the mo>use pointer global position. - !fn: setDynamicTooltip(,,,,) - Immediately pops up a tip saying text and removes the tip once the cursor moves out of rectangle at x,y widget coordinates and with width/height dimension. See also [classfnc]$mayTipEvent[/classfnc]. @examples: [example] @@ -499,22 +497,6 @@ const int widgettypes_cod[] = { [/example] */ -KviKvsTip::KviKvsTip(KviKvsObject_widget * pParent,QWidget *pWidget) -: KviTalToolTip(pWidget) -{ - m_pParent=pParent; -} -KviKvsTip::~KviKvsTip() -{ -} - -void KviKvsTip::maybeTip(const QPoint &pnt) -{ - KviKvsVariant *x=new KviKvsVariant((kvs_int_t)pnt.x()); - KviKvsVariant *y=new KviKvsVariant((kvs_int_t)pnt.y()); - KviKvsVariantList params(x,y); - m_pParent->callFunction(m_pParent,"maybeTipEvent",0,¶ms); -} @@ -611,7 +593,6 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_widget,"widget","object") KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setBackgroundImage",function_setBackgroundImage) KVSO_REGISTER_HANDLER(KviKvsObject_widget,"backgroundColor",function_backgroundColor) KVSO_REGISTER_HANDLER(KviKvsObject_widget,"foregroundColor",function_foregroundColor) - KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setDynamicToolTip",function_setDynamicToolTip) KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setMask",function_setMask) // QT4 only @@ -642,17 +623,20 @@ KVSO_END_REGISTERCLASS(KviKvsObject_widget) KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_widget,KviKvsObject) - m_pTip=0; +#ifndef COMPILE_USE_QT4 +m_pTip=0; +#endif KVSO_END_CONSTRUCTOR(KviKvsObject_widget) KVSO_BEGIN_DESTRUCTOR(KviKvsObject_widget) emit aboutToDie(); +#ifndef COMPILE_USE_QT4 if (m_pTip) { delete m_pTip; m_pTip=0; } - +#endif KVSO_END_CONSTRUCTOR(KviKvsObject_widget) bool KviKvsObject_widget::init(KviKvsRunTimeContext * pContext,KviKvsVariantList * pParams) @@ -672,6 +656,20 @@ bool KviKvsObject_widget::eventFilter(QObject *o,QEvent *e) switch(e->type()) { + #ifdef COMPILE_USE_QT4 + case QEvent::ToolTip: + { + QHelpEvent *helpEvent = static_cast(e); + QPoint point=helpEvent->pos(); + QString szTooltip; + KviKvsVariant *tipret=new KviKvsVariant(szTooltip); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)point.x()),new KviKvsVariant((kvs_int_t)point.y())); + callFunction(this,"maybeTipEvent",tipret,¶ms); + tipret->asString(szTooltip); + QToolTip::showText(helpEvent->globalPos(),szTooltip); + break; + } + #endif case QEvent::Paint: { QRect rect=((QPaintEvent *)e)->rect(); @@ -818,8 +816,6 @@ bool KviKvsObject_widget::eventFilter(QObject *o,QEvent *e) break; case QEvent::MouseMove: - debug ("MOVE EVENT"); - if( (((QMouseEvent *)e)->state()) & Qt::LeftButton) aparam = 0; else { @@ -1693,25 +1689,6 @@ bool KviKvsObject_widget::function_globalCursorY(KviKvsObjectFunctionCall *c) if(widget())c->returnValue()->setInteger(QCursor::pos().y()); return true; } - -bool KviKvsObject_widget::function_setDynamicToolTip(KviKvsObjectFunctionCall *c) -{ - if (!m_pTip)m_pTip=new KviKvsTip(this,widget()); - - QString szTip; - kvs_int_t iXstart,iYstart; - kvs_uint_t uWidth,uHeight; - KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tip_text",KVS_PT_STRING,0,szTip) - KVSO_PARAMETER("x_start",KVS_PT_INT,0,iXstart) - KVSO_PARAMETER("y_start",KVS_PT_INT,0,iYstart) - KVSO_PARAMETER("width",KVS_PT_INT,0,uWidth) - KVSO_PARAMETER("height",KVS_PT_INT,0,uHeight) - KVSO_PARAMETERS_END(c) - if(!widget())return true; - m_pTip->doTip(QRect(QPoint(iXstart,iYstart),QSize(uWidth,uHeight)),szTip); - return true; -} bool KviKvsObject_widget::function_setMask(KviKvsObjectFunctionCall *c) { KviKvsObject *obj; diff --git a/src/modules/objects/class_widget.h b/src/modules/objects/class_widget.h index 76d13d8d0..0316552a8 100644 --- a/src/modules/objects/class_widget.h +++ b/src/modules/objects/class_widget.h @@ -48,7 +48,7 @@ protected: // so the name of the C++ function matches exactly the name of the KVS function at this point // let's also try to keep alphabetic order for the functions here.. so one can find them quickly - KviKvsTip *m_pTip; + bool function_addWidgetToWrappedLayout(KviKvsObjectFunctionCall *c); bool function_backgroundColor(KviKvsObjectFunctionCall *c); bool function_caption(KviKvsObjectFunctionCall *c); @@ -99,7 +99,6 @@ protected: bool function_width(KviKvsObjectFunctionCall *); bool function_x(KviKvsObjectFunctionCall *); bool function_y(KviKvsObjectFunctionCall *); - bool function_setDynamicToolTip(KviKvsObjectFunctionCall *c); bool function_setMask(KviKvsObjectFunctionCall *c); @@ -110,18 +109,5 @@ bool function_setAttribute(KviKvsObjectFunctionCall *c); signals: void aboutToDie(); }; -class KviKvsTip : public KviTalToolTip -{ -public: - KviKvsTip(KviKvsObject_widget * pParent,QWidget *pWidget); - ~KviKvsTip(); -public: - void maybeTip(const QPoint &pnt); - void doTip(const QRect &rct,const QString &str){// tip(rct,str); // - }; -protected: - KviKvsObject_widget * m_pParent; -}; - #endif // !_CLASS_WIDGET_H_ diff --git a/src/modules/objects/objects_QT4_vc05.vcproj b/src/modules/objects/objects_QT4_vc05.vcproj index e3a2fa0aa..cbb35db59 100644 --- a/src/modules/objects/objects_QT4_vc05.vcproj +++ b/src/modules/objects/objects_QT4_vc05.vcproj @@ -48,7 +48,7 @@ RuntimeLibrary="1" UsePrecompiledHeader="0" WarningLevel="3" - Detect64BitPortabilityProblems="true" + Detect64BitPortabilityProblems="false" DebugInformationFormat="4" />