00001 /*************************************************************************** 00002 * Copyright (C) 2003 by Tim Sutton * 00003 * tim@linfiniti.com * 00004 * * 00005 * Gyps - Species Distribution Modelling Toolkit * 00006 * This toolkit provides data transformation and visualisation * 00007 * tools for use in species distribution modelling tools such as GARP, * 00008 * CSM, Bioclim etc. * 00009 * This program is free software; you can redistribute it and/or modify * 00010 * it under the terms of the GNU General Public License as published by * 00011 * the Free Software Foundation; either version 2 of the License, or * 00012 * (at your option) any later version. * 00013 ***************************************************************************/ 00014 #ifndef OMGLAYERSELECTOR_H 00015 #define OMGLAYERSELECTOR_H 00016 00017 00018 #include <ui_omglayerselectorbase.h> 00019 00020 #include <QWidget> 00021 #include <QStringList> 00022 #include <QTreeWidget> 00023 #include <QDialog> 00024 #include <QTreeWidgetItem> 00025 #include <QIcon> 00026 class QDomElement; 00027 class QString; 00028 00033 class OmgLayerSelector : public QDialog, private Ui::OmgLayerSelectorBase 00034 { 00035 Q_OBJECT 00036 public: 00037 OmgLayerSelector( QString theBaseDir, QWidget* parent = 0, Qt::WFlags fl = 0 ); 00038 ~OmgLayerSelector() ; 00039 00040 public slots: 00041 void on_toolDirectorySelector_clicked(); 00042 void on_toolRefresh_clicked(); 00043 void accept(); 00044 void reject(); 00045 QStringList getSelectedLayers(); 00046 QString getBaseDir(); 00053 void setSelectionMode(QAbstractItemView::SelectionMode theMode); 00055 void refresh(); 00056 private: 00057 void resizeEvent ( QResizeEvent * event ); 00058 QTreeWidgetItem * mpListParent; 00059 QString mBaseDirName; 00060 QStringList mSelectedLayersList; 00061 void updateFileList(); 00062 void buildTree(const QString& dirname, QTreeWidgetItem* theListViewItem, bool theForceScanFlag=false); 00063 void parseLayerGroup(const QDomElement &theElement, QTreeWidgetItem *theParentItem); 00064 void showInfo(); 00065 QTreeWidgetItem * createItem(const QDomElement &theElement, QTreeWidgetItem * thepParentItem); 00066 QIcon mFolderIcon; 00067 QIcon mProjectionOkIcon; 00068 QIcon mProjectionErrorIcon; 00069 signals: 00070 }; 00071 00072 #endif