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
setIconSize(QSize(50, 50));
// 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"));
// charge les collections
reload();
// 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
@@ -199,3 +196,17 @@ QString ElementsPanel::categoryName(QDir &directory) {
}
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 dropEvent(QDropEvent *);
void startDrag(Qt::DropActions);
void reload();
private:
void addFile(QTreeWidgetItem *, 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 \
terminal.h \
conducersegment.h \
elementtextitem.h
elementtextitem.h \
elementspanelwidget.h
SOURCES += aboutqet.cpp \
borderinset.cpp \
conducer.cpp \
@@ -36,7 +37,8 @@ SOURCES += aboutqet.cpp \
qetapp.cpp \
terminal.cpp \
conducersegment.cpp \
elementtextitem.cpp
elementtextitem.cpp \
elementspanelwidget.cpp
RESOURCES += qelectrotech.qrc
TRANSLATIONS += lang/qet_en.ts lang/qt_fr.ts
QT += xml

View File

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

View File

@@ -1,7 +1,7 @@
#include "qetapp.h"
//#include "diagram.h"
#include "diagramview.h"
#include "elementspanel.h"
#include "elementspanelwidget.h"
#include "aboutqet.h"
/**
@@ -55,7 +55,7 @@ QETApp::QETApp(QWidget *parent) : QMainWindow(parent) {
qdw_pa -> setAllowedAreas(Qt::AllDockWidgetAreas);
qdw_pa -> setFeatures(QDockWidget::AllDockWidgetFeatures);
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);
// mise en place des actions

View File

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