[qet] [4529] Old element panel : Remove the management of the elements collection.

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 4529
Author:   blacksun
Date:     2016-05-27 14:44:24 +0200 (Fri, 27 May 2016)
Log Message:
-----------
Old element panel : Remove the management of the elements collection. Now the element panel only manage the title block and folio.
Remove the management of custom and common elements collection in the class qetapp. 

Modified Paths:
--------------
    trunk/sources/elementspanel.cpp
    trunk/sources/elementspanel.h
    trunk/sources/elementspanelwidget.cpp
    trunk/sources/elementspanelwidget.h
    trunk/sources/genericpanel.cpp
    trunk/sources/genericpanel.h
    trunk/sources/qetapp.cpp
    trunk/sources/qetapp.h
    trunk/sources/qetdiagrameditor.cpp

Removed Paths:
-------------
    trunk/sources/elementscategorydeleter.cpp
    trunk/sources/elementscategorydeleter.h

Deleted: trunk/sources/elementscategorydeleter.cpp
===================================================================
--- trunk/sources/elementscategorydeleter.cpp	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/elementscategorydeleter.cpp	2016-05-27 12:44:24 UTC (rev 4529)
@@ -1,111 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "elementscategorydeleter.h"
-#include "qetapp.h"
-#include "qetmessagebox.h"
-
-/**
-	Constructeur
-	@param category_path Chemin virtuel de la categorie a supprimer
-	@param parent QWidget parent
-*/
-ElementsCategoryDeleter::ElementsCategoryDeleter(const ElementsLocation &category_path, QWidget *parent) :
-	QWidget(parent),
-	category(0)
-{
-	// recupere la categorie a supprimer
-	ElementsCollectionItem *category_item = QETApp::collectionItem(category_path);
-	if (!category_item) return;
-	
-	// on exige une collection ou une categorie
-	if (!category_item -> isCollection() && !category_item -> isCategory()) return;
-	
-	category = category_item;
-}
-
-/// Destructeur
-ElementsCategoryDeleter::~ElementsCategoryDeleter() {
-}
-
-/**
-	Supprime la categorie et ses elements : verifie l'existence du dossier,
-	demande deux fois confirmation a l'utilisateur et avertit ce dernier si la
-	suppression a echoue.
-	@return true si la suppression a ete effectuee, false sinon
-*/
-bool ElementsCategoryDeleter::exec() {
-	// verifie l'existence de la categorie
-	if (!category) return(false);
-	
-	// gere le cas ou la suppression d'une collection est demandee
-	if (category -> isCollection()) {
-		QMessageBox::StandardButton answer_0 = QET::QetMessageBox::question(
-			this,
-			tr("Vider la collection ?", "message box title"),
-			tr("Êtes-vous sûr  de vouloir vider cette collection ?", "message box content"),
-			QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel
-		);
-		if (answer_0 != QMessageBox::Yes) return(false);
-	}
-	
-	/**
-		@todo Regression : rafficher le nom de la categorie supprimee
-	*/
-	// QString cat_name(category -> name().replace("<", "&lt;").replace(">", "&gt;"));
-	
-	
-	// avertissement pour la suppression d'une collection
-	// confirmation #1
-	QMessageBox::StandardButton answer_1 = QET::QetMessageBox::question(
-		this,
-		tr("Supprimer la catégorie ?", "message box title"),
-		tr(
-			"Êtes-vous sûr  de vouloir supprimer la catégorie ?\nTous "
-			"les éléments et les catégories contenus dans cette "
-			"catégorie seront supprimés.",
-			"message box content"
-		),
-		QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel
-	);
-	if (answer_1 != QMessageBox::Yes) return(false);
-	
-	// confirmation #2
-	QMessageBox::StandardButton answer_2 = QET::QetMessageBox::question(
-		this,
-		tr("Supprimer la catégorie ?", "message box title"),
-		tr(
-			"Êtes-vous vraiment sur de vouloir supprimer cette "
-			"catégorie ?\nLes changements seront définitifs.",
-			"message box content"
-		),
-		QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel
-	);
-	if (answer_2 != QMessageBox::Yes) return(false);
-	
-	// supprime la categorie
-	if (!category -> remove()) {
-		QET::QetMessageBox::warning(
-			this,
-			tr("Suppression de la catégorie", "message box title"),
-			tr("La suppression de la catégorie a échoué.", "message box content")
-		);
-		return(false);
-	}
-	
-	return(true);
-}

Deleted: trunk/sources/elementscategorydeleter.h
===================================================================
--- trunk/sources/elementscategorydeleter.h	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/elementscategorydeleter.h	2016-05-27 12:44:24 UTC (rev 4529)
@@ -1,47 +0,0 @@
-/*
-	Copyright 2006-2016 The QElectroTech Team
-	This file is part of QElectroTech.
-	
-	QElectroTech is free software: you can redistribute it and/or modify
-	it under the terms of the GNU General Public License as published by
-	the Free Software Foundation, either version 2 of the License, or
-	(at your option) any later version.
-	
-	QElectroTech is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-	
-	You should have received a copy of the GNU General Public License
-	along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
-*/
-#ifndef ELEMENTS_CATEGORY_DELETER_H
-#define ELEMENTS_CATEGORY_DELETER_H
-#include "fileelementscategory.h"
-#include "elementslocation.h"
-#include <QtWidgets>
-/**
-	This class provide an abstract way to delete an elements category along with
-	its child elements and subcategories. It always requires a double confirmation
-	from users before actually proceeding to the deletion.
-	If the deletion of a whole elements collection is required, this class will
-	require an extra confirmation.
-*/
-class ElementsCategoryDeleter : public QWidget {
-	Q_OBJECT
-	// constructors, destructor
-	public:
-	ElementsCategoryDeleter(const ElementsLocation &, QWidget * = 0);
-	virtual ~ElementsCategoryDeleter();
-	private:
-	ElementsCategoryDeleter(const ElementsCategory &);
-	
-	// methods
-	public slots:
-	bool exec();
-	
-	// attributes
-	private:
-	ElementsCollectionItem *category;
-};
-#endif

Modified: trunk/sources/elementspanel.cpp
===================================================================
--- trunk/sources/elementspanel.cpp	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/elementspanel.cpp	2016-05-27 12:44:24 UTC (rev 4529)
@@ -19,14 +19,8 @@
 #include "qetapp.h"
 #include "qetproject.h"
 #include "diagram.h"
-#include "elementscategory.h"
-#include "elementscollectioncache.h"
-#include "factory/elementfactory.h"
-#include "fileelementscollection.h"
-#include "fileelementdefinition.h"
 #include "qeticons.h"
 #include "templatescollection.h"
-#include "element.h"
 
 /*
 	Lorsque le flag ENABLE_PANEL_DND_CHECKS est defini, le panel d'elements
@@ -38,26 +32,12 @@
 */
 #define ENABLE_PANEL_DND_CHECKS
 
-/*
-	Largeur maximale, en pixels, de la pixmap accrochee au pointeur de la
-	souris
-*/
-#define QET_MAX_DND_PIXMAP_WIDTH 500
-
-/*
-	Hauteur maximale, en pixels, de la pixmap accrochee au pointeur de la
-	souris
-*/
-#define QET_MAX_DND_PIXMAP_HEIGHT 375
-
 /**
 	Constructeur
 	@param parent Le QWidget parent du panel d'appareils
 */
 ElementsPanel::ElementsPanel(QWidget *parent) :
 	GenericPanel(parent),
-	common_collection_item_(0),
-	custom_collection_item_(0),
 	first_reload_(true)
 {
 	// selection unique
@@ -89,8 +69,6 @@
 	
 		//Emit a signal instead au manage is own context menu
 	setContextMenuPolicy(Qt::CustomContextMenu);
-	
-	setElementsCache(QETApp::collectionCache());	
 }
 
 /**
@@ -100,41 +78,6 @@
 }
 
 /**
-	@param qtwi Un QTreeWidgetItem
-	@return true si qtwi represente un element, false sinon
-*/
-bool ElementsPanel::itemIsWritable(QTreeWidgetItem *qtwi) const {
-	if (ElementsCollectionItem *qtwi_item = collectionItemForItem(qtwi)) {
-		return(qtwi_item -> isWritable());
-	}
-	return(false);
-}
-
-
-/**
-	@return true si l'item selectionne est accessible en ecriture, false sinon
-*/
-bool ElementsPanel::selectedItemIsWritable() const {
-	if (ElementsCollectionItem *selected_item = selectedItem()) {
-		return(selected_item -> isWritable());
-	}
-	return(false);
-}
-
-/**
-	@return la collection, la categorie ou l'element selectionne(e)
-*/
-ElementsCollectionItem *ElementsPanel::selectedItem() const {
-
-
-	ElementsLocation selected_location(selectedElementLocation());
-	if (!selected_location.isNull()) {
-		return(QETApp::collectionItem(selected_location));
-	}
-	return(0);
-}
-
-/**
 	Gere l'entree d'un drag'n drop. L'evenement est accepte si les donnees
 	fournies contiennent un type MIME representant une categorie ou un element
 	QET.
@@ -149,70 +92,11 @@
 }
 
 /**
-	Gere le mouvement lors d'un drag'n drop
-*/
-void ElementsPanel::dragMoveEvent(QDragMoveEvent *e)
-{
-	// scrolle lorsque le curseur est pres des bords
-	int limit = 40;
-	QScrollBar *scroll_bar = verticalScrollBar();
-	if (e -> pos().y() < limit) {
-		scroll_bar -> setValue(scroll_bar -> value() - 1);
-	} else if (e -> pos().y() > height() - limit) {
-		scroll_bar -> setValue(scroll_bar -> value() + 1);
-	}
-	
-	QTreeWidget::dragMoveEvent(e);
-	
-	// recupere la categorie cible pour le deplacement / la copie
-	ElementsCategory *target_category = categoryForPos(e -> pos());
-	if (!target_category) {
-		e -> ignore();
-		return;
-	}
-	
-		// recupere la source (categorie ou element) pour le deplacement / la copie
-	ElementsLocation dropped_location = ElementsLocation(e -> mimeData() -> text());
-	ElementsCollectionItem *source_item = QETApp::collectionItem(dropped_location, false);
-	if (!source_item) {
-		e -> ignore();
-		return;
-	}
-	
-#ifdef ENABLE_PANEL_DND_CHECKS
-	// ne prend pas en consideration le drop d'un item sur lui-meme ou une categorie imbriquee
-	if (
-		source_item -> location() == target_category -> location() ||\
-		target_category -> isChildOf(source_item)
-	) {
-		e -> ignore();
-		return;
-	}
-	
-	// s'assure que la categorie cible est accessible en ecriture
-	if (!target_category -> isWritable()) {
-		e -> ignore();
-		return;
-	}
-#endif
-
-
-	e -> accept();
-	/// @todo mettre en valeur le lieu de depot
-}
-
-/**
 	Gere le debut des drag'n drop
 	@param supportedActions Les actions supportees
 */
 void ElementsPanel::startDrag(Qt::DropActions supportedActions) {
 	Q_UNUSED(supportedActions);
-	// recupere l'emplacement selectionne
-	ElementsLocation element_location = selectedElementLocation();
-	if (!element_location.isNull()) {
-		startElementDrag(element_location);
-		return;
-	}
 	
 	TitleBlockTemplateLocation tbt_location = selectedTemplateLocation();
 	if (tbt_location.isValid()) {
@@ -222,63 +106,6 @@
 }
 
 /**
-	Handle the dragging of an element.
-	@param location Location of the dragged element
-*/
-void ElementsPanel::startElementDrag(const ElementsLocation &location) {
-	// recupere la selection
-	ElementsCollectionItem *selected_item = QETApp::collectionItem(location);
-	if (!selected_item) return;
-	
-	// objet QDrag pour realiser le drag'n drop
-	QDrag *drag = new QDrag(this);
-	
-	// donnees qui seront transmises par le drag'n drop
-	QString location_string(location.toString());
-	QMimeData *mimeData = new QMimeData();
-	mimeData -> setText(location_string);
-	
-	if (selected_item -> isCategory() || selected_item -> isCollection()) {
-		mimeData -> setData("application/x-qet-category-uri", location_string.toLatin1());
-		drag -> setPixmap(QET::Icons::Folder.pixmap(22, 22));
-	} else if (selected_item -> isElement()) {
-		mimeData -> setData("application/x-qet-element-uri", location_string.toLatin1());
-		
-		// element temporaire pour fournir un apercu
-		int elmt_creation_state;
-		Element *temp_elmt = ElementFactory::Instance() -> createElement(location, 0, &elmt_creation_state);
-		if (elmt_creation_state) {
-			delete temp_elmt;
-			return;
-		}
-		
-		// accrochage d'une pixmap representant l'appareil au pointeur
-		QPixmap elmt_pixmap(temp_elmt -> pixmap());
-		QPoint elmt_hotspot(temp_elmt -> hotspot());
-		
-		// ajuste la pixmap si celle-ci est trop grande
-		QPoint elmt_pixmap_size(elmt_pixmap.width(), elmt_pixmap.height());
-		if (elmt_pixmap.width() > QET_MAX_DND_PIXMAP_WIDTH || elmt_pixmap.height() > QET_MAX_DND_PIXMAP_HEIGHT) {
-			elmt_pixmap = elmt_pixmap.scaled(QET_MAX_DND_PIXMAP_WIDTH, QET_MAX_DND_PIXMAP_HEIGHT, Qt::KeepAspectRatio);
-			elmt_hotspot = QPoint(
-				elmt_hotspot.x() * elmt_pixmap.width() / elmt_pixmap_size.x(),
-				elmt_hotspot.y() * elmt_pixmap.height() / elmt_pixmap_size.y()
-			);
-		}
-		
-		drag -> setPixmap(elmt_pixmap);
-		drag -> setHotSpot(elmt_hotspot);
-		
-		// suppression de l'appareil temporaire
-		delete temp_elmt;
-	}
-	
-	// realisation du drag'n drop
-	drag -> setMimeData(mimeData);
-	drag -> start(Qt::MoveAction | Qt::CopyAction);
-}
-
-/**
 	Handle the dragging of a title block template
 	@param location Location of the dragged template.
 */
@@ -333,21 +160,6 @@
 	return(qtwi_project);
 }
 
-/**
-	Methode privee permettant d'ajouter une collection d'elements au panel d'elements
-	@param qtwi_parent QTreeWidgetItem parent sous lequel sera insere la collection d'elements
-	@param collection Collection a inserer dans le panel d'elements - si
-	collection vaut 0, cette methode retourne 0.
-	@param coll_name Nom a utiliser pour la collection
-	@param icon Icone a utiliser pour l'affichage de la collection
-	@return Le QTreeWidgetItem insere le plus haut
-*/
-QTreeWidgetItem *ElementsPanel::addCollection(ElementsCollection *collection) {
-	PanelOptions options = GenericPanel::AddAllChild;
-	options |= GenericPanel::DisplayElementsPreview;
-	return(addElementsCollection(collection, invisibleRootItem(), options));
-}
-
 QTreeWidgetItem *ElementsPanel::updateTemplatesCollectionItem(QTreeWidgetItem *tbt_collection_qtwi, TitleBlockTemplatesCollection *tbt_collection, PanelOptions options, bool freshly_created) {
 	QTreeWidgetItem *tbtc_qtwi = GenericPanel::updateTemplatesCollectionItem(tbt_collection_qtwi, tbt_collection, options, freshly_created);
 	if (tbt_collection && tbt_collection -> parentProject()) {
@@ -369,43 +181,6 @@
 	return(item);
 }
 
-QTreeWidgetItem *ElementsPanel::updateElementsCategoryItem(QTreeWidgetItem *category_qtwi, ElementsCategory *category, PanelOptions options, bool freshly_created) {
-	QTreeWidgetItem *item = GenericPanel::updateElementsCategoryItem(category_qtwi, category, options, freshly_created);
-	item -> setStatusTip(
-		0,
-		tr(
-			"Double-cliquez pour réduire ou développer cette catégorie d'éléments",
-			"Status tip displayed by elements category"
-		)
-	);
-	emit(loadingProgressed(++ loading_progress_, -1));
-	return(item);
-}
-
-QTreeWidgetItem *ElementsPanel::updateElementsCollectionItem(QTreeWidgetItem *collection_qtwi, ElementsCollection *collection, PanelOptions options, bool freshly_created) {
-	QTreeWidgetItem *c_qtwi = GenericPanel::updateElementsCollectionItem(collection_qtwi, collection, options, freshly_created);
-	if (collection && collection -> project()) {
-		c_qtwi -> setText(0, tr("Collection embarquée"));
-		c_qtwi -> setStatusTip(0, tr("Double-cliquez pour réduire ou développer cette collection d'éléments embarquée", "Status tip"));
-	}
-	return(c_qtwi);
-}
-
-QTreeWidgetItem *ElementsPanel::updateElementItem(QTreeWidgetItem *element_qtwi, ElementDefinition *element, PanelOptions options, bool freshly_created) {
-	QTreeWidgetItem *item = GenericPanel::updateElementItem(element_qtwi, element, options, freshly_created);
-	
-	QString status_tip = tr(
-        "Glissez-déposez cet élément « %1 » sur un folio pour l'y insérer, double-cliquez dessus pour l'éditer",
-		"Status tip displayed in the status bar when selecting an element"
-	);
-	item -> setStatusTip(0, status_tip.arg(item -> text(0)));
-	
-	item -> setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled);
-	
-	emit(loadingProgressed(++ loading_progress_, -1));
-	return(item);
-}
-
 /**
 	@return true if \a item matches the current filter, false otherwise
 */
@@ -435,49 +210,17 @@
 }
 
 /**
-	Reloads the following collections:
-	  * common collection
-	  * custom collection
-	  * collection of every project displayed in this panel
-*/
-void ElementsPanel::reloadCollections() {
-	QETApp::commonElementsCollection() -> reload();
-	QETApp::customElementsCollection() -> reload();
-}
-
-/**
-	@return the count of categories and elements within the following collections:
-	  * common collection
-	  * custom collection
-	  * collection of every project displayed in this panel
-*/
-int ElementsPanel::elementsCollectionItemsCount() {
-	int items_count = 0;
-	items_count += QETApp::commonElementsCollection() -> count();
-	items_count += QETApp::customElementsCollection() -> count();
-
-	return(items_count);
-}
-
-/**
  * @brief ElementsPanel::reload
  * Reload the elements tree
  * @param reload_collections true for read all collections since their sources (files, projects ...)
  */
 void ElementsPanel::reload(bool reload_collections) {
-	if (reload_collections) {
-		emit(readingAboutToBegin());
-		reloadCollections();
-		emit(readingFinished());
-	}
+
+	Q_UNUSED(reload_collections);
 	
 	QIcon system_icon(":/ico/16x16/qet.png");
 	QIcon user_icon(":/ico/16x16/go-home.png");
 	
-	// estimates the number of categories and elements to load
-	int items_count = elementsCollectionItemsCount();
-	emit(loadingProgressed(loading_progress_ = 0, items_count));
-	
 	// load the common title block templates collection
 	TitleBlockTemplatesCollection *common_tbt_collection = QETApp::commonTitleBlockTemplatesCollection();
 	common_tbt_collection_item_ = addTemplatesCollection(common_tbt_collection, invisibleRootItem());
@@ -486,16 +229,6 @@
 	common_tbt_collection_item_ -> setWhatsThis(0, tr("Ceci est la collection de cartouches fournie avec QElectroTech. Installée en tant que composant système, vous ne pouvez normalement pas la personnaliser.", "\"What's this\" tip"));
 	if (first_reload_) common_tbt_collection_item_ -> setExpanded(true);
 	
-	// load the common elements collection
-	if (QETApp::commonElementsCollection() -> rootCategory()) {
-		// first check local
-		QETApp::commonElementsCollection()->cache()->setLocale(QETApp::langFromSetting());
-		common_collection_item_ = addCollection(QETApp::commonElementsCollection());
-		common_collection_item_ -> setStatusTip(0, tr("Double-cliquez pour réduire ou développer la collection d'éléments QElectroTech", "Status tip"));
-		common_collection_item_ -> setWhatsThis(0, tr("Ceci est la collection d'éléments fournie avec QElectroTech. Installée en tant que composant système, vous ne pouvez normalement pas la personnaliser.", "\"What's this\" tip"));
-		if (first_reload_) common_collection_item_ -> setExpanded(true);
-	}
-	
 	// load the custom title block templates collection
 	TitleBlockTemplatesCollection *custom_tbt_collection = QETApp::customTitleBlockTemplatesCollection();
 	custom_tbt_collection_item_ = addTemplatesCollection(custom_tbt_collection, invisibleRootItem());
@@ -504,16 +237,6 @@
 	custom_tbt_collection_item_ -> setWhatsThis(0, tr("Ceci est votre collection personnelle de cartouches -- utilisez-la pour créer, stocker et éditer vos propres cartouches.", "\"What's this\" tip"));
 	if (first_reload_) custom_tbt_collection_item_ -> setExpanded(true);
 	
-	// load the custom elements collection
-	if (QETApp::customElementsCollection() -> rootCategory()) {
-		// first check local
-		QETApp::customElementsCollection()->cache()->setLocale(QETApp::langFromSetting());
-		custom_collection_item_ = addCollection(QETApp::customElementsCollection());
-		custom_collection_item_ -> setStatusTip(0, tr("Double-cliquez pour réduire ou développer votre collection personnelle d'éléments", "Status tip"));
-		custom_collection_item_ -> setWhatsThis(0, tr("Ceci est votre collection personnelle d'éléments -- utilisez-la pour créer, stocker et éditer vos propres éléments.", "\"What's this\" tip"));
-		if (first_reload_) custom_collection_item_ -> setExpanded(true);
-	}
-	
 	// add projects
 	foreach(QETProject *project, projects_to_display_.values()) {
 		addProject(project);
@@ -521,8 +244,6 @@
 	
 	// the first time, expand the first level of collections
 	if (first_reload_) first_reload_ = false;
-	
-	emit(loadingFinished());
 }
 
 /**
@@ -531,8 +252,6 @@
 	est emis.
 	Si un double-clic sur un schema est effectue, le signal requestForDiagram
 	est emis.
-	Si un double-clic sur une collection, une categorie ou un element est
-	effectue, le signal requestForCollectionItem est emis.
 	@param qtwi
 */
 void ElementsPanel::slot_doubleClick(QTreeWidgetItem *qtwi, int) {
@@ -543,9 +262,6 @@
 	} else if (qtwi_type == QET::Diagram) {
 		Diagram *diagram = valueForItem<Diagram *>(qtwi);
 		emit(requestForDiagram(diagram));
-	} else if (qtwi_type & QET::ElementsCollectionItem) {
-		ElementsLocation element = valueForItem<ElementsLocation>(qtwi);
-		emit(requestForCollectionItem(element));
 	} else if (qtwi_type == QET::TitleBlockTemplate) {
 		TitleBlockTemplateLocation tbt = valueForItem<TitleBlockTemplateLocation>(qtwi);
 		emit(requestForTitleBlockTemplate(tbt));
@@ -553,55 +269,6 @@
 }
 
 /**
-	@param qtwi Un QTreeWidgetItem
-	@return L'ElementsCollectionItem represente par qtwi, ou 0 si qtwi ne
-	represente pas un ElementsCollectionItem
-*/
-ElementsCollectionItem *ElementsPanel::collectionItemForItem(QTreeWidgetItem *qtwi) const {
-	if (qtwi && qtwi -> type() & QET::ElementsCollectionItem) {
-		ElementsLocation item_location = elementLocationForItem(qtwi);
-		return(QETApp::collectionItem(item_location));
-	}
-	return(0);
-}
-
-/**
-	Cette methode permet d'acceder a la categorie correspondant a un item donne.
-	Si cet item represente une collection, c'est sa categorie racine qui est renvoyee.
-	Si cet item represente une categorie, c'est cette categorie qui est renvoyee.
-	Si cet item represente un element, c'est sa categorie parente qui est renvoyee.
-	@param qtwi un QTreeWidgetItem
-	@return la categorie correspondant au QTreeWidgetItem qtwi, ou 0 s'il n'y a
-	aucune categorie correspondante.
-*/
-ElementsCategory *ElementsPanel::categoryForItem(QTreeWidgetItem *qtwi) {
-	if (!qtwi) return(0);
-	
-	// Recupere le CollectionItem associe a cet item
-	ElementsCollectionItem *collection_item = collectionItemForItem(qtwi);
-	if (!collection_item) return(0);
-	
-	// recupere la categorie cible pour le deplacement
-	return(collection_item -> toCategory());
-}
-
-/**
-	@param pos Position dans l'arborescence
-	@return La categorie situee sous la position pos, ou 0 s'il n'y a aucune
-	categorie correspondante.
-	@see categoryForItem
-*/
-ElementsCategory *ElementsPanel::categoryForPos(const QPoint &pos) {
-	// Accede a l'item sous la position
-	QTreeWidgetItem *pos_qtwi = itemAt(pos);
-	if (!pos_qtwi) {
-		return(0);
-	}
-	
-	return(categoryForItem(pos_qtwi));
-}
-
-/**
 	@param qtwi a QTreeWidgetItem
 	@return the directory path of the object represented by \a qtwi
 */
@@ -626,24 +293,16 @@
 QString ElementsPanel::filePathForItem(QTreeWidgetItem *item) {
 	if (!item) return(QString());
 	
-	ElementsCollectionItem *collection_item = collectionItemForItem(item);
-	if (collection_item) {
-		if (collection_item -> hasFilePath()) {
-			return(collection_item -> filePath());
-		}
+	TitleBlockTemplateLocation tbt_location = templateLocationForItem(item);
+	TitleBlockTemplatesCollection *tbt_collection = tbt_location.parentCollection();
+	if (tbt_collection && tbt_collection -> hasFilePath()) {
+		return(tbt_collection -> filePath());
 	}
 	else {
-		TitleBlockTemplateLocation tbt_location = templateLocationForItem(item);
-		TitleBlockTemplatesCollection *tbt_collection = tbt_location.parentCollection();
-		if (tbt_collection && tbt_collection -> hasFilePath()) {
-			return(tbt_collection -> filePath());
+		QETProject *project = projectForItem(item);
+		if (project) {
+			return(project -> filePath());
 		}
-		else {
-			QETProject *project = projectForItem(item);
-			if (project) {
-				return(project -> filePath());
-			}
-		}
 	}
 	return(QString());
 }
@@ -711,23 +370,6 @@
 }
 
 /**
-	Affiche un element etant donne son emplacement
-	@param location Emplacement de l'element a afficher
-*/
-bool ElementsPanel::scrollToElement(const ElementsLocation &location) {
-	// recherche l'element dans le panel
-	QTreeWidgetItem *item = itemForElementsLocation(location);
-	if (!item) return(false);
-	
-	// s'assure que l'item ne soit pas filtre
-	item -> setHidden(false);
-	setCurrentItem(item);
-	ensureHierarchyIsVisible(QList<QTreeWidgetItem *>() << item);
-	scrollToItem(item);
-	return(true);
-}
-
-/**
 	Build filter list for multiple filter
 */
 void ElementsPanel::buildFilterList() {
@@ -788,13 +430,3 @@
 		if (parent_qtwi -> isHidden()) parent_qtwi -> setHidden(false);
 	}
 }
-
-/**
-	Scroll to the currently selected item.
-*/
-void ElementsPanel::scrollToSelectedItem() {
-	QList<QTreeWidgetItem *> selected_items = selectedItems();
-	if (selected_items.count()) {
-		scrollToItem(selected_items.first(), QAbstractItemView::PositionAtCenter);
-	}
-}

Modified: trunk/sources/elementspanel.h
===================================================================
--- trunk/sources/elementspanel.h	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/elementspanel.h	2016-05-27 12:44:24 UTC (rev 4529)
@@ -17,17 +17,12 @@
 */
 #ifndef PANELAPPAREILS_H
 #define PANELAPPAREILS_H
-#include <QtWidgets>
+
 #include "genericpanel.h"
-#include "elementslocation.h"
 #include "templatelocation.h"
+
 class QETProject;
 class Diagram;
-class ElementsCollection;
-class ElementsCollectionItem;
-class ElementsCategory;
-class ElementDefinition;
-class ElementsCollectionCache;
 class TitleBlockTemplatesFilesCollection;
 
 /**
@@ -50,29 +45,15 @@
 	// methods
 	public:
 	// methods used to determine what is represented by a particular visual item
-	bool itemIsWritable(QTreeWidgetItem *) const;
-	bool selectedItemIsWritable() const;
 	
 	// methods used to get what is represented by a particular visual item
-	ElementsCollectionItem *collectionItemForItem(QTreeWidgetItem *) const;
-	ElementsCollectionItem *selectedItem() const;
-	ElementsCategory *categoryForItem(QTreeWidgetItem *);
-	ElementsCategory *categoryForPos(const QPoint &);
 	QString dirPathForItem(QTreeWidgetItem *);
 	QString filePathForItem(QTreeWidgetItem *);
 	
-	void reloadCollections();
-	int elementsCollectionItemsCount();
-	
 	signals:
 	void requestForProject(QETProject *);
 	void requestForDiagram(Diagram *);
-	void requestForCollectionItem(const ElementsLocation &);
 	void requestForTitleBlockTemplate(const TitleBlockTemplateLocation &);
-	void readingAboutToBegin();
-	void readingFinished();
-	void loadingProgressed(int, int);
-	void loadingFinished();
 	
 	public slots:
 	void slot_doubleClick(QTreeWidgetItem *, int);
@@ -80,17 +61,13 @@
 	void filter(const QString &, QET::Filtering = QET::RegularFilter);
 	void projectWasOpened(QETProject *);
 	void projectWasClosed(QETProject *);
-	bool scrollToElement(const ElementsLocation &);
 	void buildFilterList();
 	void applyCurrentFilter(const QList<QTreeWidgetItem *> &);
 	void ensureHierarchyIsVisible(const QList<QTreeWidgetItem *> &);
-	void scrollToSelectedItem();
 	
 	protected:
 	void dragEnterEvent(QDragEnterEvent *);
-	void dragMoveEvent(QDragMoveEvent *);
 	void startDrag(Qt::DropActions);
-	void startElementDrag(const ElementsLocation &);
 	void startTitleBlockTemplateDrag(const TitleBlockTemplateLocation &);
 	bool matchesCurrentFilter(const QTreeWidgetItem *) const;
 	bool matchesFilter(const QTreeWidgetItem *, QString) const;
@@ -100,24 +77,17 @@
 	
 	private:
 	virtual QTreeWidgetItem *addProject   (QETProject *);
-	virtual QTreeWidgetItem *addCollection(ElementsCollection *);
 	virtual QTreeWidgetItem *updateTemplatesCollectionItem(QTreeWidgetItem *, TitleBlockTemplatesCollection *, PanelOptions = AddAllChild, bool = false);
 	virtual QTreeWidgetItem *updateTemplateItem        (QTreeWidgetItem *, const TitleBlockTemplateLocation &,  PanelOptions, bool = false);
-	virtual QTreeWidgetItem *updateElementsCategoryItem(QTreeWidgetItem *, ElementsCategory *,  PanelOptions, bool = false);
-	virtual QTreeWidgetItem *updateElementsCollectionItem(QTreeWidgetItem *, ElementsCollection *,  PanelOptions, bool = false);
-	virtual QTreeWidgetItem *updateElementItem         (QTreeWidgetItem *, ElementDefinition *, PanelOptions, bool = false);
 	
 	// attributes
 	private:
 	QSet<QETProject *> projects_to_display_;       ///< list of projects that have been added to this panel
-	QTreeWidgetItem *common_collection_item_;      ///< pointer to the item representing the common elements collection
 	QTreeWidgetItem *common_tbt_collection_item_;  ///< pointer to the item representing the common templates collection
-	QTreeWidgetItem *custom_collection_item_;      ///< pointer to the item representing the user elements collection
 	QTreeWidgetItem *custom_tbt_collection_item_;  ///< pointer to the item representing the user templates collection
 	int loading_progress_;                         ///< used to track the loading progress of elements collections
 	bool first_reload_;                            ///< used to distinguish the first time this panel is reloaded
 	QString filter_;                               ///< Currently applied filter
 	QStringList filter_list_;                       ///< Currently applied list of filter
-	QTreeWidgetItem *it_prev_, *it_;
 };
 #endif

Modified: trunk/sources/elementspanelwidget.cpp
===================================================================
--- trunk/sources/elementspanelwidget.cpp	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/elementspanelwidget.cpp	2016-05-27 12:44:24 UTC (rev 4529)
@@ -40,10 +40,6 @@
 	@param parent Le QWidget parent de ce widget
 */
 ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
-	// initialize the progress bar (hidden by default)
-	progress_bar_ = new QProgressBar(this);
-	progress_bar_ -> setVisible(false);
-	progress_bar_ -> setTextVisible(true);
 	// initalise le panel d'elements
 	elements_panel = new ElementsPanel(this);
 	
@@ -107,17 +103,12 @@
 	connect(elements_panel,        SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(updateButtons()));
 	connect(elements_panel,        SIGNAL(customContextMenuRequested(const QPoint &)),               this, SLOT(handleContextMenu(const QPoint &)));
 	connect(elements_panel,        SIGNAL(requestForDiagram(Diagram*)),                              this, SIGNAL(requestForDiagram(Diagram*)));
-	connect(elements_panel,        SIGNAL(requestForCollectionItem(const ElementsLocation &)),       this, SLOT(handleCollectionRequest(const ElementsLocation &)));
 	connect(
 		elements_panel,
 		SIGNAL(requestForTitleBlockTemplate(const TitleBlockTemplateLocation &)),
 		QETApp::instance(),
 		SLOT(openTitleBlockTemplate(const TitleBlockTemplateLocation &))
 	);
-	connect(elements_panel, SIGNAL(loadingProgressed(int, int)),  this, SLOT(updateProgressBar(int, int)));
-	connect(elements_panel, SIGNAL(readingAboutToBegin()),        this, SLOT(collectionsRead()));
-	connect(elements_panel, SIGNAL(readingFinished()),            this, SLOT(collectionsReadFinished()));
-	connect(elements_panel, SIGNAL(loadingFinished()),            this, SLOT(loadingFinished()));
 	
 	// disposition verticale
 	QVBoxLayout *vlayout = new QVBoxLayout(this);
@@ -125,12 +116,8 @@
 	vlayout -> setSpacing(0);
 	vlayout -> addWidget(filter_textfield);
 	vlayout -> addWidget(elements_panel);
-	vlayout -> addWidget(progress_bar_);
 	vlayout -> setStretchFactor(elements_panel, 75000);
 	setLayout(vlayout);
-	
-	// by default, the reload button is disabled
-	reload -> setEnabled(false);
 }
 
 /**
@@ -173,9 +160,6 @@
 	// recharge tous les elements
 	reload -> setEnabled(false);
 	elements_panel -> reload(true);
-	
-	// the reload button was enabled again through loadingFinished()
-	reload -> setEnabled(false);
 	// reapplique le filtre
 	if (!filter_textfield -> text().isEmpty()) {
 		elements_panel -> filter(filter_textfield -> text());
@@ -414,69 +398,6 @@
 	}
 }
 
-/**
-	Gere les demandes d'edition de categories ou d'elements
-	@param item Item de la collection a editer
-*/
-void ElementsPanelWidget::handleCollectionRequest(const ElementsLocation &item_location) {
-	if (item_location.isNull()) return;
-	ElementsCollectionItem *item = QETApp::collectionItem(item_location);
-	if (!item) return;
-	if (item -> isElement()) {
-		// il s'agit d'un element
-		launchElementEditor(item -> location());
-	}
-	// we could edit it categories, but instead people prefer the double-clic to
-	// expand/collapse them
-}
-
-/**
-	Reflects the fact that collections are being read (i.e from filesystem) in
-	the progress bar.
-*/
-void ElementsPanelWidget::collectionsRead() {
-	progress_bar_ -> setMinimum(0);
-	progress_bar_ -> setMaximum(1);
-	progress_bar_ -> setValue(0);
-	progress_bar_ -> setFormat(tr("Lecture...", "Reading of elements/categories files"));
-	progress_bar_ -> setVisible(true);
-}
-
-/**
-	Reflects the fact that collections have been read (i.e from filesystem) in
-	the progress bar.
-*/
-void ElementsPanelWidget::collectionsReadFinished() {
-	// we do not hide the progress bar because it will be used by updateProgressBar
-}
-
-/**
-	Updates the progress bar
-	@param current value that should be displayed
-	@param maximum maximum expected value; -1 means "use the previously known one"
-*/
-void ElementsPanelWidget::updateProgressBar(int current, int maximum) {
-	int provided_maximum = maximum == -1 ? progress_bar_ -> maximum() : maximum;
-	if (provided_maximum != progress_bar_ -> maximum()) {
-		progress_bar_ -> setMaximum(maximum);
-	}
-	if (!current) {
-		progress_bar_ -> setFormat(tr("Chargement : %p%", "Visual rendering of elements/categories files - %p is the progress percentage"));
-		progress_bar_ -> setVisible(true);
-	}
-	progress_bar_ -> setValue(current);
-}
-
-/**
-	Reflects the fact the whole panel content was loaded by hiding the progress
-	bar and enabling again the reload button.
-*/
-void ElementsPanelWidget::loadingFinished() {
-	QTimer::singleShot(500, progress_bar_, SLOT(hide()));
-	reload -> setEnabled(true);
-	
-}
-
 void ElementsPanelWidget::filterEdited(const QString &next_text) {
 	if (previous_filter_.isEmpty() && next_text.length() == 1) {
 		// the field is not empty anymore: begin filtering
@@ -503,22 +424,3 @@
 				}
 	return;
 }
-
-/**
-	Lance l'editeur d'element pour l'element filename
-	@param location Emplacement de l'element a editer
-*/
-void ElementsPanelWidget::launchElementEditor(const ElementsLocation &location) {
-	QETApp::instance() -> openElementLocations(QList<ElementsLocation>() << location);
-}
-
-/**
-	Lance l'editeur de categorie pour la categorie path
-	@param location Emplacement de la categorie a editer
-*/
-void ElementsPanelWidget::launchCategoryEditor(const ElementsLocation &location) {
-	ElementsCategoryEditor ece(location, true);
-	if (ece.exec() == QDialog::Accepted) {
-		elements_panel -> reload();
-	}
-}

Modified: trunk/sources/elementspanelwidget.h
===================================================================
--- trunk/sources/elementspanelwidget.h	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/elementspanelwidget.h	2016-05-27 12:44:24 UTC (rev 4529)
@@ -45,7 +45,6 @@
 	QAction *tbt_add, *tbt_edit, *tbt_remove;
 	QMenu *context_menu;
 	QLineEdit *filter_textfield;
-	QProgressBar *progress_bar_;
 	
 	// methods
 	public:
@@ -85,19 +84,12 @@
 	void removeTitleBlockTemplate();
 	void updateButtons();
 	void handleContextMenu(const QPoint &);
