diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_proxy_model.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_proxy_model.cpp
new file mode 100644
index 000000000..d3657d13b
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_proxy_model.cpp
@@ -0,0 +1,56 @@
+// Object Viewer Qt - BNP Manager Plugin - MMORPG Framework
+// Copyright (C) 2011 Roland Winklmeier
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program 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 Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see
+
+// NeL includes
+#include
+
+// project includes
+#include "bnp_proxy_model.h"
+
+namespace BNPManager
+{
+
+bool BNPSortProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const
+{
+ if ( sourceModel()->hasChildren(left) )
+ {
+ if ( !sourceModel()->hasChildren(right) )
+ {
+ return true;
+ }
+ else
+ {
+ QString leftString = sourceModel()->data( left ).toString();
+ QString rightString = sourceModel()->data( right ).toString();
+ return QString::localeAwareCompare(leftString, rightString) < 0;
+ }
+ }
+ else
+ {
+ if ( sourceModel()->hasChildren(right) )
+ return false;
+ else
+ {
+ QString leftString = sourceModel()->data( left ).toString();
+ QString rightString = sourceModel()->data( right ).toString();
+ return QString::localeAwareCompare(leftString, rightString) < 0;
+ }
+ }
+}
+
+} /* namespace Plugin */
+
+/* end of file */
diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_proxy_model.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_proxy_model.h
new file mode 100644
index 000000000..ed2da5966
--- /dev/null
+++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_proxy_model.h
@@ -0,0 +1,44 @@
+// Object Viewer Qt - BNP Manager Plugin - MMORPG Framework
+// Copyright (C) 2011 Roland Winklmeier
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program 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 Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see
+
+#ifndef BNP_PROXY_MODEL_H
+#define BNP_PROXY_MODEL_H
+
+// Qt includes
+#include
+
+namespace BNPManager
+{
+
+ class BNPSortProxyModel : public QSortFilterProxyModel
+ {
+
+ public:
+ BNPSortProxyModel(QObject *parent = 0): QSortFilterProxyModel(parent)
+ {
+ }
+ ~BNPSortProxyModel()
+ {
+ }
+
+ protected:
+ virtual bool lessThan ( const QModelIndex & left, const QModelIndex & right ) const;
+
+ };/* class BNPSortProxyModel */
+
+} // BNPManager
+
+#endif // BNP_PROXY_MODEL_H