Ajout d'un bouton permettant d'actualiser le panel d'element

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@71 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-02-26 22:42:46 +00:00
parent 6d5927cbe7
commit 5f437a5bd5
8 changed files with 67 additions and 11 deletions

View File

@@ -20,11 +20,8 @@ ElementsPanel::ElementsPanel(QWidget *parent) : QTreeWidget(parent) {
// taille des elements // taille des elements
setIconSize(QSize(50, 50)); setIconSize(QSize(50, 50));
// chargement des elements de la collection QET // charge les collections
addDir(invisibleRootItem(), QETApp::commonElementsDir(), tr("Collection QET")); reload();
// chargement des elements de la collection utilisateur
addDir(invisibleRootItem(), QETApp::customElementsDir(), tr("Collection utilisateur"));
// force du noir sur une alternance de blanc (comme le schema) et de gris // force du noir sur une alternance de blanc (comme le schema) et de gris
// clair, avec du blanc sur bleu pas trop fonce pour la selection // clair, avec du blanc sur bleu pas trop fonce pour la selection
@@ -199,3 +196,17 @@ QString ElementsPanel::categoryName(QDir &directory) {
} }
return(category_name); return(category_name);
} }
/**
Recharge l'arbre des elements
*/
void ElementsPanel::reload() {
// vide l'arbre
while (takeTopLevelItem(0));
// chargement des elements de la collection QET
addDir(invisibleRootItem(), QETApp::commonElementsDir(), tr("Collection QET"));
// chargement des elements de la collection utilisateur
addDir(invisibleRootItem(), QETApp::customElementsDir(), tr("Collection utilisateur"));
}

View File

@@ -16,6 +16,7 @@
void dragMoveEvent(QDragMoveEvent *); void dragMoveEvent(QDragMoveEvent *);
void dropEvent(QDropEvent *); void dropEvent(QDropEvent *);
void startDrag(Qt::DropActions); void startDrag(Qt::DropActions);
void reload();
private: private:
void addFile(QTreeWidgetItem *, QString); void addFile(QTreeWidgetItem *, QString);
void addDir(QTreeWidgetItem *, QString, QString = QString()); void addDir(QTreeWidgetItem *, QString, QString = QString());

20
elementspanelwidget.cpp Normal file
View File

@@ -0,0 +1,20 @@
#include "elementspanelwidget.h"
ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
// initalise le panel d'elements
elements_panel = new ElementsPanel(this);
// initialise la barre d'outils
toolbar = new QToolBar(this);
toolbar -> setMovable(false);
toolbar -> addAction(QIcon(":/ico/reload.png"), tr("Recharger les collections"), elements_panel, SLOT(reload()));
// disposition verticale
QVBoxLayout *vlayout = new QVBoxLayout(this);
vlayout -> setMargin(0);
vlayout -> setSpacing(0);
vlayout -> addWidget(toolbar);
vlayout -> addWidget(elements_panel);
vlayout -> setStretchFactor(elements_panel, 75000);
setLayout(vlayout);
}

21
elementspanelwidget.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef ELEMENTS_PANEL_WIDGET_H
#define ELEMENTS_PANEL_WIDGET_H
#include <QtGui>
#include "elementspanel.h"
class ElementsPanelWidget : public QWidget {
Q_OBJECT
// constructeurs
public:
ElementsPanelWidget(QWidget * = 0);
// attributs
private:
ElementsPanel *elements_panel;
QToolBar *toolbar;
// methodes
public:
inline ElementsPanel &elementsPanel() const { return(*elements_panel); }
};
#endif

View File

@@ -21,7 +21,8 @@ HEADERS += aboutqet.h \
qetapp.h \ qetapp.h \
terminal.h \ terminal.h \
conducersegment.h \ conducersegment.h \
elementtextitem.h elementtextitem.h \
elementspanelwidget.h
SOURCES += aboutqet.cpp \ SOURCES += aboutqet.cpp \
borderinset.cpp \ borderinset.cpp \
conducer.cpp \ conducer.cpp \
@@ -36,7 +37,8 @@ SOURCES += aboutqet.cpp \
qetapp.cpp \ qetapp.cpp \
terminal.cpp \ terminal.cpp \
conducersegment.cpp \ conducersegment.cpp \
elementtextitem.cpp elementtextitem.cpp \
elementspanelwidget.cpp
RESOURCES += qelectrotech.qrc RESOURCES += qelectrotech.qrc
TRANSLATIONS += lang/qet_en.ts lang/qt_fr.ts TRANSLATIONS += lang/qet_en.ts lang/qt_fr.ts
QT += xml QT += xml

View File

@@ -24,6 +24,7 @@
<file>ico/print.png</file> <file>ico/print.png</file>
<file>ico/qt.png</file> <file>ico/qt.png</file>
<file>ico/redo.png</file> <file>ico/redo.png</file>
<file>ico/reload.png</file>
<file>ico/restaurer.png</file> <file>ico/restaurer.png</file>
<file>ico/saveas.png</file> <file>ico/saveas.png</file>
<file>ico/save.png</file> <file>ico/save.png</file>

View File

@@ -1,7 +1,7 @@
#include "qetapp.h" #include "qetapp.h"
//#include "diagram.h" //#include "diagram.h"
#include "diagramview.h" #include "diagramview.h"
#include "elementspanel.h" #include "elementspanelwidget.h"
#include "aboutqet.h" #include "aboutqet.h"
/** /**
@@ -55,7 +55,7 @@ QETApp::QETApp(QWidget *parent) : QMainWindow(parent) {
qdw_pa -> setAllowedAreas(Qt::AllDockWidgetAreas); qdw_pa -> setAllowedAreas(Qt::AllDockWidgetAreas);
qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures); qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures);
qdw_pa -> setMinimumWidth(160); qdw_pa -> setMinimumWidth(160);
qdw_pa -> setWidget(pa = new ElementsPanel(qdw_pa)); qdw_pa -> setWidget(pa = new ElementsPanelWidget(qdw_pa));
addDockWidget(Qt::LeftDockWidgetArea, qdw_pa); addDockWidget(Qt::LeftDockWidgetArea, qdw_pa);
// mise en place des actions // mise en place des actions

View File

@@ -2,7 +2,7 @@
#define QETAPP_H #define QETAPP_H
#include <QtGui> #include <QtGui>
class DiagramView; class DiagramView;
class ElementsPanel; class ElementsPanelWidget;
/** /**
Cette classe represente la fenetre principale de QElectroTech et, Cette classe represente la fenetre principale de QElectroTech et,
ipso facto, la plus grande partie de l'interface graphique de QElectroTech. ipso facto, la plus grande partie de l'interface graphique de QElectroTech.
@@ -117,7 +117,7 @@
/// Dock pour le Panel d'Appareils /// Dock pour le Panel d'Appareils
QDockWidget *qdw_pa; QDockWidget *qdw_pa;
/// Panel d'Appareils /// Panel d'Appareils
ElementsPanel *pa; ElementsPanelWidget *pa;
/// Elements de menus pour l'icone du systray /// Elements de menus pour l'icone du systray
QMenu *menu_systray; QMenu *menu_systray;
QAction *systray_masquer; QAction *systray_masquer;