Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
OpenWalnut
OpenWalnut Core
Commits
101f07de
Commit
101f07de
authored
Apr 19, 2010
by
Sebastian Eichelbaum
Browse files
[CHANGE] - simple testing code for module deletion
parent
d954fee4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
78 additions
and
48 deletions
+78
-48
src/gui/qt4/datasetbrowser/WQtDatasetBrowser.cpp
src/gui/qt4/datasetbrowser/WQtDatasetBrowser.cpp
+59
-44
src/gui/qt4/datasetbrowser/WQtDatasetBrowser.h
src/gui/qt4/datasetbrowser/WQtDatasetBrowser.h
+7
-3
src/gui/qt4/datasetbrowser/WQtTreeWidget.cpp
src/gui/qt4/datasetbrowser/WQtTreeWidget.cpp
+6
-0
src/gui/qt4/datasetbrowser/WQtTreeWidget.h
src/gui/qt4/datasetbrowser/WQtTreeWidget.h
+6
-1
No files found.
src/gui/qt4/datasetbrowser/WQtDatasetBrowser.cpp
View file @
101f07de
...
...
@@ -37,23 +37,22 @@
#include "../../../dataHandler/WDataSet.h"
#include "WQtDatasetBrowser.h"
#include "../../../kernel/WModuleFactory.h"
#include "../../../kernel/WKernel.h"
#include "../../../modules/data/WMData.h"
#include "../events/WModuleAssocEvent.h"
#include "../events/WRoiAssocEvent.h"
#include "../events/WRoiRemoveEvent.h"
#include "../events/WModuleReadyEvent.h"
#include "../events/WEventTypes.h"
#include "../guiElements/WQtApplyModulePushButton.h"
#include "../WMainWindow.h"
#include "WQtNumberEdit.h"
#include "WQtNumberEditDouble.h"
#include "WQtTextureSorter.h"
#include "WQtBranchTreeItem.h"
#include "../../../kernel/WModuleFactory.h"
#include "../WMainWindow.h"
#include "../../../modules/data/WMData.h"
#include "WQtDatasetBrowser.h"
WQtDatasetBrowser
::
WQtDatasetBrowser
(
WMainWindow
*
parent
)
:
QDockWidget
(
"Dataset Browser"
,
parent
)
...
...
@@ -61,14 +60,14 @@ WQtDatasetBrowser::WQtDatasetBrowser( WMainWindow* parent )
m_mainWindow
=
parent
;
m_panel
=
new
QWidget
(
this
);
m_
t
reeWidget
=
new
WQtTreeWidget
(
m_panel
);
m_
moduleT
reeWidget
=
new
WQtTreeWidget
(
m_panel
);
m_
t
reeWidget
->
setHeaderLabel
(
QString
(
"Dataset Browser"
)
);
m_
t
reeWidget
->
setDragEnabled
(
true
);
m_
t
reeWidget
->
viewport
()
->
setAcceptDrops
(
true
);
m_
t
reeWidget
->
setDropIndicatorShown
(
true
);
m_
t
reeWidget
->
setDragDropMode
(
QAbstractItemView
::
InternalMove
);
m_
t
reeWidget
->
setMinimumHeight
(
250
);
m_
moduleT
reeWidget
->
setHeaderLabel
(
QString
(
"Dataset Browser"
)
);
m_
moduleT
reeWidget
->
setDragEnabled
(
true
);
m_
moduleT
reeWidget
->
viewport
()
->
setAcceptDrops
(
true
);
m_
moduleT
reeWidget
->
setDropIndicatorShown
(
true
);
m_
moduleT
reeWidget
->
setDragDropMode
(
QAbstractItemView
::
InternalMove
);
m_
moduleT
reeWidget
->
setMinimumHeight
(
250
);
m_textureSorter
=
new
WQtTextureSorter
(
m_panel
);
m_textureSorter
->
setToolTip
(
"Reorder the textures."
);
...
...
@@ -78,7 +77,7 @@ WQtDatasetBrowser::WQtDatasetBrowser( WMainWindow* parent )
m_tabWidget
->
setMinimumHeight
(
220
);
m_layout
=
new
QVBoxLayout
();
m_layout
->
addWidget
(
m_
t
reeWidget
);
m_layout
->
addWidget
(
m_
moduleT
reeWidget
);
m_layout
->
addWidget
(
m_tabWidget2
);
...
...
@@ -102,7 +101,7 @@ WQtDatasetBrowser::WQtDatasetBrowser( WMainWindow* parent )
this
->
setFeatures
(
QDockWidget
::
DockWidgetMovable
|
QDockWidget
::
DockWidgetFloatable
);
this
->
setWidget
(
m_panel
);
m_tiModules
=
new
WQtModuleHeaderTreeItem
(
m_
t
reeWidget
);
m_tiModules
=
new
WQtModuleHeaderTreeItem
(
m_
moduleT
reeWidget
);
m_tiModules
->
setText
(
0
,
QString
(
"Modules"
)
);
m_tiRois
=
new
WQtRoiHeaderTreeItem
(
m_roiTreeWidget
);
m_tiRois
->
setText
(
0
,
QString
(
"ROIs"
)
);
...
...
@@ -118,9 +117,10 @@ WQtDatasetBrowser::WQtDatasetBrowser( WMainWindow* parent )
WPreferences
::
getPreference
(
"modules.whiteList"
,
&
moduleWhiteList
);
m_moduleWhiteList
=
string_utils
::
tokenize
(
moduleWhiteList
,
","
);
QShortcut
*
shortcut
=
new
QShortcut
(
QKeySequence
(
Qt
::
Key_Delete
),
m_roiTreeWidget
);
connect
(
shortcut
,
SIGNAL
(
activated
()
),
this
,
SLOT
(
deleteTreeItem
()
)
);
connect
(
shortcut
,
SIGNAL
(
activated
()
),
this
,
SLOT
(
deleteROITreeItem
()
)
);
QShortcut
*
shortcutDeleteModules
=
new
QShortcut
(
QKeySequence
(
Qt
::
Key_Backspace
),
m_moduleTreeWidget
);
connect
(
shortcutDeleteModules
,
SIGNAL
(
activated
()
),
this
,
SLOT
(
deleteModuleTreeItem
()
)
);
}
WQtDatasetBrowser
::~
WQtDatasetBrowser
()
...
...
@@ -130,8 +130,8 @@ WQtDatasetBrowser::~WQtDatasetBrowser()
void
WQtDatasetBrowser
::
connectSlots
()
{
connect
(
m_
t
reeWidget
,
SIGNAL
(
itemSelectionChanged
()
),
this
,
SLOT
(
selectTreeItem
()
)
);
connect
(
m_
t
reeWidget
,
SIGNAL
(
itemClicked
(
QTreeWidgetItem
*
,
int
)
),
this
,
SLOT
(
changeTreeItem
()
)
);
connect
(
m_
moduleT
reeWidget
,
SIGNAL
(
itemSelectionChanged
()
),
this
,
SLOT
(
selectTreeItem
()
)
);
connect
(
m_
moduleT
reeWidget
,
SIGNAL
(
itemClicked
(
QTreeWidgetItem
*
,
int
)
),
this
,
SLOT
(
changeTreeItem
()
)
);
connect
(
m_roiTreeWidget
,
SIGNAL
(
itemSelectionChanged
()
),
this
,
SLOT
(
selectRoiTreeItem
()
)
);
connect
(
m_roiTreeWidget
,
SIGNAL
(
itemClicked
(
QTreeWidgetItem
*
,
int
)
),
this
,
SLOT
(
changeRoiTreeItem
()
)
);
}
...
...
@@ -139,7 +139,7 @@ void WQtDatasetBrowser::connectSlots()
WQtSubjectTreeItem
*
WQtDatasetBrowser
::
addSubject
(
std
::
string
name
)
{
WQtSubjectTreeItem
*
subject
=
new
WQtSubjectTreeItem
(
m_
t
reeWidget
);
WQtSubjectTreeItem
*
subject
=
new
WQtSubjectTreeItem
(
m_
moduleT
reeWidget
);
subject
->
setText
(
0
,
QString
(
name
.
c_str
()
)
);
return
subject
;
...
...
@@ -215,7 +215,7 @@ bool WQtDatasetBrowser::event( QEvent* event )
"DatasetBrowser"
,
LL_DEBUG
);
// iterate tree items and find proper one
QTreeWidgetItemIterator
it
(
m_
t
reeWidget
);
QTreeWidgetItemIterator
it
(
m_
moduleT
reeWidget
);
while
(
*
it
)
{
WQtTreeItem
*
item
=
dynamic_cast
<
WQtTreeItem
*
>
(
*
it
);
...
...
@@ -256,10 +256,10 @@ bool WQtDatasetBrowser::event( QEvent* event )
WQtDatasetTreeItem
*
WQtDatasetBrowser
::
addDataset
(
boost
::
shared_ptr
<
WModule
>
module
,
int
subjectId
)
{
int
c
=
getFirstSubject
();
WQtSubjectTreeItem
*
subject
=
static_cast
<
WQtSubjectTreeItem
*
>
(
m_
t
reeWidget
->
topLevelItem
(
subjectId
+
c
)
);
WQtSubjectTreeItem
*
subject
=
static_cast
<
WQtSubjectTreeItem
*
>
(
m_
moduleT
reeWidget
->
topLevelItem
(
subjectId
+
c
)
);
subject
->
setExpanded
(
true
);
WQtDatasetTreeItem
*
item
=
subject
->
addDatasetItem
(
module
);
m_
t
reeWidget
->
setCurrentItem
(
item
);
m_
moduleT
reeWidget
->
setCurrentItem
(
item
);
item
->
setDisabled
(
true
);
return
item
;
}
...
...
@@ -268,7 +268,7 @@ WQtModuleTreeItem* WQtDatasetBrowser::addModule( boost::shared_ptr< WModule > mo
{
m_tiModules
->
setExpanded
(
true
);
WQtModuleTreeItem
*
item
=
m_tiModules
->
addModuleItem
(
module
);
m_
t
reeWidget
->
setCurrentItem
(
item
);
m_
moduleT
reeWidget
->
setCurrentItem
(
item
);
item
->
setDisabled
(
true
);
return
item
;
}
...
...
@@ -338,13 +338,13 @@ void WQtDatasetBrowser::removeRoi( boost::shared_ptr< WRMROIRepresentation > roi
boost
::
shared_ptr
<
WModule
>
WQtDatasetBrowser
::
getSelectedModule
()
{
if
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
1
)
if
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
1
)
{
return
(
static_cast
<
WQtDatasetTreeItem
*
>
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
)
->
getModule
()
);
return
(
static_cast
<
WQtDatasetTreeItem
*
>
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
)
->
getModule
()
);
}
else
if
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
3
)
else
if
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
3
)
{
return
(
static_cast
<
WQtModuleTreeItem
*
>
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
)
->
getModule
()
);
return
(
static_cast
<
WQtModuleTreeItem
*
>
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
)
->
getModule
()
);
}
return
boost
::
shared_ptr
<
WModule
>
();
...
...
@@ -360,14 +360,14 @@ void WQtDatasetBrowser::selectTreeItem()
boost
::
shared_ptr
<
WProperties
>
props
;
boost
::
shared_ptr
<
WProperties
>
infoProps
;
if
(
m_
t
reeWidget
->
selectedItems
().
size
()
!=
0
)
if
(
m_
moduleT
reeWidget
->
selectedItems
().
size
()
!=
0
)
{
switch
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
)
switch
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
)
{
case
SUBJECT
:
break
;
case
DATASET
:
module
=
(
static_cast
<
WQtDatasetTreeItem
*
>
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
module
=
(
static_cast
<
WQtDatasetTreeItem
*
>
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
props
=
module
->
getProperties
();
infoProps
=
module
->
getInformationProperties
();
createCompatibleButtons
(
module
);
...
...
@@ -375,7 +375,7 @@ void WQtDatasetBrowser::selectTreeItem()
case
MODULEHEADER
:
break
;
case
MODULE
:
module
=
(
static_cast
<
WQtModuleTreeItem
*
>
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
module
=
(
static_cast
<
WQtModuleTreeItem
*
>
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
props
=
module
->
getProperties
();
infoProps
=
module
->
getInformationProperties
();
createCompatibleButtons
(
module
);
...
...
@@ -541,16 +541,16 @@ void WQtDatasetBrowser::createCompatibleButtons( boost::shared_ptr< WModule >mod
void
WQtDatasetBrowser
::
changeTreeItem
()
{
if
(
m_
t
reeWidget
->
selectedItems
().
size
()
==
1
&&
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
DATASET
)
if
(
m_
moduleT
reeWidget
->
selectedItems
().
size
()
==
1
&&
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
DATASET
)
{
boost
::
shared_ptr
<
WModule
>
module
=
(
static_cast
<
WQtDatasetTreeItem
*
>
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
module
->
getProperties
()
->
getProperty
(
"active"
)
->
toPropBool
()
->
set
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
checkState
(
0
)
);
boost
::
shared_ptr
<
WModule
>
module
=
(
static_cast
<
WQtDatasetTreeItem
*
>
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
module
->
getProperties
()
->
getProperty
(
"active"
)
->
toPropBool
()
->
set
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
checkState
(
0
)
);
}
else
if
(
m_
t
reeWidget
->
selectedItems
().
size
()
==
1
&&
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
MODULE
)
else
if
(
m_
moduleT
reeWidget
->
selectedItems
().
size
()
==
1
&&
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
MODULE
)
{
boost
::
shared_ptr
<
WModule
>
module
=
(
static_cast
<
WQtModuleTreeItem
*
>
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
boost
::
shared_ptr
<
WModule
>
module
=
(
static_cast
<
WQtModuleTreeItem
*
>
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
)
)
->
getModule
();
module
->
getProperties
()
->
getProperty
(
"active"
)
->
toPropBool
()
->
set
(
m_
t
reeWidget
->
selectedItems
().
at
(
0
)
->
checkState
(
0
)
);
module
->
getProperties
()
->
getProperty
(
"active"
)
->
toPropBool
()
->
set
(
m_
moduleT
reeWidget
->
selectedItems
().
at
(
0
)
->
checkState
(
0
)
);
}
}
...
...
@@ -579,20 +579,20 @@ int WQtDatasetBrowser::addTabWidgetContent( WQtDSBWidget* content )
void
WQtDatasetBrowser
::
moveTreeItemDown
()
{
m_
t
reeWidget
->
moveTreeItemDown
();
m_
moduleT
reeWidget
->
moveTreeItemDown
();
}
void
WQtDatasetBrowser
::
moveTreeItemUp
()
{
m_
t
reeWidget
->
moveTreeItemUp
();
m_
moduleT
reeWidget
->
moveTreeItemUp
();
}
int
WQtDatasetBrowser
::
getFirstSubject
()
{
int
c
=
0
;
for
(
int
i
=
0
;
i
<
m_
t
reeWidget
->
topLevelItemCount
()
;
++
i
)
for
(
int
i
=
0
;
i
<
m_
moduleT
reeWidget
->
topLevelItemCount
()
;
++
i
)
{
if
(
m_
t
reeWidget
->
topLevelItem
(
i
)
->
type
()
==
SUBJECT
)
if
(
m_
moduleT
reeWidget
->
topLevelItem
(
i
)
->
type
()
==
SUBJECT
)
{
break
;
}
...
...
@@ -638,10 +638,25 @@ boost::shared_ptr< WRMROIRepresentation > WQtDatasetBrowser::getFirstRoiInSelect
return
roi
;
}
void
WQtDatasetBrowser
::
deleteTreeItem
()
void
WQtDatasetBrowser
::
delete
Module
TreeItem
()
{
boost
::
shared_ptr
<
WRMROIRepresentation
>
roi
;
if
(
m_moduleTreeWidget
->
selectedItems
().
count
()
>
0
)
{
boost
::
shared_ptr
<
WModule
>
module
=
dynamic_cast
<
WQtTreeItem
*
>
(
m_moduleTreeWidget
->
selectedItems
().
at
(
0
)
)
->
getModule
();
m_moduleTreeWidget
->
deleteItem
(
m_moduleTreeWidget
->
selectedItems
().
at
(
0
)
)
;
// instruct the kernel to remove module
WKernel
::
getRunningKernel
()
->
getRootContainer
()
->
remove
(
module
);
// DEBUG:
int
count
=
module
.
use_count
();
std
::
cout
<<
"COUNT DMTI "
<<
count
<<
std
::
endl
;
}
}
void
WQtDatasetBrowser
::
deleteROITreeItem
()
{
boost
::
shared_ptr
<
WRMROIRepresentation
>
roi
;
if
(
m_roiTreeWidget
->
selectedItems
().
count
()
>
0
)
{
if
(
m_roiTreeWidget
->
selectedItems
().
at
(
0
)
->
type
()
==
ROIBRANCH
)
...
...
src/gui/qt4/datasetbrowser/WQtDatasetBrowser.h
View file @
101f07de
...
...
@@ -176,7 +176,7 @@ protected:
WMainWindow
*
m_mainWindow
;
private:
WQtTreeWidget
*
m_
t
reeWidget
;
//!< pointer to the tree widget
WQtTreeWidget
*
m_
moduleT
reeWidget
;
//!< pointer to the tree widget
WQtTreeWidget
*
m_roiTreeWidget
;
//!< pointer to the tree widget
...
...
@@ -248,10 +248,14 @@ private slots:
void
moveTreeItemUp
();
/**
* delete a tree item
* delete a
ROI
tree item
*/
void
deleteTreeItem
();
void
delete
ROI
TreeItem
();
/**
* delete a module tree item
*/
void
deleteModuleTreeItem
();
signals:
/**
...
...
src/gui/qt4/datasetbrowser/WQtTreeWidget.cpp
View file @
101f07de
...
...
@@ -38,6 +38,12 @@ WQtTreeWidget::~WQtTreeWidget()
{
}
void
WQtTreeWidget
::
deleteItem
(
QTreeWidgetItem
*
item
)
{
// takeTopLevelItem ( indexOfTopLevelItem( item ) );
delete
item
;
}
void
WQtTreeWidget
::
moveTreeItemDown
()
{
QTreeWidgetItem
*
parent
=
currentItem
()
->
parent
();
...
...
src/gui/qt4/datasetbrowser/WQtTreeWidget.h
View file @
101f07de
...
...
@@ -46,6 +46,12 @@ public:
*/
virtual
~
WQtTreeWidget
();
/**
* Deletes an entry from the tree
* \param item The given item will be removed from the tree
*/
void
deleteItem
(
QTreeWidgetItem
*
item
);
public
slots
:
/**
* change order of items, move currently selected item down
...
...
@@ -59,7 +65,6 @@ public slots:
//void keyPressEvent(QKeyEvent *e);
protected:
private:
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment