aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects
diff options
context:
space:
mode:
authorGravatar Noldor2007-01-23 16:31:02 +0000
committerGravatar Noldor2007-01-23 16:31:02 +0000
commit52c050dd0ff72f7399cb1bd743d20c7d447e094b (patch)
tree157dff75036a7d72df47787ad3eeebc5a095944e /src/modules/objects
parentadded seenserv command (diff)
downloadKVIrc-52c050dd0ff72f7399cb1bd743d20c7d447e094b.tar.gz
KVIrc-52c050dd0ff72f7399cb1bd743d20c7d447e094b.tar.bz2
KVIrc-52c050dd0ff72f7399cb1bd743d20c7d447e094b.zip
added new buttongroup classes,dcc.setBandwidthLimit; fixed/removed some old code, added doc to dynamictooltips
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@234 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects')
-rw-r--r--src/modules/objects/Makefile.am290
-rw-r--r--src/modules/objects/class_buttongroup.cpp79
-rw-r--r--src/modules/objects/class_buttongroup.h64
-rw-r--r--src/modules/objects/class_combobox.cpp2
-rw-r--r--src/modules/objects/class_listbox.cpp4
-rw-r--r--src/modules/objects/class_listview.cpp6
-rw-r--r--src/modules/objects/class_listviewitem.cpp4
-rw-r--r--src/modules/objects/class_multilineedit.cpp22
-rw-r--r--src/modules/objects/class_painter.cpp2
-rw-r--r--src/modules/objects/class_popupmenu.cpp20
-rw-r--r--src/modules/objects/class_progressbar.cpp8
-rw-r--r--src/modules/objects/class_socket.cpp839
-rw-r--r--src/modules/objects/class_tabwidget.cpp28
-rw-r--r--src/modules/objects/class_urllabel.cpp130
-rw-r--r--src/modules/objects/class_vbox.cpp16
-rw-r--r--src/modules/objects/class_widget.cpp24
-rw-r--r--src/modules/objects/class_widget.h2
-rw-r--r--src/modules/objects/libkviobjects.cpp3
-rw-r--r--src/modules/objects/objects_vc05.vcproj17
19 files changed, 374 insertions, 1186 deletions
diff --git a/src/modules/objects/Makefile.am b/src/modules/objects/Makefile.am
index 4af0b833b..aedff5261 100644
--- a/src/modules/objects/Makefile.am
+++ b/src/modules/objects/Makefile.am
@@ -1,144 +1,146 @@
-###############################################################################
-# KVirc IRC client Makefile - 10.03.2000 Szymon Stefanek <stefanek@tin.it>
-###############################################################################
-
-AM_CPPFLAGS = -I$(SS_TOPSRCDIR)/src/kvilib/include/ -I$(SS_TOPSRCDIR)/src/kvirc/include/ \
-$(SS_INCDIRS) $(SS_CPPFLAGS) -DGLOBAL_KVIRC_DIR=\"$(globalkvircdir)\"
-
-pluglib_LTLIBRARIES = libkviobjects.la
-
-libkviobjects_la_LDFLAGS = -module -avoid-version $(SS_LDFLAGS) $(SS_LIBDIRS)
-
-libkviobjects_la_SOURCES = libkviobjects.cpp \
- class_button.cpp \
- class_checkbox.cpp \
- class_combobox.cpp \
- class_dialog.cpp \
- class_dockwindow.cpp \
- class_file.cpp \
- class_groupbox.cpp \
- class_image.cpp \
- class_label.cpp \
- class_layout.cpp \
- class_lcd.cpp \
- class_lineedit.cpp \
- class_list.cpp \
- class_listbox.cpp \
- class_listview.cpp \
- class_listviewitem.cpp \
- class_mainwindow.cpp \
- class_menubar.cpp \
- class_multilineedit.cpp \
- class_popupmenu.cpp \
- class_process.cpp \
- class_progressbar.cpp \
- class_radiobutton.cpp \
- class_slider.cpp \
- class_socket.cpp \
- class_spinbox.cpp \
- class_tabwidget.cpp \
- class_toolbar.cpp \
- class_toolbutton.cpp \
- class_painter.cpp \
- class_pixmap.cpp \
- class_tbrowser.cpp \
- class_widget.cpp \
- class_window.cpp \
- class_wizard.cpp \
- class_workspace.cpp \
- class_wrapper.cpp \
- class_urllabel.cpp \
- class_xmlreader.cpp \
- class_vbox.cpp \
- class_hbox.cpp
-
-
-libkviobjects_la_LIBADD = $(SS_LIBLINK) ../../kvilib/build/libkvilib.la
-
-noinst_HEADERS= class_button.h \
- class_checkbox.h \
- class_combobox.h \
- class_dialog.h \
- class_dockwindow.h \
- class_file.h \
- class_groupbox.h \
- class_image.h \
- class_label.h \
- class_layout.h \
- class_lcd.h \
- class_lineedit.h \
- class_list.h \
- class_listbox.h \
- class_listview.h \
- class_listviewitem.h \
- class_mainwindow.h \
- class_menubar.h \
- class_multilineedit.h \
- class_painter.h \
- class_pixmap.h \
- class_popupmenu.h \
- class_process.h \
- class_progressbar.h \
- class_radiobutton.h \
- class_slider.h \
- class_socket.h \
- class_spinbox.h \
- class_tabwidget.h \
- class_tbrowser.h \
- class_toolbar.h \
- class_toolbutton.h \
- class_urllabel.h \
- class_widget.h \
- class_window.h \
- class_wizard.h \
- class_workspace.h \
- class_wrapper.h \
- class_xmlreader.h \
- class_vbox.h \
- class_hbox.h \
- object_macros.h
-
-m_%.moc: %.h
- $(SS_QT_MOC) $< -o $@
-
-class_checkbox.cpp: m_class_checkbox.moc
-class_combobox.cpp: m_class_combobox.moc
-class_button.cpp: m_class_button.moc
-class_dialog.cpp: m_class_dialog.moc
-class_dockwindow.cpp: m_class_dockwindow.moc
-class_file.cpp: m_class_file.moc
-class_groupbox.cpp: m_class_groupbox.moc
-class_image.cpp: m_class_image.moc
-class_label.cpp: m_class_label.moc
-class_layout.cpp: m_class_layout.moc
-class_lcd.cpp: m_class_lcd.moc
-class_lineedit.cpp: m_class_lineedit.moc
-class_list.cpp: m_class_list.moc
-class_listbox.cpp: m_class_listbox.moc
-class_listview.cpp: m_class_listview.moc
-class_listviewitem.cpp: m_class_listviewitem.moc
-class_listbox.cpp: m_class_listbox.moc
-class_mainwindow.cpp: m_class_mainwindow.moc
-class_menubar.cpp: m_class_menubar.moc
-class_multilineedit.cpp: m_class_multilineedit.moc
-class_painter.cpp: m_class_painter.moc
-class_pixmap.cpp: m_class_pixmap.moc
-class_popupmenu.cpp: m_class_popupmenu.moc
-class_process.cpp: m_class_process.moc
-class_progressbar.cpp: m_class_progressbar.moc
-class_radiobutton.cpp: m_class_radiobutton.moc
-class_slider.cpp: m_class_slider.moc
-class_socket.cpp: m_class_socket.moc
-class_spinbox.cpp: m_class_spinbox.moc
-class_tabwidget.cpp: m_class_tabwidget.moc
-class_tbrowser.cpp: m_class_tbrowser.moc
-class_toolbar.cpp: m_class_toolbar.moc
-class_toolbutton.cpp: m_class_toolbutton.moc
-class_urllabel.cpp: m_class_urllabel.moc
-class_widget.cpp: m_class_widget.moc
-class_window.cpp: m_class_window.moc
-class_wizard.cpp: m_class_wizard.moc
-class_workspace.cpp: m_class_workspace.moc
-class_wrapper.cpp: m_class_wrapper.moc
-class_xmlreader.cpp: m_class_xmlreader.moc
-
+###############################################################################
+# KVirc IRC client Makefile - 10.03.2000 Szymon Stefanek <stefanek@tin.it>
+###############################################################################
+
+AM_CPPFLAGS = -I$(SS_TOPSRCDIR)/src/kvilib/include/ -I$(SS_TOPSRCDIR)/src/kvirc/include/ \
+$(SS_INCDIRS) $(SS_CPPFLAGS) -DGLOBAL_KVIRC_DIR=\"$(globalkvircdir)\"
+
+pluglib_LTLIBRARIES = libkviobjects.la
+
+libkviobjects_la_LDFLAGS = -module -avoid-version $(SS_LDFLAGS) $(SS_LIBDIRS)
+
+libkviobjects_la_SOURCES = libkviobjects.cpp \
+ class_button.cpp \
+ class_buttongroup.cpp \
+ class_checkbox.cpp \
+ class_combobox.cpp \
+ class_dialog.cpp \
+ class_dockwindow.cpp \
+ class_file.cpp \
+ class_groupbox.cpp \
+ class_image.cpp \
+ class_label.cpp \
+ class_layout.cpp \
+ class_lcd.cpp \
+ class_lineedit.cpp \
+ class_list.cpp \
+ class_listbox.cpp \
+ class_listview.cpp \
+ class_listviewitem.cpp \
+ class_mainwindow.cpp \
+ class_menubar.cpp \
+ class_multilineedit.cpp \
+ class_popupmenu.cpp \
+ class_process.cpp \
+ class_progressbar.cpp \
+ class_radiobutton.cpp \
+ class_slider.cpp \
+ class_socket.cpp \
+ class_spinbox.cpp \
+ class_tabwidget.cpp \
+ class_toolbar.cpp \
+ class_toolbutton.cpp \
+ class_painter.cpp \
+ class_pixmap.cpp \
+ class_tbrowser.cpp \
+ class_widget.cpp \
+ class_window.cpp \
+ class_wizard.cpp \
+ class_workspace.cpp \
+ class_wrapper.cpp \
+ class_urllabel.cpp \
+ class_xmlreader.cpp \
+ class_vbox.cpp \
+ class_hbox.cpp
+
+
+libkviobjects_la_LIBADD = $(SS_LIBLINK) ../../kvilib/build/libkvilib.la
+
+noinst_HEADERS= class_button.h \
+ class_buttongroup.h \
+ class_checkbox.h \
+ class_combobox.h \
+ class_dialog.h \
+ class_dockwindow.h \
+ class_file.h \
+ class_groupbox.h \
+ class_image.h \
+ class_label.h \
+ class_layout.h \
+ class_lcd.h \
+ class_lineedit.h \
+ class_list.h \
+ class_listbox.h \
+ class_listview.h \
+ class_listviewitem.h \
+ class_mainwindow.h \
+ class_menubar.h \
+ class_multilineedit.h \
+ class_painter.h \
+ class_pixmap.h \
+ class_popupmenu.h \
+ class_process.h \
+ class_progressbar.h \
+ class_radiobutton.h \
+ class_slider.h \
+ class_socket.h \
+ class_spinbox.h \
+ class_tabwidget.h \
+ class_tbrowser.h \
+ class_toolbar.h \
+ class_toolbutton.h \
+ class_urllabel.h \
+ class_widget.h \
+ class_window.h \
+ class_wizard.h \
+ class_workspace.h \
+ class_wrapper.h \
+ class_xmlreader.h \
+ class_vbox.h \
+ class_hbox.h \
+ object_macros.h
+
+m_%.moc: %.h
+ $(SS_QT_MOC) $< -o $@
+
+class_checkbox.cpp: m_class_checkbox.moc
+class_combobox.cpp: m_class_combobox.moc
+class_button.cpp: m_class_button.moc
+class_dialog.cpp: m_class_dialog.moc
+class_dockwindow.cpp: m_class_dockwindow.moc
+class_file.cpp: m_class_file.moc
+class_groupbox.cpp: m_class_groupbox.moc
+class_image.cpp: m_class_image.moc
+class_label.cpp: m_class_label.moc
+class_layout.cpp: m_class_layout.moc
+class_lcd.cpp: m_class_lcd.moc
+class_lineedit.cpp: m_class_lineedit.moc
+class_list.cpp: m_class_list.moc
+class_listbox.cpp: m_class_listbox.moc
+class_listview.cpp: m_class_listview.moc
+class_listviewitem.cpp: m_class_listviewitem.moc
+class_listbox.cpp: m_class_listbox.moc
+class_mainwindow.cpp: m_class_mainwindow.moc
+class_menubar.cpp: m_class_menubar.moc
+class_multilineedit.cpp: m_class_multilineedit.moc
+class_painter.cpp: m_class_painter.moc
+class_pixmap.cpp: m_class_pixmap.moc
+class_popupmenu.cpp: m_class_popupmenu.moc
+class_process.cpp: m_class_process.moc
+class_progressbar.cpp: m_class_progressbar.moc
+class_radiobutton.cpp: m_class_radiobutton.moc
+class_slider.cpp: m_class_slider.moc
+class_socket.cpp: m_class_socket.moc
+class_spinbox.cpp: m_class_spinbox.moc
+class_tabwidget.cpp: m_class_tabwidget.moc
+class_tbrowser.cpp: m_class_tbrowser.moc
+class_toolbar.cpp: m_class_toolbar.moc
+class_toolbutton.cpp: m_class_toolbutton.moc
+class_urllabel.cpp: m_class_urllabel.moc
+class_widget.cpp: m_class_widget.moc
+class_window.cpp: m_class_window.moc
+class_wizard.cpp: m_class_wizard.moc
+class_workspace.cpp: m_class_workspace.moc
+class_wrapper.cpp: m_class_wrapper.moc
+class_xmlreader.cpp: m_class_xmlreader.moc
+
diff --git a/src/modules/objects/class_buttongroup.cpp b/src/modules/objects/class_buttongroup.cpp
new file mode 100644
index 000000000..72446f3fe
--- /dev/null
+++ b/src/modules/objects/class_buttongroup.cpp
@@ -0,0 +1,79 @@
+//
+// File : class_buttongroup.cpp
+// Creation date : Fri Jan 28 14:21:48 CEST 2005
+// by Tonino Imbesi(Grifisx) and Alessandro Carbone(Noldor)
+//
+// This file is part of the KVirc irc client distribution
+// Copyright (C) 1999-2005 Szymon Stefanek (pragma at kvirc dot net)
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// This program is distributed in the HOPE that it will be USEFUL,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, write to the Free Software Foundation,
+// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+
+#include <qbuttongroup.h>
+#include "class_buttongroup.h"
+#include <qradiobutton.h>
+#include "kvi_error.h"
+#include "kvi_debug.h"
+
+#include "kvi_locale.h"
+#include "kvi_iconmanager.h"
+
+
+/*
+ @doc: buttongroup
+ @keyterms:
+ buttongroup object class,
+ @title:
+ buttongroup class
+ @type:
+ class
+ @short:
+ Provides a buttongroup bar.
+ @inherits:
+ [class]groupbox[/class]
+ [class]object[/class]
+ [class]widget[/class]
+ @description:
+ This widget organizes buttons in a group.
+ It will be usually a parent for other child controls.
+ You can either use a child layout to manage the children geometries
+ or use $setColumnLayout function to manage the layout automatically.
+ The class ineriths groupbox.
+
+ @functions:
+
+*/
+
+KVSO_BEGIN_REGISTERCLASS(KviKvsObject_buttongroup,"buttongroup","groupbox")
+
+KVSO_END_REGISTERCLASS(KviKvsObject_buttongroup)
+
+KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_buttongroup,KviKvsObject_groupbox)
+
+KVSO_END_CONSTRUCTOR(KviKvsObject_buttongroup)
+
+
+KVSO_BEGIN_DESTRUCTOR(KviKvsObject_buttongroup)
+
+KVSO_END_CONSTRUCTOR(KviKvsObject_buttongroup)
+
+bool KviKvsObject_buttongroup::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams)
+{
+ QButtonGroup *group=new QButtonGroup(parentScriptWidget(),name());
+ setObject(group, true);
+ return true;
+}
+
+
diff --git a/src/modules/objects/class_buttongroup.h b/src/modules/objects/class_buttongroup.h
new file mode 100644
index 000000000..0a3757891
--- /dev/null
+++ b/src/modules/objects/class_buttongroup.h
@@ -0,0 +1,64 @@
+#ifndef _CLASS_BUTTONGROUP_H_
+#define _CLASS_BUTTONGROUP_H_
+//
+// File : class_buttongroup.h
+// Creation date : Jan 23 CEST 2007
+// by Alessandro Carbone(Noldor)
+//
+// This file is part of the KVirc irc client distribution
+// Copyright (C) 1999-2005 Szymon Stefanek (pragma at kvirc dot net)
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// This program is distributed in the HOPE that it will be USEFUL,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, write to the Free Software Foundation,
+// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+
+
+
+#include <qbuttongroup.h>
+#include "class_groupbox.h"
+#include "object_macros.h"
+
+class KviKvsObject_buttongroup : public KviKvsObject_groupbox
+{
+public:
+ KVSO_DECLARE_OBJECT(KviKvsObject_buttongroup)
+public:
+ QWidget * widget() { return (QWidget *)object(); };
+protected:
+ virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
+
+ /*
+ bool functionSetTitle(KviKvsObjectFunctionCall *c);
+ bool functionTitle(KviKvsObjectFunctionCall *c);
+ bool functionSetFlat(KviKvsObjectFunctionCall *c);
+ bool functionIsFlat(KviKvsObjectFunctionCall *c);
+ bool functionSetCheckable(KviKvsObjectFunctionCall *c);
+ bool functionIsCheckable(KviKvsObjectFunctionCall *c);
+ bool functionSetInsideMargin(KviKvsObjectFunctionCall *c);
+ bool functionInsideMargin(KviKvsObjectFunctionCall *c);
+ bool functionSetInsideSpacing(KviKvsObjectFunctionCall *c);
+ bool functionInsideSpacing(KviKvsObjectFunctionCall *c);
+ bool functionSetColumns(KviKvsObjectFunctionCall *c);
+ bool functionColumns(KviKvsObjectFunctionCall *c);
+ bool functionAddSpace(KviKvsObjectFunctionCall *c);
+ bool functionAlignment(KviKvsObjectFunctionCall *c);
+ bool functionSetAlignment(KviKvsObjectFunctionCall *c);
+ bool functionSetOrientation(KviKvsObjectFunctionCall *c);
+ bool functionIsChecked(KviKvsObjectFunctionCall *c);
+ bool functionSetChecked(KviKvsObjectFunctionCall *c);
+ bool functionSetColumnLayout(KviKvsObjectFunctionCall *c);
+*/
+};
+#endif //!_CLASS_GROUPBOX_H_
+
diff --git a/src/modules/objects/class_combobox.cpp b/src/modules/objects/class_combobox.cpp
index 804e2e65f..f8c3d3d6b 100644
--- a/src/modules/objects/class_combobox.cpp
+++ b/src/modules/objects/class_combobox.cpp
@@ -285,7 +285,7 @@ bool KviKvsObject_combobox::functionsetEditText(KviKvsObjectFunctionCall *c)
bool KviKvsObject_combobox::functiontextAt(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uIndex;
+ kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex)
KVSO_PARAMETERS_END(c)
diff --git a/src/modules/objects/class_listbox.cpp b/src/modules/objects/class_listbox.cpp
index 93e25aecc..efd576acd 100644
--- a/src/modules/objects/class_listbox.cpp
+++ b/src/modules/objects/class_listbox.cpp
@@ -100,7 +100,9 @@
This function is called by KVIrc when the current item changes.
!fn: <index:integer> $onItemEvent()
This function is called by KVIrc when the current item pointed by the mouse changes and gives in $0 the item index.
-
+ !fn: <array:x,y,width,height> $itemRect(<item:index>)
+ Returns the rectangle on the screen that item occupies, or an invalid rectangle if item is 0 or is not currently visible.
+
@signals:
!sg: <string> $currentItemChange()
This signal is emitted by the default implementation of [classfnc]$currentItemChangeEvent[/classfnc]().[br]
diff --git a/src/modules/objects/class_listview.cpp b/src/modules/objects/class_listview.cpp
index 52def7893..fde5d507b 100644
--- a/src/modules/objects/class_listview.cpp
+++ b/src/modules/objects/class_listview.cpp
@@ -62,7 +62,7 @@
that items can be selected by the mouse actions: experiment with the two modes :).
The NoSelection mode has obviously no selection at all.
@functions:
- !fn: $addColumn(<text_label:string> <width:integer>)
+ !fn: $addColumn(<text_label:string> <width:unsigned integer>)
Adds a width pixels wide column with the column header label to the list view.
!fn: $setSorting(<column:integer>,<bAscending:boolean>)
@@ -318,10 +318,10 @@ bool KviKvsObject_listview::function_setSelectionMode(KviKvsObjectFunctionCall *
bool KviKvsObject_listview::function_setSorting(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iCol;
+ kvs_uint_t iCol;
bool bEnabled;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("column",KVS_PT_INT,0,iCol)
+ KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,iCol)
KVSO_PARAMETER("benabled",KVS_PT_BOOL,0,bEnabled)
KVSO_PARAMETERS_END(c)
if (widget()) ((QListView *)widget())->setSorting(iCol,bEnabled);
diff --git a/src/modules/objects/class_listviewitem.cpp b/src/modules/objects/class_listviewitem.cpp
index 62f8f1128..98a17f3e3 100644
--- a/src/modules/objects/class_listviewitem.cpp
+++ b/src/modules/objects/class_listviewitem.cpp
@@ -385,13 +385,13 @@ bool KviKvsObject_listviewitem::function_text(KviKvsObjectFunctionCall *c)
bool KviKvsObject_listviewitem::function_setPixmap(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uCol;
+ kvs_uint_t uCol;
KviKvsObject *obPixmap;
kvs_hobject_t obHpixmap;
KviKvsVariant * vPixmap;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol)
- KVSO_PARAMETER("column",KVS_PT_VARIANT,0,vPixmap)
+ KVSO_PARAMETER("pixmap",KVS_PT_VARIANT,0,vPixmap)
KVSO_PARAMETERS_END(c)
QPixmap *pix = 0;
if(vPixmap->isHObject())
diff --git a/src/modules/objects/class_multilineedit.cpp b/src/modules/objects/class_multilineedit.cpp
index d4fb3c534..f836980d7 100644
--- a/src/modules/objects/class_multilineedit.cpp
+++ b/src/modules/objects/class_multilineedit.cpp
@@ -81,20 +81,20 @@ static int mod_cod[] = {
ommited, the line is put at end.
!fn: $removeLine(<line:integer>)
Removes line number <line>.
- !fn: $insertAt(<txt:string>, <line:integer>, <col:integer>)
+ !fn: $insertAt(<txt:string>, <line:uinteger>, <col:uinteger>)
Inserts txt at line number line, after character number col in
the line. If txt contains newline characters, new lines are
inserted.
!fn: <integer> $numLines()
Returns number of lines in the widget.
- !fn: $setCursorPosition(<line:integer>, <col:integer>, <mark:boolean>)
+ !fn: $setCursorPosition(<line:integer>, <col:uinteger>, <mark:boolean>)
Sets the cursor position to character number col in line
number line. The parameters are adjusted to lie within the
legal range.[br]
If mark is 1, the selection is cleared. otherwise it
is extended
!fn: <line,col:integer> $cursorPosition()
- Returns current cursor position in "<line:integer>, <col:integer>" format.
+ Returns current cursor position in "<line:uinteger>, <col:uinteger>" format.
!fn: $setReadOnly(<bReadOnly:boolean>)
Sets the editor to be read-only if bReadOnly is 1 or
removes the read-only status is ReadOnly is 0
@@ -395,12 +395,12 @@ bool KviKvsObject_mledit::functionRemoveLine(KviKvsObjectFunctionCall *c)
bool KviKvsObject_mledit::functionInsertAt(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iLine,iCol;
+ kvs_uint_t iLine,iCol;
QString szInsert;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("text",KVS_PT_STRING,0,szInsert)
- KVSO_PARAMETER("line",KVS_PT_INT,0,iLine)
- KVSO_PARAMETER("col",KVS_PT_INT,0,iCol)
+ KVSO_PARAMETER("line",KVS_PT_UNSIGNEDINTEGER,0,iLine)
+ KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,iCol)
KVSO_PARAMETERS_END(c)
if(!widget())return true;
if(iLine < 0 || iCol < 0 || iLine > ((QMultiLineEdit *)widget())->numLines())
@@ -421,7 +421,7 @@ bool KviKvsObject_mledit::functionSetCursorPosition(KviKvsObjectFunctionCall *c)
{
bool bFlag;
- kvs_int_t iLine,iCol;
+ kvs_uint_t iLine,iCol;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("line",KVS_PT_UNSIGNEDINTEGER,0,iLine)
KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,iCol)
@@ -524,7 +524,7 @@ bool KviKvsObject_mledit::functionLength(KviKvsObjectFunctionCall *c)
bool KviKvsObject_mledit::functionSetMaxLines(KviKvsObjectFunctionCall *c)
{
- kvs_int_t imaxLines;
+ kvs_uint_t imaxLines;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("max_lines",KVS_PT_UNSIGNEDINTEGER,0,imaxLines)
KVSO_PARAMETERS_END(c)
@@ -842,12 +842,12 @@ bool KviKvsObject_mledit::functionsetColor(KviKvsObjectFunctionCall *c)
bool KviKvsObject_mledit::functionsetPointSize(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iPointSize;
+ kvs_uint_t uPointSize;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("point_size",KVS_PT_UNSIGNEDINTEGER,0,iPointSize)
+ KVSO_PARAMETER("point_size",KVS_PT_UNSIGNEDINTEGER,0,uPointSize)
KVSO_PARAMETERS_END(c)
if (widget())
- ((QMultiLineEdit *)widget())->setPointSize(iPointSize);
+ ((QMultiLineEdit *)widget())->setPointSize(uPointSize);
return true;
}
diff --git a/src/modules/objects/class_painter.cpp b/src/modules/objects/class_painter.cpp
index e6cd4815a..5b8bc437a 100644
--- a/src/modules/objects/class_painter.cpp
+++ b/src/modules/objects/class_painter.cpp
@@ -516,7 +516,7 @@ bool KviKvsObject_painter::functionSetFont(KviKvsObjectFunctionCall *c)
}
bool KviKvsObject_painter::functionSetFontSize(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uSize;
+ kvs_uint_t uSize;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("size",KVS_PT_UNSIGNEDINTEGER,0,uSize)
KVSO_PARAMETERS_END(c)
diff --git a/src/modules/objects/class_popupmenu.cpp b/src/modules/objects/class_popupmenu.cpp
index 8ff9a2e19..ee0762ae1 100644
--- a/src/modules/objects/class_popupmenu.cpp
+++ b/src/modules/objects/class_popupmenu.cpp
@@ -55,20 +55,20 @@
The widget is treats as a separator; this means that the item is not selectable and you can, for example, simply insert a label if you need a popup menu with a title.
!fn: $insertHandle(<text_label:string>,<popupmenu:object>,[icon])
Inserts a submenu with optional icon into the popup menu.
- !fn: $exec([<widget:objects>,<x:integer>,<y:integer>])
+ !fn: $exec([<widget:objects>,<x:uinteger>,<y:integer>])
If called without paramaters show the popup menu at the current pointer position.[br]
With the optional parameters show the popup menu at the coordinate x,y widget parameter relative.
- !fn: $removeItem(<popup_id:integer>)
+ !fn: $removeItem(<popup_id:Uinteger>)
Removes the menu item that has the identifier id.
- !fn: $removeItemAt(<index:integer>)
+ !fn: $removeItemAt(<index:uinteger>)
Removes the menu item at position index.
- !fn: $insertSeparator(<index:integer>)
+ !fn: $insertSeparator(<index:uinteger>)
Inserts a separator at position index.[br]
If the index is negative the separator becomes the last menu item.
- !fn: $activatedEvent(<popup_id:integer>)
+ !fn: $activatedEvent(<popup_id:uinteger>)
This function is called when a menu item and return the the item id.[br]
The default implementation emits the [classfnc]$activated[/classfnc]() signal.
- !fn: $highligthtedEvent(<popup_id:integer>)
+ !fn: $highligthtedEvent(<popup_id:uinteger>)
This function is called when a menu item is highlighted and return the item id.[br]
The default implementation emits the [classfnc]$highlighted[/classfnc]() signal.
@signals:
@@ -278,7 +278,7 @@ bool KviKvsObject_popupmenu::functionexec(KviKvsObjectFunctionCall *c)
}
KviKvsObject *pObject;
- kvs_int_t iX,iY;
+ kvs_uint_t iX,iY;
QString szLabel,szIcon;
kvs_hobject_t hObject;
KVSO_PARAMETERS_BEGIN(c)
@@ -309,7 +309,7 @@ bool KviKvsObject_popupmenu::functionexec(KviKvsObjectFunctionCall *c)
}
bool KviKvsObject_popupmenu::functionremoveItem(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uItem;
+ kvs_uint_t uItem;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("item_id",KVS_PT_UNSIGNEDINTEGER,0,uItem)
KVSO_PARAMETERS_END(c)
@@ -318,7 +318,7 @@ bool KviKvsObject_popupmenu::functionremoveItem(KviKvsObjectFunctionCall *c)
}
bool KviKvsObject_popupmenu::functionremoveItemAt(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uIndex;
+ kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex)
KVSO_PARAMETERS_END(c)
@@ -328,7 +328,7 @@ bool KviKvsObject_popupmenu::functionremoveItemAt(KviKvsObjectFunctionCall *c)
bool KviKvsObject_popupmenu::functioninsertSeparator(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uIndex;
+ kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex)
KVSO_PARAMETERS_END(c)
diff --git a/src/modules/objects/class_progressbar.cpp b/src/modules/objects/class_progressbar.cpp
index fd5c12619..cece149a7 100644
--- a/src/modules/objects/class_progressbar.cpp
+++ b/src/modules/objects/class_progressbar.cpp
@@ -45,10 +45,10 @@
@description:
This widget can be used to display a horizontal progress bar.
@functions:
- !fn: $setProgress(<steps_value:integer>)
+ !fn: $setProgress(<steps_value:uinteger>)
Set the amount of steps completed.
See also [classfnc]$settotalSteps[/classfnc]()
- !fn: $settotalSteps(<total_steps:integer>)
+ !fn: $settotalSteps(<total_steps:uinteger>)
The progress bar uses the concept of steps; you give it the total number of steps
and the number of steps completed so far and it will display the percentage of steps that have been completed.
See also [classfnc]$setProgress[/classfnc]()
@@ -95,7 +95,7 @@ bool KviKvsObject_progressbar::init(KviKvsRunTimeContext * pContext,KviKvsVarian
bool KviKvsObject_progressbar::functionSetProgress(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iProgress;
+ kvs_uint_t iProgress;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("step_value",KVS_PT_UNSIGNEDINTEGER,0,iProgress)
KVSO_PARAMETERS_END(c)
@@ -104,7 +104,7 @@ bool KviKvsObject_progressbar::functionSetProgress(KviKvsObjectFunctionCall *c)
}
bool KviKvsObject_progressbar::functionSetTotalSteps(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iSteps;
+ kvs_uint_t iSteps;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("total_steps",KVS_PT_UNSIGNEDINTEGER,0,iSteps)
KVSO_PARAMETERS_END(c)
diff --git a/src/modules/objects/class_socket.cpp b/src/modules/objects/class_socket.cpp
index fbabdad85..09bc0fb57 100644
--- a/src/modules/objects/class_socket.cpp
+++ b/src/modules/objects/class_socket.cpp
@@ -359,832 +359,6 @@ void KviScriptSocketObject::reset()
[/example]
*/
-/*
-#define REG_FH(__name,__func) \
- g_pSocketClass->registerFunctionHandler(__name,(KviScriptObjectFunctionHandlerProc)(KVI_PTR2MEMBER(KviScriptSocketObject::__func)),0,true)
-
-
-void KviScriptSocketObject::registerSelf()
-{
- KviScriptObjectClass * base = g_pScriptObjectController->lookupClass("object");
-
- __range_valid(base);
- g_pSocketClass = new KviScriptObjectClass(base,"socket",socketClassCreateInstance,true);
-
- REG_FH("status",functionStatus);
- REG_FH("remotePort",functionRemotePort);
- REG_FH("remoteIp",functionRemoteIp);
- REG_FH("localIp",functionLocalIp);
- REG_FH("localPort",functionLocalPort);
- REG_FH("connect",functionConnect);
- REG_FH("connectTimeout",functionConnectTimeout);
- REG_FH("setConnectTimeout",functionSetConnectTimeout);
- REG_FH("close",functionClose);
- REG_FH("read",functionRead);
- REG_FH("readHex",functionReadHex);
- REG_FH("write",functionWrite);
- REG_FH("writeHex",functionWriteHex);
- REG_FH("listen",functionListen);
- REG_FH("accept",functionAccept);
-
- g_pSocketClass->registerEmptyFunctionHandler("connectEvent");
- g_pSocketClass->registerEmptyFunctionHandler("connectFailedEvent");
- g_pSocketClass->registerEmptyFunctionHandler("disconnectEvent");
- g_pSocketClass->registerEmptyFunctionHandler("dataAvailableEvent");
- g_pSocketClass->registerEmptyFunctionHandler("incomingConnectionEvent");
-}
-
-#undef REG_FH
-
-void KviScriptSocketObject::unregisterSelf()
-{
- delete g_pSocketClass; // this will delete all the objects of this class
- g_pSocketClass = 0;
-}
-
-bool KviScriptSocketObject::functionStatus(KviCommand *c,KviParameterList *,KviStr &buffer)
-{
- buffer.append(KviStr::Format,"%d",m_iStatus);
- return true;
-}
-
-bool KviScriptSocketObject::functionClose(KviCommand *c,KviParameterList *,KviStr &buffer)
-{
- if((m_pOutBuffer->size() != 0) && (m_iStatus == KVI_SCRIPT_SOCKET_STATUS_CONNECTED))
- tryFlush();
-
- reset();
- return true;
-}
-
-bool KviScriptSocketObject::functionConnectTimeout(KviCommand *c,KviParameterList *,KviStr &buffer)
-{
- buffer.append(KviStr::Format,"%u",m_uConnectTimeout);
- return true;
-}
-
-bool KviScriptSocketObject::functionSetConnectTimeout(KviCommand *c,KviParameterList *params,KviStr &buffer)
-{
- ENTER_STACK_FRAME(c,"socket::setConnectTimeout");
- KviStr szTimeout = params->safeFirstParam();
- bool bOk;
- unsigned int uTimeout = szTimeout.toUInt(&bOk);
- if(!bOk)
- {
- c->warning(__tr("Invalid timeout (%s)"),szTimeout.ptr());
- return c->leaveStackFrame();
- }
- m_uConnectTimeout = uTimeout;
- return c->leaveStackFrame();
-}
-
-bool KviScriptSocketObject::functionRemotePort(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- buffer.append(KviStr::Format,"%u",m_uRemotePort);
- return true;
-}
-
-bool KviScriptSocketObject::functionRemoteIp(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- buffer.append(m_szRemoteIp);
- return true;
-}
-
-bool KviScriptSocketObject::functionLocalPort(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- buffer.append(KviStr::Format,"%u",m_uLocalPort);
- return true;
-}
-
-bool KviScriptSocketObject::functionLocalIp(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- buffer.append(m_szLocalIp);
- return true;
-}
-
-bool KviScriptSocketObject::functionListen(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- ENTER_STACK_FRAME(c,"socket::listen");
- if((m_sock != KVI_INVALID_SOCKET) || (m_iStatus != KVI_SCRIPT_SOCKET_STATUS_DISCONNECTED))
- {
- c->warning(__tr("Another connection in progress"));
- buffer.append('0');
- return c->leaveStackFrame();
- }
-
- KviStr szPort = *(params->safeFirst());
- if(szPort.hasData())
- {
- bool bOk;
- m_uLocalPort = szPort.toUShort(&bOk);
- if(!bOk)
- {
- c->warning(__tr("Invalid port specified: the kernel will choose one"));
- m_uLocalPort = 0;
- }
- } else m_uLocalPort = 0;
-
- KviStr m_szLocalIp = *(params->safeNext());
-
- params->safeNext();
- m_bIpV6 = params->getBool();
-
-#ifndef COMPILE_IPV6_SUPPORT
- if(m_bIpV6)
- {
- c->warning(__tr("No IPV6 support in this executable"));
- buffer.append('0');
- reset();
- return c->leaveStackFrame();
- }
-#endif
-
- bool bGotIp = false;
-
- if(m_szLocalIp.hasData())
- {
- // Check the address type
- if(kvi_isValidStringIp(m_szLocalIp.ptr()))bGotIp = true;
- else {
-#ifdef COMPILE_IPV6_SUPPORT
- if(kvi_isValidStringIp_V6(m_szLocalIp.ptr()))
- {
- bGotIp = true;
- m_bIpV6 = true;
- } else {
-#else
- c->warning(__tr("Invalid IP address specified (%s)"),m_szLocalIp.ptr());
- buffer.append('0');
- reset();
- return c->leaveStackFrame();
-#endif
-#ifdef COMPILE_IPV6_SUPPORT
- }
-#endif
- }
- }
-
-
-#ifdef COMPILE_IPV6_SUPPORT
- m_sock = kvi_socket_create(m_bIpV6 ? KVI_SOCKET_PF_INET6 : KVI_SOCKET_PF_INET,
- KVI_SOCKET_TYPE_STREAM,KVI_SOCKET_PROTO_TCP);
-#else
- m_sock = kvi_socket_create(KVI_SOCKET_PF_INET,KVI_SOCKET_TYPE_STREAM,KVI_SOCKET_PROTO_TCP);
-#endif
-
- if(m_sock == KVI_INVALID_SOCKET)
- {
- c->warning(__tr("Socket creation failed"));
- buffer.append('0');
- reset();
- return c->leaveStackFrame();
- }
-
- if(m_szLocalIp.hasData())
- {
-#ifdef COMPILE_IPV6_SUPPORT
- KviSockaddr sa(m_szLocalIp.ptr(),m_uLocalPort,m_bIpV6);
-#else
- KviSockaddr sa(m_szLocalIp.ptr(),m_uLocalPort,false);
-#endif
- if(!sa.socketAddress())
- {
- c->warning(__tr("Invalid socket address"));
- reset();
- buffer.append('0');
- return c->leaveStackFrame();
- }
-
- if(!kvi_socket_bind(m_sock,sa.socketAddress(),((int)(sa.addressLength()))))
- {
- c->warning(__tr("Bind failure"));
- reset();
- buffer.append('0');
- return c->leaveStackFrame();
- }
- } else {
-#ifdef COMPILE_IPV6_SUPPORT
- KviSockaddr sa(m_uLocalPort,m_bIpV6);
-#else
- KviSockaddr sa(m_uLocalPort,false);
-#endif
- if(!sa.socketAddress())
- {
- c->warning(__tr("Invalid socket address"));
- reset();
- buffer.append('0');
- return c->leaveStackFrame();
- }
-
- if(!kvi_socket_bind(m_sock,sa.socketAddress(),((int)(sa.addressLength()))))
- {
- c->warning(__tr("Bind failure"));
- reset();
- buffer.append('0');
- return c->leaveStackFrame();
- }
- }
-
-
- if(!kvi_socket_listen(m_sock,5))
- {
- c->warning(__tr("Listen failure"));
- reset();
- buffer.append('0');
- return c->leaveStackFrame();
- }
-
-
- // Reread the port in case we're binding to a random one (0)
-
-#ifdef COMPILE_IPV6_SUPPORT
- KviSockaddr sareal(0,m_bIpV6);
-#else
- KviSockaddr sareal(0,false);
-#endif
-
- int size = (int)sareal.addressLength();
-
- if(kvi_socket_getsockname(m_sock,sareal.socketAddress(),&size))
- {
- m_uLocalPort = sareal.port();
- sareal.getStringAddress(m_szLocalIp);
- }
-
- // and setup the READ notifier...
- m_pSn = new QSocketNotifier(m_sock,QSocketNotifier::Read);
- QObject::connect(m_pSn,SIGNAL(activated(int)),this,SLOT(incomingConnection(int)));
- m_pSn->setEnabled(true);
-
- m_iStatus = KVI_SCRIPT_SOCKET_STATUS_LISTENING;
-
- buffer.append('1');
-
- return c->leaveStackFrame();
-}
-
-void KviScriptSocketObject::incomingConnection(int)
-{
-#ifdef COMPILE_IPV6_SUPPORT
- struct sockaddr_in6 hostSockAddr6;
-#endif
- struct sockaddr_in hostSockAddr;
-
- int size = sizeof(hostSockAddr);
- struct sockaddr * addr = (struct sockaddr *)&hostSockAddr;
-
-#ifdef COMPILE_IPV6_SUPPORT
- if(m_bIpV6)
- {
- addr = (struct sockaddr *)&hostSockAddr6;
- size = sizeof(hostSockAddr6);
- }
-#endif
-
- // Incoming connection
- m_secondarySock = kvi_socket_accept(m_sock,addr,&size);
- if(m_secondarySock != KVI_INVALID_SOCKET)
- {
- // Connected
-#ifdef COMPILE_IPV6_SUPPORT
- if(m_bIpV6)
- {
- m_uSecondaryPort = ntohs(((struct sockaddr_in6 *)addr)->sin6_port);
- if(!kvi_binaryIpToStringIp_V6(((struct sockaddr_in6 *)addr)->sin6_addr,m_szSecondaryIp))
- m_szSecondaryIp = __tr("unknown");
- } else {
-#endif
- m_uSecondaryPort = ntohs(((struct sockaddr_in *)addr)->sin_port);
- if(!kvi_binaryIpToStringIp(((struct sockaddr_in *)addr)->sin_addr,m_szSecondaryIp))
- m_szSecondaryIp = __tr("unknown");
-#ifdef COMPILE_IPV6_SUPPORT
- }
-#endif
- callEventFunction("incomingConnectionEvent",0,0);
- if(m_secondarySock != KVI_INVALID_SOCKET)
- {
- kvi_socket_close(m_secondarySock);
- m_secondarySock = KVI_INVALID_SOCKET;
- m_uSecondaryPort = 0;
- m_szSecondaryIp.clear();
- }
-
- } // else..huh ?... wait for the next notifier call
-}
-
-void KviScriptSocketObject::acceptConnection(kvi_socket_t s,unsigned short int uPort,const char * szIp)
-{
- reset();
- m_sock = s;
- m_uRemotePort = uPort;
- m_szRemoteIp = szIp;
-#ifdef COMPILE_IPV6_SUPPORT
- KviSockaddr sareal(0,m_bIpV6);
-#else
- KviSockaddr sareal(0,false);
-#endif
-
- int size = (int)sareal.addressLength();
-
- if(kvi_socket_getsockname(m_sock,sareal.socketAddress(),&size))
- {
- m_uLocalPort = sareal.port();
- sareal.getStringAddress(m_szLocalIp);
- }
-
- m_iStatus = KVI_SCRIPT_SOCKET_STATUS_CONNECTED;
-
- m_pSn = new QSocketNotifier((int)m_sock,QSocketNotifier::Read);
- QObject::connect(m_pSn,SIGNAL(activated(int)),this,SLOT(readNotifierFired(int)));
- m_pSn->setEnabled(true);
-}
-
-
-bool KviScriptSocketObject::functionAccept(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- ENTER_STACK_FRAME(c,"socket::accept");
-
- KviScriptObject * ob = g_pScriptObjectController->lookupObject(params->safeFirstParam());
-
- if(!ob)
- {
- c->warning(__tr("No socket object specified"));
- return c->leaveStackFrame();
- }
-
- if(!ob->inherits("KviScriptSocketObject"))
- {
- c->warning(__tr("Invalid socket object specified (it doesn't inherit from socket)"));
- return c->leaveStackFrame();
- }
-
- if(m_secondarySock != KVI_INVALID_SOCKET)
- {
- ((KviScriptSocketObject *)ob)->acceptConnection(m_secondarySock,m_uSecondaryPort,m_szSecondaryIp.ptr());
-
- m_secondarySock = KVI_INVALID_SOCKET;
- m_uSecondaryPort = 0;
- m_szSecondaryIp.clear();
- } else {
- c->warning(__tr("There is no connection to accept!"));
- }
- return c->leaveStackFrame();
-}
-
-bool KviScriptSocketObject::functionConnect(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- ENTER_STACK_FRAME(c,"socket::connect");
- if((m_sock != KVI_INVALID_SOCKET) || (m_iStatus != KVI_SCRIPT_SOCKET_STATUS_DISCONNECTED))
- {
- c->warning(__tr("Another connection in progress"));
- buffer.append("0");
- return c->leaveStackFrame();
- }
-
- m_szRemoteIp = params->safeFirstParam();
- KviStr szRemotePort = params->safeNextParam();
- bool bOk;
- m_uRemotePort = szRemotePort.toUShort(&bOk);
- if(!bOk)
- {
- c->warning(__tr("Invalid port (%s)"),szRemotePort.ptr());
- buffer.append('0');
- return c->leaveStackFrame();
- }
-
-#ifdef COMPILE_IPV6_SUPPORT
- if(kvi_isValidStringIp(m_szRemoteIp.ptr()) || kvi_isValidStringIp_V6(m_szRemoteIp.ptr()))
-#else
- if(kvi_isValidStringIp(m_szRemoteIp.ptr()))
-#endif
- {
- m_iStatus = KVI_SCRIPT_SOCKET_STATUS_CONNECTING;
- delayedConnect();
- } else {
- m_iStatus = KVI_SCRIPT_SOCKET_STATUS_DNS;
- delayedLookupRemoteIp();
- }
- buffer.append('1');
- return c->leaveStackFrame();
-}
-
-void KviScriptSocketObject::delayedConnect()
-{
- if(m_pDelayTimer)delete m_pDelayTimer;
- m_pDelayTimer = new QTimer();
- connect(m_pDelayTimer,SIGNAL(timeout()),this,SLOT(doConnect()));
- m_pDelayTimer->start(0,true);
-}
-
-void KviScriptSocketObject::doConnect()
-{
- if(m_pDelayTimer)delete m_pDelayTimer;
- m_pDelayTimer = 0;
-
-
- KviSockaddr sa(m_szRemoteIp.ptr(),m_uRemotePort,!kvi_isValidStringIp(m_szRemoteIp.ptr()));
-
- if(!sa.socketAddress())
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(KviStr::Format,__tr("Invalid ip address (%s)"),m_szRemoteIp.ptr())));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- }
-
-
- // create the socket
-#ifdef COMPILE_IPV6_SUPPORT
- m_bIpV6 = sa.isIpV6();
- m_sock = kvi_socket_create(sa.isIpV6() ? KVI_SOCKET_PF_INET6 : KVI_SOCKET_PF_INET,KVI_SOCKET_TYPE_STREAM,KVI_SOCKET_PROTO_TCP);
-#else
- m_bIpV6 = false;
- m_sock = kvi_socket_create(KVI_SOCKET_PF_INET,KVI_SOCKET_TYPE_STREAM,KVI_SOCKET_PROTO_TCP);
-#endif
-
- if(m_sock == KVI_INVALID_SOCKET)
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(__tr("Failed to create the socket"))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- }
-
- if(!kvi_socket_setNonBlocking(m_sock))
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(__tr("Failed to setup a nonblocking socket"))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- }
-
- if(!kvi_socket_connect(m_sock,sa.socketAddress(),((int)(sa.addressLength()))))
- {
- int err = kvi_socket_error();
- if(!kvi_socket_recoverableConnectError(err))
- {
- // Ops...
- int sockError=err;
- if(sockError==0)
- {
- // Zero error ?...let's look closer
- int iSize=sizeof(int);
- if(!kvi_socket_getsockopt(m_sock,SOL_SOCKET,SO_ERROR,
- (void *)&sockError,&iSize))sockError=0;
- }
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(KviStr::Format,__tr("Connect failure: %s"),KviError::getDescription(KviError::translateSystemError(sockError)).utf8().data())));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- }
- }
-
- m_pDelayTimer = new QTimer();
- connect(m_pDelayTimer,SIGNAL(timeout()),this,SLOT(connectTimeout()));
- m_pDelayTimer->start(m_uConnectTimeout,true);
-
- m_pSn = new QSocketNotifier((int)m_sock,QSocketNotifier::Write);
- QObject::connect(m_pSn,SIGNAL(activated(int)),this,SLOT(writeNotifierFired(int)));
- m_pSn->setEnabled(true);
-}
-
-void KviScriptSocketObject::connectTimeout()
-{
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(__tr("Connect attempt timed out"))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
-}
-/*
-void KviScriptSocketObject::delayedLookupRemoteIp()
-{
- if(m_pDelayTimer)delete m_pDelayTimer;
- m_pDelayTimer = new QTimer();
- connect(m_pDelayTimer,SIGNAL(timeout()),this,SLOT(lookupRemoteIp()));
- m_pDelayTimer->start(0,true);
-}
-
-void KviScriptSocketObject::lookupRemoteIp()
-{
- if(m_pDelayTimer)delete m_pDelayTimer;
- m_pDelayTimer = 0;
- if(m_pDns)delete m_pDns;
- m_pDns = new KviDns();
- connect(m_pDns,SIGNAL(lookupDone(KviDns *)),this,SLOT(lookupDone(KviDns *)));
- if(!m_pDns->lookup(m_szRemoteIp.ptr(),KviDns::Any))
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(__tr("Can't start the DNS thread"))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- }
-}
-
-void KviScriptSocketObject::lookupDone(KviDns *pDns)
-{
- if(pDns->state() != KviDns::Success)
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(KviError::getDescription(pDns->error()))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- }
- m_szRemoteIp = pDns->firstIpAddress();
- delete m_pDns;
- m_pDns = 0;
- doConnect();
-}
-
-void KviScriptSocketObject::writeNotifierFired(int)
-{
- if(m_pSn)
- {
- delete m_pSn;
- m_pSn = 0;
- }
- if(m_pDelayTimer)
- {
- delete m_pDelayTimer;
- m_pDelayTimer = 0;
- }
-
- // Check for errors...
- int sockError;
- int iSize=sizeof(int);
- if(!kvi_socket_getsockopt(m_sock,SOL_SOCKET,SO_ERROR,(void *)&sockError,&iSize))sockError = -1;
- //sockError = 0;
- if(sockError != 0)
- {
- //debug("Failed here %d",sockError);
- //failed
- if(sockError > 0)sockError = KviError::translateSystemError(sockError);
- else sockError = KviError_unknownError; //Error 0 ?
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectFailedEvent",0,new KviParameterList(
- new KviStr(KviError::getDescription(sockError))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- } else {
- // Succesfully connected
- // create the correct read notifier now...
- m_pSn = new QSocketNotifier((int)m_sock,QSocketNotifier::Read);
- QObject::connect(m_pSn,SIGNAL(activated(int)),this,SLOT(readNotifierFired(int)));
- m_pSn->setEnabled(true);
-
-#ifdef COMPILE_IPV6_SUPPORT
- KviSockaddr sareal(0,m_bIpV6);
-#else
- KviSockaddr sareal(0,false);
-#endif
- int size = (int)sareal.addressLength();
- if(kvi_socket_getsockname(m_sock,sareal.socketAddress(),&size))
- {
- m_uLocalPort = sareal.port();
- sareal.getStringAddress(m_szLocalIp);
- }
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("connectEvent",0,0);
- if(m_uConnectionId == uOldConnectionId)
- m_iStatus = KVI_SCRIPT_SOCKET_STATUS_CONNECTED;
- // else the connection has been already changed!
- }
-}
-
-void KviScriptSocketObject::readNotifierFired(int)
-{
- //read data
- if((m_uInBufferLen - m_uInDataLen) < KVI_READ_CHUNK)
- {
- m_uInBufferLen += KVI_IN_BUFFER_ALLOC_CHUNK;
- m_pInBuffer = (char *)kvi_realloc(m_pInBuffer,m_uInBufferLen);
- }
-
- int readLength = kvi_socket_recv(m_sock,m_pInBuffer + m_uInDataLen,KVI_READ_CHUNK);
-
- if(readLength <= 0)
- {
- if(readLength==0)
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("disconnectEvent",0,0);
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- } else {
- //check for transmission errors
- int err = kvi_socket_error();
-#ifdef COMPILE_ON_WINDOWS
- if((err != EAGAIN) && (err != EINTR) && (err != WSAEWOULDBLOCK))
-#else
- if((err != EAGAIN) && (err != EINTR))
-#endif
- {
- unsigned int uOldConnectionId = m_uConnectionId;
- if(err > 0)
- {
- callEventFunction("disconnectEvent",0,new KviParameterList(
- new KviStr(KviError::getDescription(KviError::translateSystemError(err)))));
- } else {
- callEventFunction("disconnectEvent",0,new KviParameterList(
- new KviStr(KviError::getDescription(KviError_remoteEndClosedConnection))));
- }
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- } //else transient error...wait again...
- }
- return; // can do nothing
- }
- // readLength > 0
- m_uInDataLen += readLength;
-
- KviStr * s = new KviStr();
- s->setNum(m_uInDataLen);
-
-
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("dataAvailableEvent",0,new KviParameterList(s));
- if(m_uConnectionId == uOldConnectionId)
- {
- if(m_uInDataLen > (4096 * 1024)) // too much data in buffer (not reading)
- {
- callEventFunction("disconnectEvent",0,new KviParameterList(
- new KviStr(__tr("Too much unprocessed incoming data (you've left this socket unmanaged ?)"))));
- reset();
- }
- }
-}
-
-void KviScriptSocketObject::eatInData(unsigned int uLen)
-{
- if(uLen > m_uInDataLen)uLen = m_uInDataLen;
-
- m_uInDataLen -= uLen;
-
- if(m_uInDataLen > 0)
- {
- kvi_memmove(m_pInBuffer,m_pInBuffer + uLen,m_uInDataLen);
- }
-
- unsigned int uSpace = m_uInBufferLen - m_uInDataLen;
-
- if(uSpace > KVI_IN_BUFFER_ALLOC_CHUNK)
- {
- m_uInBufferLen -= KVI_IN_BUFFER_ALLOC_CHUNK;
- m_pInBuffer = (char *)kvi_realloc(m_pInBuffer,m_uInBufferLen);
- }
-}
-
-unsigned int KviScriptSocketObject::readGetLength(KviParameterList * params)
-{
- KviStr * pszLen = params->safeFirst();
- unsigned int uLen = m_uInDataLen;
- if(pszLen)
- {
- bool bOk;
- uLen = pszLen->toInt(&bOk);
- if(!bOk)uLen = m_uInDataLen;
- }
-
- if(uLen > m_uInDataLen)uLen = m_uInDataLen;
- return uLen;
-}
-
-bool KviScriptSocketObject::functionRead(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- unsigned int uLen = readGetLength(params);
-
- if(uLen > 0)
- {
- // convert NULLS to char 255
- for(unsigned int i = 0;i < uLen;i++)
- {
- if(!m_pInBuffer[i])m_pInBuffer[i] = (char)(255);
- }
-
- buffer.append(m_pInBuffer,uLen);
-
- eatInData(uLen);
- }
- return true;
-}
-
-bool KviScriptSocketObject::functionReadHex(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- unsigned int uLen = readGetLength(params);
-
- if(uLen > 0)
- {
- KviStr szTmp;
- szTmp.bufferToHex(m_pInBuffer,uLen);
- buffer.append(szTmp);
- eatInData(uLen);
- }
- return true;
-}
-
-bool KviScriptSocketObject::functionWrite(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- KviStr * pszData = params->safeFirst();
-
- if(pszData)
- {
- if(pszData->len() > 0)
- {
- m_pOutBuffer->append((const unsigned char *)(pszData->ptr()),pszData->len());
- delayedFlush(0);
- }
- }
- return true;
-}
-
-bool KviScriptSocketObject::functionWriteHex(KviCommand *c,KviParameterList * params,KviStr &buffer)
-{
- KviStr * pszData = params->safeFirst();
- int len = 0;
- if(pszData)
- {
- if(pszData->len() > 0)
- {
- char * ptr;
- len = pszData->hexToBuffer(&ptr);
- if(len > 0)
- {
- m_pOutBuffer->append((const unsigned char *)(ptr),len);
- delayedFlush(0);
- KviStr::freeBuffer(ptr);
- }
- }
- }
- buffer.append(KviStr::Format,"%d",len);
- return true;
-}
-
-void KviScriptSocketObject::delayedFlush(unsigned int uTimeout)
-{
- if(m_pFlushTimer->isActive())m_pFlushTimer->stop();
- m_pFlushTimer->start(uTimeout);
-}
-
-void KviScriptSocketObject::tryFlush()
-{
- if(m_pFlushTimer->isActive())m_pFlushTimer->stop();
-
- if(m_pOutBuffer->size() == 0)
- {
- return;
- }
-
- int result = kvi_socket_send(m_sock,m_pOutBuffer->data(),m_pOutBuffer->size());
-
- if(result >= 0)
- {
- if(result == m_pOutBuffer->size())
- {
- m_pOutBuffer->clear();
- } else {
- if(result > 0)m_pOutBuffer->remove(result);
- delayedFlush(500);
- }
- } else {
- // Oops...error ?
- int err = kvi_socket_error();
-#ifdef COMPILE_ON_WINDOWS
- if((err == EAGAIN) || (err == EINTR) || (err = WSAEWOULDBLOCK))
-#else
- if((err == EAGAIN)||(err == EINTR))
-#endif
- {
- // Transient error...partial send as before...
- // Async continue...
- delayedFlush(500);
- return;
- } else {
- // Disconnected... :(
- unsigned int uOldConnectionId = m_uConnectionId;
- callEventFunction("disconnectEvent",0,new KviParameterList(
- new KviStr(KviError::getDescription(KviError::translateSystemError(err)))));
- if(m_uConnectionId == uOldConnectionId)reset();
- // else it has already been called!
- return;
- }
- }
-}
-
-*/
-//===========================================================================
KVSO_BEGIN_REGISTERCLASS(KviKvsObject_socket,"socket","object")
KVSO_REGISTER_HANDLER(KviKvsObject_socket,"status",functionStatus)
@@ -1273,7 +447,7 @@ bool KviKvsObject_socket::functionConnectTimeout(KviKvsObjectFunctionCall *c)
bool KviKvsObject_socket::functionSetConnectTimeout(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uTimeout;
+ kvs_uint_t uTimeout;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("time_out",KVS_PT_UNSIGNEDINTEGER,0,uTimeout)
KVSO_PARAMETERS_END(c)
@@ -1305,12 +479,6 @@ bool KviKvsObject_socket::functionLocalIp(KviKvsObjectFunctionCall *c)
return true;
}
-
-
-
-
-
-
bool KviKvsObject_socket::functionAccept(KviKvsObjectFunctionCall *c)
{
KviKvsObject * pObject;
@@ -1349,8 +517,6 @@ bool KviKvsObject_socket::functionAccept(KviKvsObjectFunctionCall *c)
-
-
bool KviKvsObject_socket::functionWriteHex(KviKvsObjectFunctionCall *c)
{
QString m_szHex;
@@ -1398,7 +564,6 @@ bool KviKvsObject_socket::functionWriteHex(KviKvsObjectFunctionCall *c)
bool KviKvsObject_socket::functionConnect(KviKvsObjectFunctionCall *c)
{
-
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("remote_ip",KVS_PT_STRING,0,m_szRemoteIp)
KVSO_PARAMETER("remote_port",KVS_PT_UNSIGNEDINTEGER,0,m_uRemotePort)
@@ -1452,7 +617,7 @@ bool KviKvsObject_socket::functionListen(KviKvsObjectFunctionCall *c)
c->returnValue()->setBoolean(false);
return true;
}
- kvs_int_t uLocalPort;
+ kvs_uint_t uLocalPort;
QString m_szLocalIp;
bool m_bIpV6;
KVSO_PARAMETERS_BEGIN(c)
diff --git a/src/modules/objects/class_tabwidget.cpp b/src/modules/objects/class_tabwidget.cpp
index 7ddaf4fbf..351fa7045 100644
--- a/src/modules/objects/class_tabwidget.cpp
+++ b/src/modules/objects/class_tabwidget.cpp
@@ -48,7 +48,7 @@
@functions:
!fn: $addTab(<widget:object>,<text_label:string>,[<icon_id>])
Adds another page to the tab view with the text label and optional icon.
- !fn: $insertTab(<widget:object>,<tex_label:string>,<index:integer>)
+ !fn: $insertTab(<widget:object>,<tex_label:string>,<index:uinteger>)
Inserts another tab and page to the tab view with name and label-text specified.[br]
If index is not specified, the tab is simply appended.[br]
Otherwise the new tab is inserted at the specified position.
@@ -60,16 +60,16 @@
Sets the tab label for <tab_widget> to label.
!fn: $changeTab(<tab_widget:object>,<label:text>,[<icon_id>])
Defines a new label, and optional icon, for the tab .
- !fn: $setCurrentPage(<index:integer>)
+ !fn: $setCurrentPage(<index:uinteger>)
Sets the index position of the current tab page to <index>.
!fn: <integer> $currentPageIndex()
Returns the current page index.
- !fn: <string> $label(<index:integer>)
+ !fn: <string> $label(<index:uinteger>)
Retunrs the label to the <index>.
!fn: <string> $currentTabLabel()
Returns the label of the current tab.
!fn: $setMargin(<margin:integer>)
- Sets the margin in this tab widget to <number int>.
+ Sets the margin in this tab widget to <margin>.
!fn: <integer> $margin()
Returns the margin in this tab widget.
!fn: $removePage(<tab_widget:object>)
@@ -224,7 +224,7 @@ bool KviKvsObject_tabwidget::functioninsertTab(KviKvsObjectFunctionCall *c)
{
KviKvsObject *ob;
QString szLabel,szIcon;
- kvs_int_t uIndex;
+ kvs_uint_t uIndex;
kvs_hobject_t hObject;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject)
@@ -257,11 +257,11 @@ bool KviKvsObject_tabwidget::functioninsertTab(KviKvsObjectFunctionCall *c)
bool KviKvsObject_tabwidget::functionsetCurrentPage(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iIndex;
+ kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("index",KVS_PT_INT,0,iIndex)
+ KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex)
KVSO_PARAMETERS_END(c)
- if (widget()) ((QTabWidget *)widget())->setCurrentPage(iIndex);
+ if (widget()) ((QTabWidget *)widget())->setCurrentPage(uIndex);
return true;
}
bool KviKvsObject_tabwidget::functionsetTabToolTip(KviKvsObjectFunctionCall *c)
@@ -375,22 +375,22 @@ bool KviKvsObject_tabwidget::functioncurrentPageIndex(KviKvsObjectFunctionCall *
}
bool KviKvsObject_tabwidget::functiontabLabel(KviKvsObjectFunctionCall *c)
{
- kvs_int_t iIndex;
+ kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("index",KVS_PT_INT,0,iIndex)
+ KVSO_PARAMETER("index",KVS_PT_INT,0,uIndex)
KVSO_PARAMETERS_END(c)
if (!widget()) return true;
- QString label=((QTabWidget *)widget())->label(iIndex);
+ QString label=((QTabWidget *)widget())->label(uIndex);
c->returnValue()->setString(label);
return true;
}
bool KviKvsObject_tabwidget::functionsetMargin(KviKvsObjectFunctionCall *c)
{
- kvs_int_t uMargin;
+ kvs_int_t iMargin;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("margin",KVS_PT_UNSIGNEDINTEGER,0,uMargin)
+ KVSO_PARAMETER("margin",KVS_PT_INT,0,iMargin)
KVSO_PARAMETERS_END(c)
- if (widget()) ((QTabWidget *)widget())->setMargin(uMargin);
+ if (widget()) ((QTabWidget *)widget())->setMargin(iMargin);
return true;
}
bool KviKvsObject_tabwidget::functionmargin(KviKvsObjectFunctionCall *c)
diff --git a/src/modules/objects/class_urllabel.cpp b/src/modules/objects/class_urllabel.cpp
index 454b1ab6e..f37d76e20 100644
--- a/src/modules/objects/class_urllabel.cpp
+++ b/src/modules/objects/class_urllabel.cpp
@@ -157,137 +157,7 @@ bool KviScriptUrlLabelObject::eventFilter(QObject * o, QEvent * e)
Returns true if the label reacts on single clicks, false if it
reacts only on double clicks.
*/
-/*
-#define urlLabelFuncReg(__nam, __func) \
- g_pUrlLabelClass->registerFunctionHandler(__nam, \
- (KviScriptObjectFunctionHandlerProc)(KVI_PTR2MEMBER(KviScriptUrlLabelObject::__func)),\
- 0, true);
-
-void KviScriptUrlLabelObject::registerSelf()
-{
- KviScriptObjectClass * base = g_pScriptObjectController-> \
- lookupClass("label");
- __range_valid(base);
-
- g_pUrlLabelClass = new KviScriptObjectClass(base, "urllabel",
- urlLabelClassCreateInstance, true);
-
- urlLabelFuncReg("setUrl", functionSetUrl);
- urlLabelFuncReg("url", functionUrl);
- urlLabelFuncReg("setAction", functionSetAction);
- urlLabelFuncReg("action", functionAction);
- urlLabelFuncReg("setText", functionSetText);
- urlLabelFuncReg("setCursorChange", functionSetCursorChange);
- urlLabelFuncReg("cursorChange", functionCursorChange);
- urlLabelFuncReg("setUseSingleClick", functionSetUseSingleClick);
- urlLabelFuncReg("useSingleClick", functionUseSingleClick);
-}
-
-void KviScriptUrlLabelObject::unregisterSelf()
-{
- delete g_pUrlLabelClass;
- g_pUrlLabelClass = 0;
-}
-
-bool KviScriptUrlLabelObject::functionSetUrl(KviCommand * c, KviParameterList * p, \
- KviStr & b)
-{
- if(!widget())
- return true;
-
- ENTER_STACK_FRAME(c, "urllabel::setUrl");
-
- KviStr * url = p->first();
- if(url->isEmpty())
- return c->error(KviError_notEnoughParameters);
-
- m_url = url->ptr();
- return c->leaveStackFrame();
-}
-
-bool KviScriptUrlLabelObject::functionUrl(KviCommand * c, KviParameterList * p, \
- KviStr & b)
-{
- b.append(m_url);
- return true;
-}
-
-bool KviScriptUrlLabelObject::functionSetAction(KviCommand * c, KviParameterList * p,\
- KviStr & b)
-{
- if(!widget())
- return true;
-
- ENTER_STACK_FRAME(c, "urllabel::setAction");
-
- KviStr * act = p->first();
- if(act->isEmpty())
- return c->error(KviError_notEnoughParameters);
-
- m_action = act->ptr();
- return c->leaveStackFrame();
-}
-
-bool KviScriptUrlLabelObject::functionAction(KviCommand * c, KviParameterList * p,
- KviStr & b)
-{
- b.append(m_action);
- return true;
-}
-
-bool KviScriptUrlLabelObject::functionSetText(KviCommand * c, KviParameterList * p, \
- KviStr & b)
-{
- if(widget())
- {
- if(p->first())
- ((QLabel *)widget())->setText(p->first()->ptr());
- else
- ((QLabel *)widget())->setText("[!-NULL-!]");
- }
-
- ((QLabel *)widget())->setFixedSize(((QLabel *)widget())->sizeHint());
-
- return true;
-}
-
-bool KviScriptUrlLabelObject::functionSetCursorChange(KviCommand * c, \
- KviParameterList *p, KviStr & b)
-{
- if(!widget())
- return true;
-
- if(m_changeCursor = p->getBool())
- widget()->setCursor(Qt::pointingHandCursor);
- else
- widget()->setCursor(Qt::arrowCursor);
-
- return true;
-}
-
-bool KviScriptUrlLabelObject::functionCursorChange(KviCommand * c, \
- KviParameterList * p, KviStr & b)
-{
- b.append((m_changeCursor ? '1' : '0'));
- return true;
-}
-
-bool KviScriptUrlLabelObject::functionSetUseSingleClick(KviCommand * c, \
- KviParameterList * p, KviStr & b)
-{
- m_useSingleClick = p->getBool();
- return true;
-}
-
-bool KviScriptUrlLabelObject::functionUseSingleClick(KviCommand * c, \
- KviParameterList * p, KviStr & b)
-{
- b.append((m_useSingleClick ? '1' : '0'));
- return true;
-}
-*/
-// ========================================================================
KVSO_BEGIN_REGISTERCLASS(KviKvsObject_urlabel,"urlabel","label")
KVSO_REGISTER_HANDLER(KviKvsObject_urlabel,"setUrl",functionsetUrl)
diff --git a/src/modules/objects/class_vbox.cpp b/src/modules/objects/class_vbox.cpp
index 7a16f256b..d87a24c5c 100644
--- a/src/modules/objects/class_vbox.cpp
+++ b/src/modules/objects/class_vbox.cpp
@@ -41,9 +41,9 @@
@description:
The vbox class widget provides vertical geometry management for its child widgets.
@functions:
- !fn: $setSpacing(<spacing:uint>)
+ !fn: $setSpacing(<spacing:int>)
Sets the default spacing of the widgets in pixels
- !fn: $setMargin(<margin:uint>)
+ !fn: $setMargin(<margin:int>)
Sets the dimension of the layout margin : the distance from the border to the outermost child widget edges.
!fn: $setStretchFactor(<widget:hobject>,<stretch:uint>)
Sets the stretch factor of widget to stretch.
@@ -73,21 +73,21 @@ bool KviKvsObject_vbox::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *
bool KviKvsObject_vbox::functionsetMargin(KviKvsObjectFunctionCall *c)
{
- kvs_uint_t uMargin;
+ kvs_int_t iMargin;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("margin",KVS_PT_UNSIGNEDINTEGER,0,uMargin)
+ KVSO_PARAMETER("margin",KVS_PT_INT,0,iMargin)
KVSO_PARAMETERS_END(c)
- if (widget()) ((QVBox *)widget())->setMargin(uMargin);
+ if (widget()) ((QVBox *)widget())->setMargin(iMargin);
return true;
}
bool KviKvsObject_vbox::functionsetSpacing(KviKvsObjectFunctionCall *c)
{
- kvs_uint_t uSpacing;
+ kvs_int_t iSpacing;
KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("spacing",KVS_PT_UNSIGNEDINTEGER,0,uSpacing)
+ KVSO_PARAMETER("spacing",KVS_PT_INT,0,iSpacing)
KVSO_PARAMETERS_END(c)
- if (widget()) ((QVBox *)widget())->setSpacing(uSpacing);
+ if (widget()) ((QVBox *)widget())->setSpacing(iSpacing);
return true;
}
diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp
index 856006cce..c20de62dc 100644
--- a/src/modules/objects/class_widget.cpp
+++ b/src/modules/objects/class_widget.cpp
@@ -392,7 +392,10 @@ const int widgettypes_cod[] = {
!fn: integer $globalCursorX()
Return the x coordinate of mouse pointer global position.
!fn: integer $globalCursorY()
- Return the y coordinate of the mouse pointer global position.
+ Return the y coordinate of the mo>use pointer global position.
+ !fn: setDynamicTooltip(<text:string>,<x:integer>,<y:integer>,<width:uinteger>,<height:uinteger>)
+ 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]
%Widget = $new(widget)
@@ -562,8 +565,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,"enableDynamicToolTip",function_enableDynamicToolTip)
- KVSO_REGISTER_HANDLER(KviKvsObject_widget,"disableDynamicToolTip",function_disableDynamicToolTip)
KVSO_REGISTER_HANDLER(KviKvsObject_widget,"setDynamicToolTip",function_setDynamicToolTip)
// events
@@ -1616,27 +1617,14 @@ bool KviKvsObject_widget::function_globalCursorY(KviKvsObjectFunctionCall *c)
if(widget())c->returnValue()->setInteger(QCursor::pos().y());
return true;
}
-bool KviKvsObject_widget::function_enableDynamicToolTip(KviKvsObjectFunctionCall *c)
-{
- if (!m_pTip) m_pTip=new KviKvsTip(this,widget());
- return true;
-}
-bool KviKvsObject_widget::function_disableDynamicToolTip(KviKvsObjectFunctionCall *c)
-{
- if (m_pTip)
- {
- delete m_pTip;
- m_pTip=0;
- }
- 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,uWidth,uHeight;
+ 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)
diff --git a/src/modules/objects/class_widget.h b/src/modules/objects/class_widget.h
index 38f7a5414..c0fe565c9 100644
--- a/src/modules/objects/class_widget.h
+++ b/src/modules/objects/class_widget.h
@@ -99,8 +99,6 @@ protected:
bool function_width(KviKvsObjectFunctionCall *);
bool function_x(KviKvsObjectFunctionCall *);
bool function_y(KviKvsObjectFunctionCall *);
- bool function_enableDynamicToolTip(KviKvsObjectFunctionCall *c);
- bool function_disableDynamicToolTip(KviKvsObjectFunctionCall *c);
bool function_setDynamicToolTip(KviKvsObjectFunctionCall *c);
signals:
diff --git a/src/modules/objects/libkviobjects.cpp b/src/modules/objects/libkviobjects.cpp
index 2d6412c3f..4606c2083 100644
--- a/src/modules/objects/libkviobjects.cpp
+++ b/src/modules/objects/libkviobjects.cpp
@@ -63,6 +63,7 @@
#include "class_radiobutton.h"
#include "class_process.h"
#include "class_groupbox.h"
+#include "class_buttongroup.h"
#include "class_tabwidget.h"
#include "class_workspace.h"
#include "class_popupmenu.h"
@@ -121,6 +122,7 @@ static bool objects_module_cleanup(KviModule *m)
KviKvsObject_hbox::unregisterSelf();
KviKvsObject_vbox::unregisterSelf();
KviKvsObject_label::unregisterSelf();
+ KviKvsObject_buttongroup::unregisterSelf();
KviKvsObject_groupbox::unregisterSelf();
KviKvsObject_dialog::unregisterSelf();
KviKvsObject_checkbox::unregisterSelf();
@@ -927,6 +929,7 @@ static bool objects_module_can_unload(KviModule *m)
KviKvsObject_checkbox::registerSelf();
KviKvsObject_dialog::registerSelf();
KviKvsObject_groupbox::registerSelf();
+ KviKvsObject_buttongroup::registerSelf();
KviKvsObject_label::registerSelf();
KviKvsObject_vbox::registerSelf();
KviKvsObject_hbox::registerSelf();
diff --git a/src/modules/objects/objects_vc05.vcproj b/src/modules/objects/objects_vc05.vcproj
index 0981e8304..202c3895a 100644
--- a/src/modules/objects/objects_vc05.vcproj
+++ b/src/modules/objects/objects_vc05.vcproj
@@ -214,6 +214,10 @@
>
</File>
<File
+ RelativePath=".\class_buttongroup.cpp"
+ >
+ </File>
+ <File
RelativePath=".\class_checkbox.cpp"
>
</File>
@@ -406,6 +410,19 @@
</FileConfiguration>
</File>
<File
+ RelativePath=".\class_buttongroup.h"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ CommandLine=""
+ Outputs=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
RelativePath=".\class_checkbox.h"
>
<FileConfiguration