aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/objects')
-rw-r--r--src/modules/objects/class_listview.cpp42
-rw-r--r--src/modules/objects/class_listview.h4
-rw-r--r--src/modules/objects/class_widget.cpp12
-rw-r--r--src/modules/objects/class_widget.h1
4 files changed, 42 insertions, 17 deletions
diff --git a/src/modules/objects/class_listview.cpp b/src/modules/objects/class_listview.cpp
index 2ccb4302a..82de3cd16 100644
--- a/src/modules/objects/class_listview.cpp
+++ b/src/modules/objects/class_listview.cpp
@@ -38,6 +38,11 @@
#include <QDragEnterEvent>
#include <QDropEvent>
#include <QUrl>
+#include <QTreeWidget>
+
+#define KviTalListView QTreeWidget
+
+
/*
@doc: listview
@@ -180,7 +185,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_listview,"listview","widget")
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"setRootIsDecorated",function_setRootIsDecorated)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"setAllColumnsShowFocus",function_setAllColumnsShowFocus)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"clear",function_clear)
- KVSO_REGISTER_HANDLER(KviKvsObject_listview,"selectedItem",function_selectedItem)
+ KVSO_REGISTER_HANDLER(KviKvsObject_listview,"selectedItems",function_selectedItems)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"currentItem",function_currentItem)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"setSelectionMode",function_setSelectionMode)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"listViewHeaderIsVisible",function_listViewHeaderIsVisible)
@@ -188,7 +193,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_listview,"listview","widget")
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"hideListViewHeader",function_hideListViewHeader)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"showListViewHeader",function_showListViewHeader)
- KVSO_REGISTER_HANDLER(KviKvsObject_listview,"firstChild",function_firstChild)
+// KVSO_REGISTER_HANDLER(KviKvsObject_listview,"firstChild",function_firstChild)
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"selectionChangedEvent",function_selectionChangedEvent);
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"currentChangedEvent",function_currentChangedEvent);
KVSO_REGISTER_HANDLER(KviKvsObject_listview,"returnPressedEvent",function_returnPressedEvent);
@@ -238,8 +243,12 @@ bool KviKvsObject_listview::function_addColumn(KviKvsObjectFunctionCall *c)
KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel)
KVSO_PARAMETER("width",KVS_PT_INT,0,iW)
KVSO_PARAMETERS_END(c)
- if (widget())
- ((KviTalListView *)object())->addColumn(szLabel,iW);
+ int col=((KviTalListView *)widget())->columnCount();
+ col++;
+ ((KviTalListView *)widget())->setColumnCount(col);
+ QTreeWidgetItem *item = ((KviTalListView *)widget())->headerItem();
+ item->setText(col-1,szLabel);
+ if (iW>0) ((KviTalListView *)widget())->setColumnWidth(col-1,iW);
return true;
}
/*
@@ -261,15 +270,19 @@ bool KviKvsObject_listview::function_clear(KviKvsObjectFunctionCall *c)
return true;
}
-bool KviKvsObject_listview::function_selectedItem(KviKvsObjectFunctionCall *c)
+bool KviKvsObject_listview::function_selectedItems(KviKvsObjectFunctionCall *c)
{
- if(widget())
- c->returnValue()->setHObject(KviKvsObject_listviewitem::itemToHandle(((KviTalListView *)widget())->selectedItem()));
- else
- c->returnValue()->setHObject((kvs_hobject_t)0);
+ KviKvsArray * a = new KviKvsArray();
+ QList<QTreeWidgetItem *> selectedItems=((KviTalListView *)widget())->selectedItems();
+ if (!selectedItems.count()) return true;
+ for (int i=0;i<selectedItems.count();i++)
+ {
+ a->set(i,new KviKvsVariant(KviKvsObject_listviewitem::itemToHandle((KviTalListViewItem *)selectedItems.at(i))));
+ }
+ c->returnValue()->setArray(a);
return true;
}
-
+/*
bool KviKvsObject_listview::function_firstChild(KviKvsObjectFunctionCall *c)
{
if(widget())
@@ -278,11 +291,12 @@ bool KviKvsObject_listview::function_firstChild(KviKvsObjectFunctionCall *c)
c->returnValue()->setHObject((kvs_hobject_t)0);
return true;
}
-
+*/
bool KviKvsObject_listview::function_currentItem(KviKvsObjectFunctionCall *c)
{
- if(widget())
- c->returnValue()->setHObject(KviKvsObject_listviewitem::itemToHandle(((KviTalListView *)widget())->currentItem()));
+ if(widget()){
+ KviTalListViewItem *
+ c->returnValue()->setHObject(KviKvsObject_listviewitem::itemToHandle((KviTalListViewItem *)((KviTalListView *)widget())->currentItem()));
else
c->returnValue()->setHObject((kvs_hobject_t)0);
return true;
@@ -312,7 +326,7 @@ bool KviKvsObject_listview::function_setSelectionMode(KviKvsObjectFunctionCall *
else if(KviQString::equalCI(szMode,"Multi"))
((KviTalListView *)widget())->setSelectionMode(KviTalListView::Multi);
else if(KviQString::equalCI(szMode,"Extended"))
- ((KviTalListView *)widget())->setSelectionMode(KviTalListView::Extended);
+ ((KviTalListView *)widget())->setSelectionMode(QAbstractItemView::ExtendedSelection);
else if(KviQString::equalCI(szMode,"Single"))
((KviTalListView *)widget())->setSelectionMode(KviTalListView::Single);
else c->warning(__tr2qs("Invalid selection mode '%Q'"),&szMode);
diff --git a/src/modules/objects/class_listview.h b/src/modules/objects/class_listview.h
index bfccbdd78..1aba7555d 100644
--- a/src/modules/objects/class_listview.h
+++ b/src/modules/objects/class_listview.h
@@ -62,10 +62,10 @@ protected:
bool function_itemCollapsedEvent(KviKvsObjectFunctionCall *c);
bool function_itemRenamedEvent(KviKvsObjectFunctionCall *c);
bool function_rightButtonClickedEvent(KviKvsObjectFunctionCall *c);
- bool function_selectedItem(KviKvsObjectFunctionCall *c);
+ bool function_selectedItems(KviKvsObjectFunctionCall *c);
bool function_currentItem(KviKvsObjectFunctionCall *c);
bool function_setSelectionMode(KviKvsObjectFunctionCall *c);
- bool function_firstChild(KviKvsObjectFunctionCall *c);
+ //bool function_firstChild(KviKvsObjectFunctionCall *c);
bool function_listViewHeaderIsVisible(KviKvsObjectFunctionCall *c);
bool function_showListViewHeader(KviKvsObjectFunctionCall *c);
bool function_hideListViewHeader(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp
index 5314a6863..51fbd5963 100644
--- a/src/modules/objects/class_widget.cpp
+++ b/src/modules/objects/class_widget.cpp
@@ -517,6 +517,9 @@ const Qt::WindowType widgettypes_cod[] = {
!fn: $insertIntoStatusBar(<index:unsigned integer>)
Insert the widget into the statusbar at the given index.
If index is out of range, the widget is appended.
+ See also [classfnc]$removeFromStatusBar[/classfnc]().
+ !fn: $removeFromStatusBar()
+ Remove the widget from statusbar.
@examples:
[example]
%Widget = $new(widget)
@@ -682,7 +685,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_widget,"widget","object")
// statusbar
KVSO_REGISTER_HANDLER(KviKvsObject_widget,"insertIntoStatusBar",function_insertIntoStatusBar)
-
+ KVSO_REGISTER_HANDLER(KviKvsObject_widget,"removeFromStatusBar",function_removeFromStatusBar)
// events
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"mousePressEvent")
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_widget,"mouseReleaseEvent")
@@ -1945,6 +1948,13 @@ bool KviKvsObject_widget::function_insertIntoStatusBar(KviKvsObjectFunctionCall
return true;
}
+bool KviKvsObject_widget::function_removeFromStatusBar(KviKvsObjectFunctionCall *c)
+{
+
+ if (widget()) g_pFrame->statusBar()->removeWidget(widget());
+ return true;
+}
+
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
#include "m_class_widget.moc"
#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES
diff --git a/src/modules/objects/class_widget.h b/src/modules/objects/class_widget.h
index 518b72beb..35521612f 100644
--- a/src/modules/objects/class_widget.h
+++ b/src/modules/objects/class_widget.h
@@ -76,6 +76,7 @@ protected:
bool function_raise(KviKvsObjectFunctionCall *);
bool function_repaint(KviKvsObjectFunctionCall *c);
bool function_insertIntoStatusBar(KviKvsObjectFunctionCall *c);
+ bool function_removeFromStatusBar(KviKvsObjectFunctionCall *c);
bool function_reparent(KviKvsObjectFunctionCall *c);
bool function_resize(KviKvsObjectFunctionCall *c);
bool function_screenResolution(KviKvsObjectFunctionCall * c);