-	void handleCollectionRequest(const ElementsLocation &);
-	void collectionsRead();
-	void collectionsReadFinished();
-	void updateProgressBar(int, int);
-	void loadingFinished();
 	void filterEdited(const QString &);
 
 	protected:
 	virtual void keyPressEvent   (QKeyEvent *e);
 	
 	private:
-	void launchElementEditor(const ElementsLocation &);
-	void launchCategoryEditor(const ElementsLocation &);
 	QString previous_filter_;
 };
 

Modified: trunk/sources/genericpanel.cpp
===================================================================
--- trunk/sources/genericpanel.cpp	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/genericpanel.cpp	2016-05-27 12:44:24 UTC (rev 4529)
@@ -19,14 +19,9 @@
 #include <QTreeWidgetItem>
 #include "qetproject.h"
 #include "diagram.h"
-#include "elementscollection.h"
-#include "elementscategory.h"
-#include "elementdefinition.h"
 #include "titleblock/templatescollection.h"
 #include "titleblock/templatelocation.h"
-#include "elementslocation.h"
 #include "qeticons.h"
-#include "elementscollectioncache.h"
 #include "qetapp.h"
 
 /**
@@ -35,7 +30,6 @@
 */
 GenericPanel::GenericPanel(QWidget *parent) :
 	QTreeWidget(parent),
