geopsy/GroupView.h
Go to the documentation of this file.
00001 /***************************************************************************
00002 **
00003 **  This file is part of geopsy.
00004 **
00005 **  This file may be distributed and/or modified under the terms of the
00006 **  GNU General Public License version 2 or 3 as published by the Free
00007 **  Software Foundation and appearing in the file LICENSE.GPL included
00008 **  in the packaging of this file.
00009 **
00010 **  This file is distributed in the hope that it will be useful, but WITHOUT
00011 **  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 **  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
00013 **  more details.
00014 **
00015 **  You should have received a copy of the GNU General Public License
00016 **  along with this program. If not, see <http://www.gnu.org/licenses/>.
00017 **
00018 **  See http://www.geopsy.org for more information.
00019 **
00020 **  Created : 2007-02-19
00021 **  Authors:
00022 **    Marc Wathelet
00023 **    Marc Wathelet (LGIT, Grenoble, France)
00024 **
00025 ***************************************************************************/
00026 
00027 #ifndef GROUPVIEW_H
00028 #define GROUPVIEW_H
00029 
00030 #include <GeopsyGui.h>
00031 
00032 class GeopsyMainWindow;
00033 class SigSelectionDnD;
00034 
00035 class GroupView : public QTreeView
00036 {
00037   Q_OBJECT
00038 public:
00039   GroupView(QWidget * parent=0);
00040 
00041   enum Mode{Browse, Rename, Sort};
00042 
00043   virtual QSize sizeHint() const;
00044 
00045   void setSignalWindow(GeopsyMainWindow * sw);
00046   void setMode(Mode m);
00047   void select(const QRegExp& exp);
00048 public slots:
00049   void getSelection(SubSignalPool& sel);
00050 
00051   void newTableWindow();
00052   void newGraphicWindow();
00053   void newMapWindow();
00054   void newTool();
00055   void remove();
00056   void properties();
00057   void newFolder();
00058 protected:
00059   virtual void contextMenuEvent (QContextMenuEvent * e);
00060   virtual void mouseDoubleClickEvent (QMouseEvent * e);
00061 private:
00062   QList<AbstractSignalGroup *> getSelection(bool readWriteOnly, bool warn=false);
00063   void select(AbstractSignalGroup * parent, const QRegExp& exp);
00064   inline SignalGroupItem * model() const;
00065 
00066   Mode mode;
00067   QAction * _mapAction;
00068   QAction * _graphicAction;
00069   QAction * _tableAction;
00070   QAction * _newFolderAction;
00071   QAction * _expandAllAction;
00072   QAction * _collapseAllAction;
00073   SigSelectionDnD * sigDnD;
00074   QMenu * _menu;
00075   GeopsyMainWindow * _sw;
00076 };
00077 
00078 
00079 #endif // GROUPVIEW_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines