+
+/*******************************************************************/
+void FamilyShoppingManagerMainWindow::insertChild()
+{
+ QModelIndex index = ((ListManagerView*) activityView)->
+ selectionModel()->currentIndex();
+ QAbstractItemModel *model = ((ListManagerView*) activityView)->model();
+
+ if (model->columnCount(index) == 0) {
+ if (!model->insertColumn(0, index))
+ return;
+ }
+
+ if (!model->insertRow(0, index))
+ return;
+
+ for (int column = 0; column < model->columnCount(index); ++column)
+ {
+ QModelIndex child = model->index(0, column, index);
+ model->setData(child, QVariant("[No data]"), Qt::EditRole);
+ if (!model->headerData(column, Qt::Horizontal).isValid())
+ model->setHeaderData(column, Qt::Horizontal,
+ QVariant("[No header]"), Qt::EditRole);
+ }
+
+ ((ListManagerView*) activityView)->selectionModel()->
+ setCurrentIndex(model->index(0, 0, index),
+ QItemSelectionModel::ClearAndSelect);
+ ((ListManagerView*) activityView)->updateActions();
+ }
+
+/*******************************************************************/
+/*
+bool FamilyShoppingManagerMainWindow::insertColumn(const QModelIndex &parent)
+{
+ QAbstractItemModel *model = ((ListManagerView*) activityView)->model();
+ int column = ((ListManagerView*) activityView)->selectionModel()->
+ currentIndex().column();
+
+ // Insert a column in the parent item.
+ bool changed = model->insertColumn(column + 1, parent);
+ if (changed)
+ model->setHeaderData(column + 1, Qt::Horizontal,
+ QVariant("[No header]"), Qt::EditRole);
+
+ ((ListManagerView*) activityView)->updateActions();
+
+ return changed;
+}
+*/
+
+/*******************************************************************/
+void FamilyShoppingManagerMainWindow::insertRow()
+{
+ QModelIndex index = ((ListManagerView*) activityView)->
+ selectionModel()->currentIndex();
+ QAbstractItemModel *model = ((ListManagerView*) activityView)->model();
+
+ if (!model->insertRow(index.row()+1, index.parent()))
+ return;
+
+ ((ListManagerView*) activityView)->updateActions();
+
+ for(int column = 0; column < model->columnCount(index.parent()); ++column)
+ {
+ QModelIndex child = model->index(index.row()+1, column, index.parent());
+ model->setData(child, QVariant("New Item"), Qt::EditRole);
+ }
+}
+
+/*******************************************************************/
+/*
+bool FamilyShoppingManagerMainWindow::removeColumn(const QModelIndex &parent)
+{
+ QAbstractItemModel *model = ((ListManagerView*) activityView)->model();
+ int column = ((ListManagerView*) activityView)->selectionModel()->
+ currentIndex().column();
+
+ // Insert columns in each child of the parent item.
+ bool changed = model->removeColumn(column, parent);
+
+ if (!parent.isValid() && changed)
+ ((ListManagerView*) activityView)->updateActions();
+
+ return changed;
+}
+ */
+
+/*******************************************************************/
+void FamilyShoppingManagerMainWindow::removeRow()
+{
+ QModelIndex index = ((ListManagerView*) activityView)->
+ selectionModel()->currentIndex();
+ QAbstractItemModel *model = ((ListManagerView*) activityView)->model();
+ if (model->removeRow(index.row(), index.parent()))
+ ((ListManagerView*) activityView)->updateActions();
+}