Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYLibraryWidget.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
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 QComboBox;
40 class QLabel;
41 
43 {
44  eNoneFilter, // Ne filtre pas
45  eSiteFilter, // Filtre tous les elements pouvant etre importes dans un site
46  eInfraFilter, // Filtre tous les elements pouvant etre importes dans une infrastructure
47  eSourceFilter, // Filtre toutes les sources
48  eConstructionFilter, // Filtre tous les batiments
49  eBatimentFilter, // Filtre tous les etages d'un batiment
50  eEtageFilter, // Filtre toutes les sources et machines
51  eMachineFilter, // Filtre toutes les machines
52  eReseauTransportFilter, // Filtre tous les reseaux de transport
53  eRouteFilter, // Filtre toutes les routes
54  eTopoFilter, // Filtre tous les elements pouvant etre importe dans une topographie
55  ePlanEauFilter, // Filtre tous les plans d'eau
56  eCoursEauFilter, // Filtre tous les cours d'eau
57  eCourbeNiveauFilter, // Filtre toutes les courbes de niveau
58  eTerrainFilter, // Filtre tous les terrains
59  eSitesFilter // Filtre tous les sites
60 };
61 
66 class TYLibraryWidget : public QWidget
67 {
68  Q_OBJECT
69 
70  // Methodes
71 public:
75  TYLibraryWidget(int filter, QWidget* parent = 0, const char* name = 0, Qt::WindowFlags f = QFlag(0));
76 
80  virtual ~TYLibraryWidget();
81 
85  const QList<QString>& getSelectedEltsList() const;
86 
90  const QList<QString>& getEltsList() const;
91 
92  const QString getCurrentDir() const;
93 
94 protected slots:
95  void updateFrame();
96  void updateHighlight(const QString&);
97  void updateCategory(const QString&);
98 
99 signals:
100  void highlighted(const QString&);
101 
102 protected:
106  void filtering(const QDir& dir, int filter = eSiteFilter);
107 
112  void keyPressEvent(QKeyEvent* e);
113 
114  // Path relatif correspondant a la categorie courante
116 
117  // les categories permettant de trier les elements dans des sous-repertoires
119 
120  // Liste des elements disponibles (en fonction du filtre de type et de la categorie en cours)
122 
124  QList<QString> _selectedEltsList;
125 
127  QList<QString> _eltsList;
128 
129  // le repertoire racine des elements de la bibliotheques
130  QString _rootDir;
131 
132  // le repertoire courant (categorie)
133  QString _currentDir;
134 
135  // filtre sur le type d'element
137 
138  // indique si l'IHM est en cours de rafraichissement de son contenu
140 };
141 
142 #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))