RebuildMatList();
- ui.widgetObjectList->UpdateContextmenuState();
-
updateView_All();
}
void FormMain::DeleteSelectedObject()
{
- QTreeWidget* obj_tree = ui.widgetObjectList->GetTree();
- QTreeWidgetItem* ti = obj_tree->currentItem();
- if (ti == NULL)
- return;
-
- QTreeWidgetItem* pn = ti->parent();
-
- int sel_idx;
- if (pn == NULL)
- sel_idx = obj_tree->indexOfTopLevelItem(ti);
- else
- sel_idx = obj_tree->indexOfTopLevelItem(pn);
-
+ int sel_idx = ui.widgetObjectList->getSelObjIdx();
if (sel_idx < 0)
return;
m_View3d.ClearRenderMap();
- obj_tree->setCurrentItem(NULL);
- obj_tree->takeTopLevelItem(sel_idx);
+ ui.widgetObjectList->removeObject(sel_idx);
- ui.widgetObjectList->ResizeObjectTreeColumns();
+ int sel_idx2 = ui.widgetObjectList->getSelObjIdxWhenSelObjNode();
- ti = obj_tree->currentItem();
- sel_idx = obj_tree->indexOfTopLevelItem(ti);
- m_Scene.m_Sels.SelectObject(sel_idx);
+ m_Scene.m_Sels.SelectObject(sel_idx2);
m_Scene.UpdateTransform();
int mb_idx = on->indexOfChild(sel_node);
sels.SelectMBuf(obj_idx, mb_idx);
}
+
+ UpdateContextmenuState();
}
void WidgetObjectList::on_treeObjects_itemChanged(QTreeWidgetItem * item, int column)
ResizeObjectTreeColumns();
}
+
+int WidgetObjectList::getSelObjIdx()
+{
+ QTreeWidget* obj_tree = GetTree();
+ QTreeWidgetItem* ti = obj_tree->currentItem();
+ if (ti == NULL)
+ return -1;
+
+ QTreeWidgetItem* pn = ti->parent();
+
+ // 2\91w\8d\\91¢\82Å\82 \82é\82Æ\82¢\82¤\91O\92ñ\82Å
+ // 1\91w\96Ú\82ª\83I\83u\83W\83F\83N\83g\83m\81[\83h
+ // 2\91w\96Ú\82ª\83\81\83b\83V\83\85\83m\81[\83h
+ if (pn == NULL)
+ return obj_tree->indexOfTopLevelItem(ti);
+ else
+ return obj_tree->indexOfTopLevelItem(pn);
+}
+
+int WidgetObjectList::getSelObjIdxWhenSelObjNode()
+{
+ QTreeWidget* obj_tree = GetTree();
+ QTreeWidgetItem* ti = obj_tree->currentItem();
+ return obj_tree->indexOfTopLevelItem(ti);
+}
+
+void WidgetObjectList::removeObject(int objectIdx)
+{
+ QTreeWidget* obj_tree = GetTree();
+ obj_tree->setCurrentItem(NULL);
+ obj_tree->takeTopLevelItem(objectIdx);
+
+ ResizeObjectTreeColumns();
+}
void RebuildObjectList(void);
void OnDoneAddGeom(void);
+ int getSelObjIdx();
+ int getSelObjIdxWhenSelObjNode();
+ void removeObject(int objectIdx);
+
private slots:
void on_treeObjects_itemChanged( QTreeWidgetItem * item, int column);
void on_treeObjects_currentItemChanged(QTreeWidgetItem * current, QTreeWidgetItem * previous);