CTK 0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
Loading...
Searching...
No Matches
ctkDICOMTableView.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Library: CTK
4
5 Copyright (c) Kitware Inc.
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0.txt
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18
19=========================================================================*/
20
21#ifndef __ctkDICOMTableView_h
22#define __ctkDICOMTableView_h
23
24// Qt includes
25#include <QItemSelection>
26#include <QWidget>
27
28// ctkDICOMCore includes
29#include "ctkDICOMDatabase.h"
30#include "ctkDICOMWidgetsExport.h"
31
32class ctkDICOMTableViewPrivate;
33class QTableView;
34
43class CTK_DICOM_WIDGETS_EXPORT ctkDICOMTableView : public QWidget
44{
45 Q_OBJECT
46 Q_PROPERTY(bool filterActive READ filterActive)
47 Q_PROPERTY( QTableView* tblDicomDatabaseView READ tableView )
48
49public:
50 typedef QWidget Superclass;
51
56 explicit ctkDICOMTableView(QWidget* parent = 0);
62 explicit ctkDICOMTableView(QString queryTableName, QWidget* parent = 0);
63
70 explicit ctkDICOMTableView (ctkDICOMDatabase* dicomDataBase, QString queryTableName, QWidget* parent = 0);
71
73
78 void setDicomDataBase(ctkDICOMDatabase* dicomDatabase);
79
84 void setQueryTableName(const QString &tableName);
85
91 void setQueryForeignKey(const QString &foreignKey);
92
98 void setQuery (const QStringList &uids = QStringList());
99
104 void addSqlWhereCondition(const std::pair<QString, QStringList>& condition);
105
110 QStringList currentSelection() const;
111
116 QStringList uidsForAllRows() const;
117
119
122
127 QTableView* tableView();
128
129public Q_SLOTS:
130
136
141 void onUpdateQuery(const QStringList &uids);
142
148 void onCustomContextMenuRequested(const QPoint &point);
149
150protected Q_SLOTS:
155
160
165
166 void selectAll();
167
168protected:
169 virtual bool eventFilter(QObject *obj, QEvent *event);
170
171Q_SIGNALS:
176 void selectionChanged(const QStringList &uids);
177
181 void selectionChanged(const QItemSelection&,const QItemSelection&);
182
187 void queryChanged(const QStringList &uids);
188
189 void doubleClicked(const QModelIndex&);
190
191protected:
192 QScopedPointer<ctkDICOMTableViewPrivate> d_ptr;
193
194 Q_DECLARE_PRIVATE(ctkDICOMTableView)
195 Q_DISABLE_COPY(ctkDICOMTableView)
196};
197
198#endif // __ctkDICOMTableView_h
The ctkDICOMTableView displays the content of a specific table of the ctkDICOMDatabase.
void onDatabaseChanged()
Called when the underlying database changes.
void addSqlWhereCondition(const std::pair< QString, QStringList > &condition)
Add a where condition to the usual select statement.
ctkDICOMTableView(QString queryTableName, QWidget *parent=0)
void doubleClicked(const QModelIndex &)
void selectionChanged(const QStringList &uids)
Is emitted when the selection in the tableview has changed.
void setTableSectionSize(int)
QScopedPointer< ctkDICOMTableViewPrivate > d_ptr
QStringList currentSelection() const
Returns the uids of the current selected rows.
virtual bool eventFilter(QObject *obj, QEvent *event)
void setQueryTableName(const QString &tableName)
void onCustomContextMenuRequested(const QPoint &point)
Translates the local point to a global one.
virtual ~ctkDICOMTableView()
QTableView * tableView()
Get the actual QTableView, for specific view settings.
void selectionChanged(const QItemSelection &, const QItemSelection &)
Is emitted when the data selection has changed.
void setDicomDataBase(ctkDICOMDatabase *dicomDatabase)
Setting the ctkDICOMDatabase which shall be queried.
void onInstanceAdded()
Called if a new instance was added to the database.
void onFilterChanged()
Called when the text of the ctkSearchBox has changed.
void setQuery(const QStringList &uids=QStringList())
void queryChanged(const QStringList &uids)
Is emitted when the query text has changed.
ctkDICOMTableView(ctkDICOMDatabase *dicomDataBase, QString queryTableName, QWidget *parent=0)
void onSelectionChanged()
slot is called if the selection of the tableview is changed Within this slot the signal signalSelecti...
void setQueryForeignKey(const QString &foreignKey)
void onUpdateQuery(const QStringList &uids)
Updates the query which is used for displaying the table content.
ctkDICOMTableView(QWidget *parent=0)
QStringList uidsForAllRows() const
Getting the UIDs for all rows.