-	cache_(0),
 	first_activation_(true)
 {
 	header() -> hide();
@@ -49,28 +43,6 @@
 }
 
 /**
-	@return the elements cache currently used, or 0 if none has been set.
-*/
-ElementsCollectionCache *GenericPanel::elementsCache() {
-	return(cache_);
-}
-
-/**
-	@return the elements cache to be used to render elements collection. If no
-	cache has been explicitly set using setElementsCache(), this method builds
-	a basic cache named "genericpanel.sqlite" in the current working directory.
-*/
-ElementsCollectionCache *GenericPanel::getElementsCache() {
-	if (!cache_) {
-		// build a default cache
-		QString cache_path = "./genericpanel.sqlite";
-		cache_ = new ElementsCollectionCache(cache_path, this);
-		cache_->setLocale(QETApp::langFromSetting());
-	}
-	return(cache_);
-}
-
-/**
 	@return the type of the current item
 */
 int GenericPanel::currentItemType() {
@@ -110,16 +82,6 @@
 /**
 	
 */
-ElementsLocation GenericPanel::elementLocationForItem(QTreeWidgetItem *item) const {
-	if (item && item -> type() & QET::ElementsCollectionItem) {
-		return(valueForItem<ElementsLocation>(item));
-	}
-	return(ElementsLocation());
-}
-
-/**
-	
-*/
 QETProject *GenericPanel::selectedProject() const {
 	return(projectForItem(currentItem()));
 }
@@ -141,28 +103,6 @@
 /**
 	
 */
-ElementsLocation GenericPanel::selectedElementLocation() const {
-	return(elementLocationForItem(currentItem()));
-}
-
-/**
-	@param cache New cache to be used to render elements.
-	@param previous if non-zero, this pointer will be set to the previously used cache
-	@return true if the cache was changed, false otherwise (it may happen if the
-	provided cache is already the one being used).
-*/
-bool GenericPanel::setElementsCache(ElementsCollectionCache *cache, ElementsCollectionCache **previous) {
-	if (cache == cache_) return(false);
-	if (previous) {
-		*previous = cache_;
-	}
-	cache_ = cache;
-	return(true);
-}
-
-/**
-	
-*/
 QTreeWidgetItem *GenericPanel::addProject(QETProject *project, QTreeWidgetItem *parent_item, PanelOptions options) {
 	if (!project) return(0);
 	bool creation_required;
@@ -557,301 +497,6 @@
 }
 
 /**
-	Add an elements category to the panel.
-	@param parent_item Parent for the created QTreeWidgetItem
-	@param collection Collection to be added to the panel
-	@param options Control the creation of child items
-	@return the created QTreeWidgetItem
-*/
-QTreeWidgetItem *GenericPanel::addElementsCollection(ElementsCollection *collection, QTreeWidgetItem *parent_item, PanelOptions options) {
-	if (!collection) return(0);
-	bool creation_required;
-	
-	QTreeWidgetItem *collection_qtwi = getItemForElementsCollection(collection, &creation_required);
-	updateElementsCollectionItem(collection_qtwi, collection, options, creation_required);
-	reparent(collection_qtwi, parent_item);
-	fillElementsCollectionItem(collection_qtwi, collection, options, creation_required);
-	
-	return(collection_qtwi);
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::getItemForElementsCollection(ElementsCollection *collection, bool *created) {
-	if (!collection) return(0);
-	
-	QTreeWidgetItem *collection_item = elements_.value(collection -> rootCategory() -> location(), 0);
-	if (collection_item) {
-		if (created) *created = false;
-		return(collection_item);
-	}
-	
-	collection_item  = makeItem(QET::ElementsCollection);
-	if (created) *created = true;
-	return(collection_item);
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::updateElementsCollectionItem(QTreeWidgetItem *collection_qtwi, ElementsCollection *collection, PanelOptions options, bool freshly_created) {
-	Q_UNUSED(options)
-	if (!collection) return(0);
-	
-	QString collection_title = collection -> title();
-	QIcon collection_icon    = collection -> icon();
-	
-	if (!collection_title.isEmpty()) collection_qtwi -> setText(0, collection_title);
-	if (!collection_icon.isNull())   collection_qtwi -> setIcon(0, collection_icon);
-	
-	if (freshly_created) {
-		collection_qtwi -> setData(0, GenericPanel::Item, qVariantFromValue(collection -> rootCategory() -> location()));
-		elements_.insert(collection -> rootCategory() -> location(), collection_qtwi);
-		
-		connect(
-			collection, SIGNAL(elementsCollectionChanged(ElementsCollection*)),
-			this,       SLOT(elementsCollectionChanged(ElementsCollection*))
-		);
-	}
-	
-	return(updateItem(collection_qtwi, options, freshly_created));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::fillElementsCollectionItem(QTreeWidgetItem *collection_qtwi, ElementsCollection *collection, PanelOptions options, bool freshly_created) {
-	// use the cache from the provided collection, if any
-	bool restore_previous_cache = false;
-	ElementsCollectionCache *previous_cache = 0;
-	ElementsCollectionCache *collection_cache = collection -> cache();
-	if (collection_cache) {
-		restore_previous_cache = setElementsCache(collection_cache, &previous_cache);
-	}
-	
-	ElementsCollectionCache *cache = getElementsCache();
-	cache -> beginCollection(collection);
-	fillElementsCategoryItem(collection_qtwi, collection -> rootCategory(), options, freshly_created);
-	cache -> endCollection(collection);
-	
-	// restore the former cache
-	if (restore_previous_cache) {
-		setElementsCache(previous_cache);
-	}
-	return(fillItem(collection_qtwi, options, freshly_created));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::itemForElementsLocation(const ElementsLocation &location) {
-	return(elements_.value(location, 0));
-}
-
-/**
-	Add an elements category to the panel.
-	@param category Category to be added to the panel
-	@param parent_item Parent for the created QTreeWidgetItem
-	@param options Control the creation of child items
-	@return the created QTreeWidgetItem
-*/
-QTreeWidgetItem *GenericPanel::addElementsCategory(ElementsCategory *category, QTreeWidgetItem *parent_item, PanelOptions options) {
-	if (!category) return(0);
-	bool creation_required;
-	
-	QTreeWidgetItem *category_qtwi = getItemForElementsCategory(category, &creation_required);
-	updateElementsCategoryItem(category_qtwi, category, options, creation_required);
-	reparent(category_qtwi, parent_item);
-	fillElementsCategoryItem(category_qtwi, category, options, creation_required);
-	
-	return(category_qtwi);
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::itemForElementsCategory(ElementsCategory *category) {
-	if (!category) return(0);
-	return(elements_.value(category -> location()));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::getItemForElementsCategory(ElementsCategory *category, bool *created) {
-	if (!category) return(0);
-	
-	QTreeWidgetItem *category_item = elements_.value(category -> location(), 0);
-	if (category_item) {
-		if (created) *created = false;
-		return(category_item);
-	}
-	
-	category_item = makeItem(QET::ElementsCategory);
-	if (created) *created = true;
-	return(category_item);
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::updateElementsCategoryItem(QTreeWidgetItem *category_qtwi, ElementsCategory *category, PanelOptions options, bool freshly_created) {
-	Q_UNUSED(options)
-	if (!category || !category_qtwi) return(0);
-	QString category_whatsthis = tr(
-		"Ceci est une catégorie d'éléments, un simple container permettant d'organiser les collections d'éléments",
-		"\"What's this\" tip"
-	);
-	category_qtwi -> setWhatsThis(0, category_whatsthis);
-	QString category_tooltip = category -> location().toString();
-	category_qtwi -> setToolTip(0, category_tooltip);
-	category_qtwi -> setText(0, category -> name());
-	markItemAsContainer(category_qtwi);
-	
-	if (freshly_created) {
-		category_qtwi -> setData(0, GenericPanel::Item, qVariantFromValue(category -> location()));
-		elements_.insert(category -> location(), category_qtwi);
-	}
-	return(updateItem(category_qtwi, options, freshly_created));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::fillElementsCategoryItem(QTreeWidgetItem *category_qtwi, ElementsCategory *category, PanelOptions options, bool freshly_created) {
-	if (!category || !category_qtwi) return(0);
-	
-	int index = 0;
-	
-	category_qtwi -> setData(0, GenericPanel::PanelFlags, (int)options);
-	
-	if (options & AddChildElementsCategories) {
-		if (!freshly_created) {
-			QList<ElementsLocation> sub_categories;
-			foreach(ElementsCategory *sub_category, category -> categories()) {
-				sub_categories << sub_category -> location();
-			}
-			removeObsoleteItems(sub_categories, category_qtwi, QET::ElementsCategory, false);
-		}
-		
-		foreach (ElementsCategory *sub_category, category -> categories()) {
-			QTreeWidgetItem *sub_category_qtwi = addElementsCategory(sub_category, 0, options);
-			category_qtwi -> insertChild(index ++, sub_category_qtwi);
-		}
-	}
-	
-	if (options & AddChildElements) {
-		if (!freshly_created) {
-			QList<ElementsLocation> sub_elements;
-			foreach(ElementDefinition *sub_element, category -> elements()) {
-				sub_elements << sub_element -> location();
-			}
-			removeObsoleteItems(sub_elements, category_qtwi, QET::Element, false);
-		}
-		foreach (ElementDefinition *sub_element, category -> elements()) {
-			QTreeWidgetItem *sub_element_qtwi = addElement(sub_element, 0, options);
-			category_qtwi -> insertChild(index ++, sub_element_qtwi);
-		}
-	}
-	
-	return(fillItem(category_qtwi, options, freshly_created));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::addElement(ElementDefinition *element, QTreeWidgetItem *parent_item, PanelOptions options) {
-	if (!element) return(0);
-	bool creation_required;
-	
-	QTreeWidgetItem *element_qtwi = getItemForElement(element, &creation_required);
-	updateElementItem(element_qtwi, element, options, creation_required);
-	reparent(element_qtwi, parent_item);
-	fillElementItem(element_qtwi, element, options, creation_required);
-	
-	return(element_qtwi);
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::itemForElement(ElementDefinition *element) {
-	if (!element) return(0);
-	return(elements_.value(element -> location(), 0));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::getItemForElement(ElementDefinition *element, bool *created) {
-	if (!element) return(0);
-	
-	QTreeWidgetItem *element_qtwi = elements_.value(element -> location(), 0);
-	if (element_qtwi) {
-		if (created) *created = false;
-		return(element_qtwi);
-	}
-	
-	element_qtwi = makeItem(QET::Element);
-	if (created) *created = true;
-	return(element_qtwi);
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::updateElementItem(QTreeWidgetItem *element_qtwi, ElementDefinition *element, PanelOptions options, bool freshly_created) {
-	Q_UNUSED(options)
-	Q_UNUSED(freshly_created)
-	if (!element_qtwi || !element) {
-		return(updateItem(element_qtwi, options, freshly_created));
-	}
-	
-	ElementsCollectionCache *cache = getElementsCache();
-	if (!cache -> fetchElement(element)) {
-		return(updateItem(element_qtwi, options, freshly_created));
-	}
-	
-	ElementsLocation element_location = element -> location();
-	element_qtwi -> setText(0, cache -> name());
-	QString element_whatsthis = tr("Ceci est un élément que vous pouvez insérer dans un schéma.", "\"What's this\" tip");
-	element_qtwi -> setWhatsThis(0, element_whatsthis);
-	if (options & DisplayElementsPreview) {
-		element_qtwi -> setIcon(0, QIcon(cache -> pixmap()));
-	}
-	
-	// note the following lines are technically marking the element as used
-	element_qtwi -> setToolTip(0, element_location.toString());
-	element_qtwi -> setBackground(0, QBrush());
-	// actions speciales pour les elements appartenant a un projet
-	if (QETProject *element_project = element_location.project()) {
-		// affiche en rouge les elements inutilises dans un projet
-		if (!element_project -> usesElement(element -> location())) {
-			markItemAsUnused(element_qtwi);
-		}
-	}
-	
-	if (freshly_created) {
-		element_qtwi -> setData(0, GenericPanel::Item, qVariantFromValue(element_location));
-		elements_.insert(element_location, element_qtwi);
-	}
-	
-	return(updateItem(element_qtwi, options, freshly_created));
-}
-
-/**
-	
-*/
-QTreeWidgetItem *GenericPanel::fillElementItem (QTreeWidgetItem *element_qtwi, ElementDefinition *element, PanelOptions options, bool freshly_created) {
-	Q_UNUSED(element_qtwi)
-	Q_UNUSED(element)
-	Q_UNUSED(options)
-	Q_UNUSED(freshly_created)
-	return(fillItem(element_qtwi, options, freshly_created));
-}
-
-/**
 	This generic method is called at the end of each update*Item method. Its
 	only purpose is being reimplemented in a subclass. The default
 	implementation does nothing.
@@ -972,14 +617,6 @@
 /**
 	
 */
-void GenericPanel::elementsCollectionChanged(ElementsCollection *collection) {
-	addElementsCollection(collection, 0, 0);
-	emit(panelContentChanged());
-}
-
-/**
-	
-*/
 QString GenericPanel::defaultText(QET::ItemType type) {
 	switch(type) {
 		case QET::ElementsCollectionItem:
@@ -1143,9 +780,7 @@
 	if (!item) return;
 	
 	int type = item ->type();
-	if (type & QET::ElementsCollectionItem) {
-		elements_.remove(valueForItem<ElementsLocation>(item));
-	} else if (type & QET::TitleBlockTemplatesCollectionItem) {
+	if (type & QET::TitleBlockTemplatesCollectionItem) {
 		tb_templates_.remove(valueForItem<TitleBlockTemplateLocation>(item));
 	} else if (type == QET::Diagram) {
 		diagrams_.remove(valueForItem<Diagram *>(item));
@@ -1162,7 +797,6 @@
 	projects_.clear();
 	diagrams_.clear();
 	tb_templates_.clear();
-	elements_.clear();
 }
 
 /**

Modified: trunk/sources/genericpanel.h
===================================================================
--- trunk/sources/genericpanel.h	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/genericpanel.h	2016-05-27 12:44:24 UTC (rev 4529)
@@ -19,16 +19,12 @@
 #define GENERIC_PANEL_H
 #include "qet.h"
 #include <QTreeWidget>
-#include "elementslocation.h"
+
 class QTreeWidgetItem;
 class QETProject;
 class Diagram;
-class ElementsCollection;
-class ElementsCategory;
-class ElementDefinition;
 class TitleBlockTemplatesCollection;
 class TitleBlockTemplateLocation;
-class ElementsCollectionCache;
 
 /**
 	The generic panel is a QTreeWidget subclass providing extra methods
@@ -45,13 +41,7 @@
 		AddChildTemplatesCollection   =   2,
 		AddChildTemplates             =   4,
 		AddAllChildTemplates          =   6,
-		AddChildElementsCollections   =   8,
-		AddChildElementsCategories    =  16,
-		AddChildElementsContainers    =  24,
-		AddChildElements              =  32,
-		AddAllChildElements           =  56,
 		AddAllChild                   =  63,
-		DisplayElementsPreview        =  64,
 		All                           = 127
 	};
 	Q_DECLARE_FLAGS(PanelOptions, PanelOption)
@@ -68,27 +58,17 @@
 	GenericPanel(QWidget * = 0);
 	virtual ~GenericPanel();
 	
-	// cache-related methods
 	public:
-	virtual ElementsCollectionCache *elementsCache();
-	virtual bool setElementsCache(ElementsCollectionCache *, ElementsCollectionCache ** = 0);
-	
-	protected:
-	virtual ElementsCollectionCache *getElementsCache();
-	
-	public:
 	// convenience methods to obtain what an item represents
 	virtual int currentItemType();
 	virtual QETProject *projectForItem(QTreeWidgetItem *) const;
 	virtual Diagram *diagramForItem(QTreeWidgetItem *) const;
 	virtual TitleBlockTemplateLocation templateLocationForItem(QTreeWidgetItem *) const;
-	virtual ElementsLocation elementLocationForItem(QTreeWidgetItem *) const;
 	
 	// convenience methods to obtain what the selected item represents
 	virtual QETProject *selectedProject() const;
 	virtual Diagram *selectedDiagram() const;
 	virtual TitleBlockTemplateLocation selectedTemplateLocation() const;
-	virtual ElementsLocation selectedElementLocation() const;
 	
 	// project-related methods
 	public:
@@ -126,33 +106,6 @@
 	virtual QTreeWidgetItem *updateTemplateItem(QTreeWidgetItem *, const TitleBlockTemplateLocation &, PanelOptions = AddAllChild, bool = false);
 	virtual QTreeWidgetItem *fillTemplateItem  (QTreeWidgetItem *, const TitleBlockTemplateLocation &, PanelOptions = AddAllChild, bool = false);
 	
-	// elements collections methods
-	public:
-	virtual QTreeWidgetItem *itemForElementsLocation(const ElementsLocation &);
-	virtual QTreeWidgetItem *addElementsCollection(ElementsCollection *, QTreeWidgetItem *, PanelOptions = AddAllChild);
-	protected:
-	virtual QTreeWidgetItem *getItemForElementsCollection(ElementsCollection *, bool * = 0);
-	virtual QTreeWidgetItem *updateElementsCollectionItem(QTreeWidgetItem *, ElementsCollection *, PanelOptions = AddAllChild, bool = false);
-	virtual QTreeWidgetItem *fillElementsCollectionItem  (QTreeWidgetItem *, ElementsCollection *, PanelOptions = AddAllChild, bool = false);
-	
-	// elements categories methods
-	public:
-	virtual QTreeWidgetItem *addElementsCategory(ElementsCategory *, QTreeWidgetItem * = 0, PanelOptions = AddAllChild);
-	virtual QTreeWidgetItem *itemForElementsCategory(ElementsCategory *);
-	protected:
-	virtual QTreeWidgetItem *getItemForElementsCategory(ElementsCategory *, bool * = 0);
-	virtual QTreeWidgetItem *updateElementsCategoryItem(QTreeWidgetItem *, ElementsCategory *, PanelOptions = AddAllChild, bool = false);
-	virtual QTreeWidgetItem *fillElementsCategoryItem  (QTreeWidgetItem *, ElementsCategory *, PanelOptions = AddAllChild, bool = false);
-	
-	// elements methods
-	public:
-	virtual QTreeWidgetItem *addElement(ElementDefinition *, QTreeWidgetItem * = 0, PanelOptions = AddAllChild);
-	virtual QTreeWidgetItem *itemForElement(ElementDefinition *);
-	protected:
-	virtual QTreeWidgetItem *getItemForElement(ElementDefinition *, bool * = 0);
-	virtual QTreeWidgetItem *updateElementItem(QTreeWidgetItem *, ElementDefinition *, PanelOptions = AddAllChild, bool = false);
-	virtual QTreeWidgetItem *fillElementItem  (QTreeWidgetItem *, ElementDefinition *, PanelOptions = AddAllChild, bool = false);
-	
 	// generic methods
 	protected:
 	virtual QTreeWidgetItem *updateItem(QTreeWidgetItem *, PanelOptions = AddAllChild, bool = false);
@@ -167,7 +120,6 @@
 	virtual void diagramTitleChanged(Diagram *, const QString &);
 	virtual void templatesCollectionChanged(TitleBlockTemplatesCollection*, const QString &);
 	virtual void diagramUsedTemplate(TitleBlockTemplatesCollection *, const QString &);
-	virtual void elementsCollectionChanged(ElementsCollection *);
 	
 	// various other methods
 	protected:
@@ -193,14 +145,10 @@
 	private slots:
 	void emitFirstActivated();
 	
-	protected:
-	ElementsCollectionCache *cache_; ///< Cache used to render elements
-	
 	private:
 	bool first_activation_; ///< boolean used to track the first time this widget is activated/shown
 	QHash<QETProject *, QTreeWidgetItem *>               projects_;     ///< Allow quick retrieval of the item representing a given project
 	QHash<Diagram *, QTreeWidgetItem *>                  diagrams_;     ///< Allow quick retrieval of the item representing a given diagram
 	QHash<TitleBlockTemplateLocation, QTreeWidgetItem *> tb_templates_; ///< Allow quick retrieval of the item representing a title block template
-	QHash<ElementsLocation, QTreeWidgetItem *>           elements_;     ///< Allow quick retrieval of the item representing an element
 };
 #endif

Modified: trunk/sources/qetapp.cpp
===================================================================
--- trunk/sources/qetapp.cpp	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/qetapp.cpp	2016-05-27 12:44:24 UTC (rev 4529)
@@ -21,9 +21,7 @@
 #include "configpages.h"
 #include "qetdiagrameditor.h"
 #include "qetelementeditor.h"
-#include "elementscollectionitem.h"
 #include "elementscollectioncache.h"
-#include "fileelementscollection.h"
 #include "titleblocktemplate.h"
 #include "qettemplateeditor.h"
 #include "qetproject.h"
@@ -48,8 +46,6 @@
 QString QETApp::config_dir = QString();
 #endif
 QString QETApp::lang_dir = QString();
-FileElementsCollection *QETApp::common_collection = 0;
-FileElementsCollection *QETApp::custom_collection = 0;
 TitleBlockTemplatesFilesCollection *QETApp::common_tbt_collection_;
 TitleBlockTemplatesFilesCollection *QETApp::custom_tbt_collection_;
 ElementsCollectionCache *QETApp::collections_cache_ = 0;
@@ -110,12 +106,6 @@
 		collections_cache_->setLocale(langFromSetting());
 	}
 
-	// loads known collections into memory (this does not include items rendering made in elements panels)
-	setSplashScreenStep(tr("Chargement... Lecture des collections d'éléments", "splash screen caption"));
-	foreach(ElementsCollection *collection, availableCollections()) {
-		collection -> reload();
-	}
-
 	// on ouvre soit les fichiers passes en parametre soit un nouvel editeur de projet
 	if (qet_arguments_.files().isEmpty()) {
 		setSplashScreenStep(tr("Chargement... Éditeur de schéma", "splash screen caption"));
@@ -139,8 +129,6 @@
 		delete about_dialog_;
 	}
 	delete qsti;
-	delete custom_collection;
-	delete common_collection;
 	if (custom_tbt_collection_) delete custom_tbt_collection_;
 	if (common_tbt_collection_) delete common_tbt_collection_;
 	ElementFactory::dropInstance();
@@ -284,51 +272,6 @@
 }
 
 /**
-	@return la collection commune
-*/
-ElementsCollection *QETApp::commonElementsCollection() {
-	if (!common_collection) {
-		common_collection = new FileElementsCollection(QETApp::commonElementsDir());
-		common_collection -> setTitle(tr("Collection QET"));
-		common_collection -> setIcon(QIcon(":/ico/16x16/qet.png"));
-		common_collection -> setProtocol("common");
-		common_collection -> setCache(collections_cache_);
-	}
-	return(common_collection);
-}
-
-/**
-	@return la collection utilisateur
-*/
-ElementsCollection *QETApp::customElementsCollection() {
-	if (!custom_collection) {
-		custom_collection = new FileElementsCollection(QETApp::customElementsDir());
-		custom_collection -> setTitle(tr("Collection utilisateur"));
-		custom_collection -> setIcon(QIcon(":/ico/16x16/go-home.png"));
-		custom_collection -> setProtocol("custom");
-		custom_collection -> setCache(collections_cache_);
-	}
-	return(custom_collection);
-}
-
-/**
-	@return la liste des collections disponibles
-	Cela inclut typiquement la collection commune, la collection perso
-	ainsi que les collections embarquees dans les projets.
-*/
-QList<ElementsCollection *> QETApp::availableCollections() {
-	QList<ElementsCollection *> coll_list;
-
-	// collection commune
-	coll_list << commonElementsCollection();
-
-	// collection perso
-	coll_list << customElementsCollection();
-
-	return(coll_list);
-}
-
-/**
 	@return the collection cache provided by the application itself.
 */
 ElementsCollectionCache *QETApp::collectionCache() {
@@ -1666,103 +1609,7 @@
 	std::cout << qPrintable(QET::license()) << std::endl;
 }
 
-//@TODO remove code below
-///// Constructeur
-//QETStyle::QETStyle() : QPlastiqueStyle() {
-//}
-
-///// Destructeur
-//QETStyle::~QETStyle() {
-//}
-
-///// Gere les parametres de style
-//int QETStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returndata) const {
-//	if (hint == QStyle::SH_DialogButtonBox_ButtonsHaveIcons) {
-//		return(int(true));
-//	} else {
-//		return(QPlastiqueStyle::styleHint(hint, option, widget, returndata));
-//	}
-//}
-
-///// Gere les icones standard
-//QIcon QETStyle::standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *option, const QWidget* widget) const {
-//	switch(standardIcon) {
-//		case QStyle::SP_DialogSaveButton:
-//			return(QET::Icons::DocumentSave);
-//		case QStyle::SP_DialogOpenButton:
-//			return(QET::Icons::DocumentOpen);
-//		case QStyle::SP_DialogCancelButton:
-//			return(QET::Icons::DialogCancel);
-//		case QStyle::SP_DialogOkButton:
-//		case QStyle::SP_DialogApplyButton:
-//			return(QET::Icons::DialogOk);
-//		case QStyle::SP_DialogCloseButton:
-//			return(QET::Icons::DocumentClose);
-//		case QStyle::SP_DialogYesButton:
-//			return(QET::Icons::Allowed);
-//		case QStyle::SP_DialogNoButton:
-//			return(QET::Icons::Forbidden);
-//		case QStyle::SP_DialogResetButton:
-//			return(QET::Icons::EditUndo);
-//		case QStyle::SP_DialogHelpButton:
-//		case QStyle::SP_DialogDiscardButton:
-//			return(QIcon());
-//		default:
-//			return(QPlastiqueStyle::standardIconImplementation(standardIcon, option, widget));
-//	}
-//}
-
 /**
-	@param location adresse virtuelle d'un item (collection, categorie, element, ...)
-	@param prefer_collections true pour renvoyer la collection lorsque le
-	chemin correspond aussi bien a une collection qu'a sa categorie racine
-	@return l'item correspondant a l'adresse virtuelle path, ou 0 si celui-ci n'a pas ete trouve
-*/
-ElementsCollectionItem *QETApp::collectionItem(const ElementsLocation &location, bool prefer_collections)
-{
-	QString path(location.path());
-	if (path.startsWith("common://")) {
-		return(common_collection -> item(path, prefer_collections));
-	} else if (path.startsWith("custom://")) {
-		return(custom_collection -> item(path, prefer_collections));
-	}
-
-	return(0);
-}
-
-/**
-	@param location adresse virtuelle de la categorie a creer
-	@return la categorie creee, ou 0 en cas d'echec
-*/
-ElementsCategory *QETApp::createCategory(const ElementsLocation &location)
-{
-	QString path(location.path());
-	if (path.startsWith("common://")) {
-		return(common_collection -> createCategory(path));
-	} else if (path.startsWith("custom://")) {
-		return(custom_collection -> createCategory(path));
-	}
-
-	return(0);
-}
-
-/**
-	@param location adresse virtuelle de l'element a creer
-	@return l'element cree, ou 0 en cas d'echec
-*/
-ElementDefinition *QETApp::createElement(const ElementsLocation &location)
-{
-	QString path(location.path());
-	if (path.startsWith("common://")) {
-		return(common_collection -> createElement(path));
-	} else if (path.startsWith("custom://")) {
-		return(custom_collection -> createElement(path));
-	}
-
-	return(0);
-}
-
-/**
 	@return la liste des projets avec leurs ids associes
 */
 QMap<uint, QETProject *> QETApp::registeredProjects() {

Modified: trunk/sources/qetapp.h
===================================================================
--- trunk/sources/qetapp.h	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/qetapp.h	2016-05-27 12:44:24 UTC (rev 4529)
@@ -30,12 +30,7 @@
 class AboutQET;
 class QETDiagramEditor;
 class QETElementEditor;
-class ElementsCollection;
 class ElementsCollectionCache;
-class ElementsCollectionItem;
-class FileElementsCollection;
-class ElementsCategory;
-class ElementDefinition;
 class TitleBlockTemplate;
 class TitleBlockTemplatesCollection;
 class TitleBlockTemplatesFilesCollection;
@@ -67,12 +62,6 @@
 	static void printVersion();
 	static void printLicense();
 	
-	static ElementsCollectionItem *collectionItem(const ElementsLocation &, bool = true);
-	static ElementsCategory *createCategory(const ElementsLocation &);
-	static ElementDefinition *createElement(const ElementsLocation &);
-	static ElementsCollection *commonElementsCollection();
-	static ElementsCollection *customElementsCollection();
-	static QList<ElementsCollection *> availableCollections();
 	static ElementsCollectionCache *collectionCache();
 	static QStringList elementInfoKeys();
 	static QString elementTranslatedInfoKey(QString &);
@@ -170,8 +159,6 @@
 	bool non_interactive_execution_;    ///< Whether the application will end without any user interaction
 	QPalette initial_palette_;          ///< System color palette
 	
-	static FileElementsCollection *common_collection;
-	static FileElementsCollection *custom_collection;
 	static TitleBlockTemplatesFilesCollection *common_tbt_collection_;
 	static TitleBlockTemplatesFilesCollection *custom_tbt_collection_;
 	static ElementsCollectionCache *collections_cache_;
@@ -236,19 +223,4 @@
 	static QETProject *projectFromString(const QString &);
 };
 
-//TODO remove code below
-///**
-//	This class represents the custom QElectroTech style.
-//	It implements simple modification such as extra standard icons.
-//*/
-//class QETStyle : public QPlastiqueStyle {
-//	Q_OBJECT
-//	public:
-//	QETStyle();
-//	virtual ~QETStyle();
-//	virtual int styleHint(StyleHint hint, const QStyleOption * = 0, const QWidget * = 0, QStyleHintReturn * = 0) const;
-	
-//	protected slots:
-//	virtual QIcon standardIconImplementation(StandardPixmap, const QStyleOption * = 0, const QWidget * = 0) const;
-//};
 #endif

Modified: trunk/sources/qetdiagrameditor.cpp
===================================================================
--- trunk/sources/qetdiagrameditor.cpp	2016-05-26 21:26:38 UTC (rev 4528)
+++ trunk/sources/qetdiagrameditor.cpp	2016-05-27 12:44:24 UTC (rev 4529)
@@ -2008,39 +2008,8 @@
 	d'elements.
 */
 void QETDiagramEditor::findElementInPanel(const ElementsLocation &location) {
-	bool element_found = pa -> elementsPanel().scrollToElement(location);
-	if (!element_found) {
-		// l'element n'a pas ete trouve
-		
-		ElementsCollectionItem *element = QETApp::collectionItem(location);
-		if (element) {
-			// mais il semble exister tout de meme
-			
-			// peut-etre vient-il d'un projet ouvert dans un autre editeur ?
-			if (location.project() && !findProject(location.project())) {
-				statusBar() -> showMessage(
-					tr("Impossible de retrouver cet élément dans le panel car il semble édité dans une autre fenêtre"),
-					10000
-				);
-			} else {
-				// il devrait etre affiche : on tente de recharger le panel
-				statusBar() -> showMessage(
-					tr("Impossible de retrouver cet élément dans le panel... rechargement du panel..."),
-					10000
-				);
-				pa -> reloadAndFilter();
-				statusBar() -> clearMessage();
-				element_found = pa -> elementsPanel().scrollToElement(location);
-			}
-		}
-	}
-	
-	if (!element_found) {
-		statusBar() -> showMessage(
-			tr("Impossible de retrouver cet élément dans le panel"),
-			10000
-		);
-	}
+	//@TODO implement this method for the new element panel
+	Q_UNUSED (location);
 }
 
 /**


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/