Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYLibraryWidget.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14  */
15 
27 #ifndef __TY__LIBRARY_WIDGET__
28 #define __TY__LIBRARY_WIDGET__
29 
30 #include "TYAppDefines.h"
31 
32 #include <qwidget.h>
33 #include <qlist.h>
34 // Added by qt3to4:
35 #include <QKeyEvent>
36 
37 class QDir;
38 class QListWidget;
39 class QListWidgetItem;
40 class QComboBox;
41 class QLabel;
42 
44 {
45  eNoneFilter, // Ne filtre pas
46  eSiteFilter, // Filtre tous les elements pouvant etre importes dans un site
47  eInfraFilter, // Filtre tous les elements pouvant etre importes dans une infrastructure
48  eSourceFilter, // Filtre toutes les sources
49  eConstructionFilter, // Filtre tous les batiments
50  eBatimentFilter, // Filtre tous les etages d'un batiment
51  eEtageFilter, // Filtre toutes les sources et machines
52  eMachineFilter, // Filtre toutes les machines
53  eReseauTransportFilter, // Filtre tous les reseaux de transport
54  eRouteFilter, // Filtre toutes les routes
55  eTopoFilter, // Filtre tous les elements pouvant etre importe dans une topographie
56  ePlanEauFilter, // Filtre tous les plans d'eau
57  eCoursEauFilter, // Filtre tous les cours d'eau
58  eCourbeNiveauFilter, // Filtre toutes les courbes de niveau
59  eTerrainFilter, // Filtre tous les terrains
60  eSitesFilter // Filtre tous les sites
61 };
62 
67 class TYLibraryWidget : public QWidget
68 {
69  Q_OBJECT
70 
71  // Methodes
72 public:
76  TYLibraryWidget(int filter, QWidget* parent = 0, const char* name = 0, Qt::WindowFlags f = QFlag(0));
77 
81  virtual ~TYLibraryWidget();
82 
86  const QList<QString>& getSelectedEltsList() const;
87 
91  const QList<QString>& getEltsList() const;
92 
93  const QString getCurrentDir() const;
94 
95 protected slots:
96  void updateFrame();
97  void updateHighlight(const QString&);
98  void updateCategory(const QString&);
99 
100 signals:
101  void highlighted(const QString&);
102 
103 protected:
107  void filtering(const QDir& dir, int filter = eSiteFilter);
108 
113  void keyPressEvent(QKeyEvent* e);
114 
115  // Path relatif correspondant a la categorie courante
117 
118  // les categories permettant de trier les elements dans des sous-repertoires
120 
121  // Liste des elements disponibles (en fonction du filtre de type et de la categorie en cours)
123 
125  QList<QString> _selectedEltsList;
126 
128  QList<QString> _eltsList;
129 
130  // le repertoire racine des elements de la bibliotheques
131  QString _rootDir;
132 
133  // le repertoire courant (categorie)
134  QString _currentDir;
135 
136  // filtre sur le type d'element
138 
139  // indique si l'IHM est en cours de rafraichissement de son contenu
141 };
142 
143 #endif // __TY__LIBRARY_WIDGET__
TYLibraryFilter
@ eCourbeNiveauFilter
@ ePlanEauFilter
@ eMachineFilter
@ eRouteFilter
@ eNoneFilter
@ eTerrainFilter
@ eSourceFilter
@ eCoursEauFilter
@ eSiteFilter
@ eReseauTransportFilter
@ eSitesFilter
@ eTopoFilter
@ eBatimentFilter
@ eConstructionFilter
@ eEtageFilter
@ eInfraFilter
const char * name
Widget pour lister les elements de la bibilotheque.
QList< QString > _selectedEltsList
La liste des elements selectionnes.
const QList< QString > & getSelectedEltsList() const
virtual ~TYLibraryWidget()
const QString getCurrentDir() const
void keyPressEvent(QKeyEvent *e)
QLabel * _pCategoryCurrentLabel
QListWidget * _pElementChoiceListBox
void updateCategory(const QString &)
void filtering(const QDir &dir, int filter=eSiteFilter)
QComboBox * _pCategoryChoiceListBox
QList< QString > _eltsList
La liste des elements de la liste.
void updateHighlight(const QString &)
void highlighted(const QString &)
const QList< QString > & getEltsList() const
TYLibraryWidget(int filter, QWidget *parent=0, const char *name=0, Qt::WindowFlags f=QFlag(0))