itom 1.4.0
|
00001 /* ******************************************************************** 00002 itom software 00003 URL: http://www.uni-stuttgart.de/ito 00004 Copyright (C) 2013, Institut für Technische Optik (ITO), 00005 Universität Stuttgart, Germany 00006 00007 This file is part of itom. 00008 00009 itom is free software; you can redistribute it and/or modify it 00010 under the terms of the GNU Library General Public Licence as published by 00011 the Free Software Foundation; either version 2 of the Licence, or (at 00012 your option) any later version. 00013 00014 itom is distributed in the hope that it will be useful, but 00015 WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library 00017 General Public Licence for more details. 00018 00019 You should have received a copy of the GNU Library General Public License 00020 along with itom. If not, see <http://www.gnu.org/licenses/>. 00021 *********************************************************************** */ 00022 00023 #ifndef ITOMQTWIDGETS_H 00024 #define ITOMQTWIDGETS_H 00025 00026 #include <qtabwidget.h> 00027 #include <qtreeview.h> 00028 #include <qtabbar.h> 00029 #include <qevent.h> 00030 00031 namespace ito 00032 { 00033 00038 class QTabWidgetItom : public QTabWidget 00039 { 00040 Q_OBJECT 00041 public: 00042 QTabWidgetItom(QWidget * parent = 0) : QTabWidget(parent) {}; 00043 00044 inline QTabBar* getTabBar() {return tabBar(); }; 00045 00046 protected: 00047 void contextMenuEvent (QContextMenuEvent * event) 00048 { 00049 emit tabContextMenuEvent(event); 00050 event->accept(); 00051 }; 00052 00053 signals: 00054 void tabContextMenuEvent (QContextMenuEvent *event); 00055 }; 00056 00057 00058 class QTreeViewItom : public QTreeView 00059 { 00060 Q_OBJECT 00061 00062 public: 00063 QTreeViewItom ( QWidget * parent = 0 ) : QTreeView(parent) {} 00064 ~QTreeViewItom () {} 00065 00066 QModelIndexList selectedIndexes() const 00067 { 00068 QModelIndexList retList; 00069 for (int i = 0; i < QTreeView::selectedIndexes().length(); ++i) 00070 { 00071 if (QTreeView::selectedIndexes().at(i).column() == 0) 00072 { 00073 retList.append(QTreeView::selectedIndexes().at(i)); 00074 } 00075 } 00076 return retList; 00077 } 00078 00079 protected slots: 00080 virtual void selectionChanged ( const QItemSelection & selected, const QItemSelection & deselected ) 00081 { 00082 QTreeView::selectionChanged(selected, deselected); 00083 emit selectedItemsChanged(); 00084 } 00085 00086 signals: 00087 void selectedItemsChanged(); 00088 }; 00089 00090 } //end namespace ito 00091 00092 #endif