-OptionsDialogModel::OptionsDialogModel(QObject *parentObject)
- : QAbstractItemModel(parentObject)
-{
- this->Root = new OptionsDialogModelItem();
-}
-
-OptionsDialogModel::~OptionsDialogModel()
-{
- delete this->Root;
-}
-
-int OptionsDialogModel::rowCount(const QModelIndex &parentIndex) const
-{
- OptionsDialogModelItem *item = this->Root;
- if(parentIndex.isValid())
- {
- item = reinterpret_cast<OptionsDialogModelItem *>(
- parentIndex.internalPointer());
- }
-
- return item->Children.size();
-}
-
-int OptionsDialogModel::columnCount(const QModelIndex &) const
-{
- return 1;
-}
-
-QModelIndex OptionsDialogModel::index(int row, int column,
- const QModelIndex &parentIndex) const
-{
- OptionsDialogModelItem *item = this->Root;
- if(parentIndex.isValid())
- {
- item = reinterpret_cast<OptionsDialogModelItem *>(
- parentIndex.internalPointer());
- }
-
- if(column == 0 && row >= 0 && row < item->Children.size())
- {
- return this->createIndex(row, column, item->Children[row]);
- }
-
- return QModelIndex();
-}
-
-QModelIndex OptionsDialogModel::parent(const QModelIndex &child) const
-{
- if(child.isValid())
- {
- OptionsDialogModelItem *item =
- reinterpret_cast<OptionsDialogModelItem *>(child.internalPointer());
- return this->getIndex(item->Parent);
- }
-
- return QModelIndex();
-}
-
-QVariant OptionsDialogModel::data(const QModelIndex &idx, int role) const
-{
- if(idx.isValid())
- {
- OptionsDialogModelItem *item =
- reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
- if(role == Qt::DisplayRole || role == Qt::ToolTipRole)
- {
- return QVariant(item->Name);
- }
- }
-
- return QVariant();
-}
-
-QModelIndex OptionsDialogModel::getIndex(const QString &path) const
-{
- OptionsDialogModelItem *item = this->Root;
- QStringList names = path.split(".");
- QStringList::Iterator iter = names.begin();
- for( ; item && iter != names.end(); ++iter)
- {
- OptionsDialogModelItem *child = 0;
- QList<OptionsDialogModelItem *>::Iterator jter = item->Children.begin();
- for( ; jter != item->Children.end(); ++jter)
- {
- if((*jter)->Name == *iter)
- {
- child = *jter;
- break;
- }
- }
-
- item = child;
- }
-
- if(item && item != this->Root)
- {
- return this->getIndex(item);
- }
-
- return QModelIndex();
-}
-
-QString OptionsDialogModel::getPath(const QModelIndex &idx) const
-{
- if(idx.isValid())
- {
- QString path;
- OptionsDialogModelItem *item =
- reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
- if(item)
- {
- path = item->Name;
- item = item->Parent;
- }
-
- while(item && item != this->Root)
- {
- path.prepend(".").prepend(item->Name);
- item = item->Parent;
- }
-
- return path;
- }
-
- return QString();
-}
-
-void OptionsDialogModel::addPath(const QString &path)
-{
- OptionsDialogModelItem *item = this->Root;
- QStringList names = path.split(".");
- QStringList::Iterator iter = names.begin();
- for( ; iter != names.end(); ++iter)
- {
- OptionsDialogModelItem *child = 0;
- QList<OptionsDialogModelItem *>::Iterator jter = item->Children.begin();
- for( ; jter != item->Children.end(); ++jter)
- {
- if((*jter)->Name == *iter)
- {
- child = *jter;
- break;
- }
- }
-
- if(!child)
- {
- child = new OptionsDialogModelItem(*iter);
- child->Parent = item;
- QModelIndex parentIndex = this->getIndex(item);
- int row = item->Children.size();
- this->beginInsertRows(parentIndex, row, row);
- item->Children.append(child);
- this->endInsertRows();
- }
-
- item = child;
- }
-}
-
-bool OptionsDialogModel::removeIndex(const QModelIndex &idx)
-{
- if(idx.isValid())
- {
- OptionsDialogModelItem *item =
- reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
- if(item->Children.size() == 0)
- {
- QModelIndex parentIndex = this->getIndex(item->Parent);
- this->beginRemoveRows(parentIndex, idx.row(), idx.row());
- item->Parent->Children.removeAt(idx.row());
- this->endRemoveRows();
- delete item;
- return true;
- }
- }
-
- return false;
-}
-
-QModelIndex OptionsDialogModel::getIndex(
- OptionsDialogModelItem *item) const
-{
- if(item && item->Parent)
- {
- return this->createIndex(item->Parent->Children.indexOf(item), 0, item);
- }
-
- return QModelIndex();
-}
+//OptionsDialogModel::OptionsDialogModel(QObject *parentObject)
+// : QAbstractItemModel(parentObject)
+//{
+// this->Root = new OptionsDialogModelItem();
+//}
+//
+//OptionsDialogModel::~OptionsDialogModel()
+//{
+// delete this->Root;
+//}
+//
+//int OptionsDialogModel::rowCount(const QModelIndex &parentIndex) const
+//{
+// OptionsDialogModelItem *item = this->Root;
+// if(parentIndex.isValid())
+// {
+// item = reinterpret_cast<OptionsDialogModelItem *>(
+// parentIndex.internalPointer());
+// }
+//
+// return item->Children.size();
+//}
+//
+//int OptionsDialogModel::columnCount(const QModelIndex &) const
+//{
+// return 1;
+//}
+//
+//QModelIndex OptionsDialogModel::index(int row, int column,
+// const QModelIndex &parentIndex) const
+//{
+// OptionsDialogModelItem *item = this->Root;
+// if(parentIndex.isValid())
+// {
+// item = reinterpret_cast<OptionsDialogModelItem *>(
+// parentIndex.internalPointer());
+// }
+//
+// if(column == 0 && row >= 0 && row < item->Children.size())
+// {
+// return this->createIndex(row, column, item->Children[row]);
+// }
+//
+// return QModelIndex();
+//}
+//
+//QModelIndex OptionsDialogModel::parent(const QModelIndex &child) const
+//{
+// if(child.isValid())
+// {
+// OptionsDialogModelItem *item =
+// reinterpret_cast<OptionsDialogModelItem *>(child.internalPointer());
+// return this->getIndex(item->Parent);
+// }
+//
+// return QModelIndex();
+//}
+//
+//QVariant OptionsDialogModel::data(const QModelIndex &idx, int role) const
+//{
+// if(idx.isValid())
+// {
+// OptionsDialogModelItem *item =
+// reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
+// if(role == Qt::DisplayRole || role == Qt::ToolTipRole)
+// {
+// return QVariant(item->Name);
+// }
+// }
+//
+// return QVariant();
+//}
+//
+//QModelIndex OptionsDialogModel::getIndex(const QString &path) const
+//{
+// OptionsDialogModelItem *item = this->Root;
+// QStringList names = path.split(".");
+// QStringList::Iterator iter = names.begin();
+// for( ; item && iter != names.end(); ++iter)
+// {
+// OptionsDialogModelItem *child = 0;
+// QList<OptionsDialogModelItem *>::Iterator jter = item->Children.begin();
+// for( ; jter != item->Children.end(); ++jter)
+// {
+// if((*jter)->Name == *iter)
+// {
+// child = *jter;
+// break;
+// }
+// }
+//
+// item = child;
+// }
+//
+// if(item && item != this->Root)
+// {
+// return this->getIndex(item);
+// }
+//
+// return QModelIndex();
+//}
+//
+//QString OptionsDialogModel::getPath(const QModelIndex &idx) const
+//{
+// if(idx.isValid())
+// {
+// QString path;
+// OptionsDialogModelItem *item =
+// reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
+// if(item)
+// {
+// path = item->Name;
+// item = item->Parent;
+// }
+//
+// while(item && item != this->Root)
+// {
+// path.prepend(".").prepend(item->Name);
+// item = item->Parent;
+// }
+//
+// return path;
+// }
+//
+// return QString();
+//}
+//
+//void OptionsDialogModel::addPath(const QString &path)
+//{
+// OptionsDialogModelItem *item = this->Root;
+// QStringList names = path.split(".");
+// QStringList::Iterator iter = names.begin();
+// for( ; iter != names.end(); ++iter)
+// {
+// OptionsDialogModelItem *child = 0;
+// QList<OptionsDialogModelItem *>::Iterator jter = item->Children.begin();
+// for( ; jter != item->Children.end(); ++jter)
+// {
+// if((*jter)->Name == *iter)
+// {
+// child = *jter;
+// break;
+// }
+// }
+//
+// if(!child)
+// {
+// child = new OptionsDialogModelItem(*iter);
+// child->Parent = item;
+// QModelIndex parentIndex = this->getIndex(item);
+// int row = item->Children.size();
+// this->beginInsertRows(parentIndex, row, row);
+// item->Children.append(child);
+// this->endInsertRows();
+// }
+//
+// item = child;
+// }
+//}
+//
+//bool OptionsDialogModel::removeIndex(const QModelIndex &idx)
+//{
+// if(idx.isValid())
+// {
+// OptionsDialogModelItem *item =
+// reinterpret_cast<OptionsDialogModelItem *>(idx.internalPointer());
+// if(item->Children.size() == 0)
+// {
+// QModelIndex parentIndex = this->getIndex(item->Parent);
+// this->beginRemoveRows(parentIndex, idx.row(), idx.row());
+// item->Parent->Children.removeAt(idx.row());
+// this->endRemoveRows();
+// delete item;
+// return true;
+// }
+// }
+//
+// return false;
+//}
+//
+//QModelIndex OptionsDialogModel::getIndex(
+// OptionsDialogModelItem *item) const
+//{
+// if(item && item->Parent)
+// {
+// return this->createIndex(item->Parent->Children.indexOf(item), 0, item);
+// }
+//
+// return QModelIndex();
+//}