From 9198bfde36975a9fcbe8e58ee140b9eb847c132e Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Mon, 8 Mar 2010 10:15:39 +0000 Subject: [PATCH] -Getter for ActiveViews in SceneSelection -Added some const markers git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1785 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/gui/pymod/export_scene_selection.cc | 4 +++- modules/gui/src/scene_selection.cc | 18 ++++++++++++++---- modules/gui/src/scene_selection.hh | 9 +++++---- modules/gui/src/scene_win/context_menu.hh | 10 ---------- modules/gui/src/scene_win/entity_node.cc | 2 +- modules/gui/src/scene_win/entity_node.hh | 2 +- modules/gui/src/scene_win/entity_part_node.cc | 2 +- modules/gui/src/scene_win/entity_part_node.hh | 2 +- modules/gui/src/scene_win/render_modes_node.cc | 2 +- modules/gui/src/scene_win/render_modes_node.hh | 2 +- modules/gui/src/scene_win/scene_win.cc | 2 +- modules/gui/src/scene_win/scene_win.hh | 2 +- 12 files changed, 30 insertions(+), 27 deletions(-) diff --git a/modules/gui/pymod/export_scene_selection.cc b/modules/gui/pymod/export_scene_selection.cc index bae499fc5..239826aba 100644 --- a/modules/gui/pymod/export_scene_selection.cc +++ b/modules/gui/pymod/export_scene_selection.cc @@ -30,7 +30,9 @@ void export_SceneSelection() class_<SceneSelection, boost::noncopyable>("SceneSelection",no_init) .def("Instance", &SceneSelection::Instance, return_value_policy<reference_existing_object>()).staticmethod("Instance") - .def("GetActiveNode",&SceneSelection::GetActiveNode) .def("GetActiveNodeCount",&SceneSelection::GetActiveNodeCount) + .def("GetActiveNode",&SceneSelection::GetActiveNode) + .def("GetActiveViewCount", &SceneSelection::GetActiveViewCount) + .def("GetActiveView", &SceneSelection::GetActiveView) ; } diff --git a/modules/gui/src/scene_selection.cc b/modules/gui/src/scene_selection.cc index d0ba0039a..f8aa76bb4 100644 --- a/modules/gui/src/scene_selection.cc +++ b/modules/gui/src/scene_selection.cc @@ -50,7 +50,7 @@ void SceneSelection::SetActiveNodes(gfx::NodePtrList nodes, gfx::EntityP entity, views_ = views; } -gfx::GfxNodeP SceneSelection::GetActiveNode(unsigned int pos){ +gfx::GfxNodeP SceneSelection::GetActiveNode(unsigned int pos) const{ if(pos >= 0 && pos < nodes_.size()){ return nodes_[pos]; } @@ -59,14 +59,24 @@ gfx::GfxNodeP SceneSelection::GetActiveNode(unsigned int pos){ } } -int SceneSelection::GetActiveNodeCount(){ +int SceneSelection::GetActiveNodeCount() const{ return nodes_.size(); } -int SceneSelection::GetActiveViewCount(){ +int SceneSelection::GetActiveViewCount() const{ return views_.size(); } +mol::EntityView SceneSelection::GetActiveView(unsigned int pos) const{ + if(pos >=0 && pos < views_.size()){ + return views_[pos].GetEntityView(); + } + else{ + throw Error("Index out of bounds: There is no active vies at the given position"); + } +} + + SceneSelection* SceneSelection::Instance() { if (!SceneSelection::scene_selection_) { SceneSelection::scene_selection_=new SceneSelection; @@ -217,7 +227,7 @@ void SceneSelection::MakeHidden(){ } } -gfx::EntityP SceneSelection::GetViewEntity(){ +gfx::EntityP SceneSelection::GetViewEntity() const{ return view_entity_; } diff --git a/modules/gui/src/scene_selection.hh b/modules/gui/src/scene_selection.hh index dd89f19f7..079b25a96 100644 --- a/modules/gui/src/scene_selection.hh +++ b/modules/gui/src/scene_selection.hh @@ -35,10 +35,11 @@ class DLLEXPORT_OST_GUI SceneSelection : public QObject { Q_OBJECT public: static SceneSelection* Instance(); - gfx::GfxNodeP GetActiveNode(unsigned int pos); - int GetActiveNodeCount(); - int GetActiveViewCount(); - gfx::EntityP GetViewEntity(); + int GetActiveNodeCount() const; + gfx::GfxNodeP GetActiveNode(unsigned int pos) const; + int GetActiveViewCount() const; + mol::EntityView GetActiveView(unsigned int pos) const; + gfx::EntityP GetViewEntity() const; public slots: void CenterOnObjects(); diff --git a/modules/gui/src/scene_win/context_menu.hh b/modules/gui/src/scene_win/context_menu.hh index 41b38864f..28a1dab0f 100644 --- a/modules/gui/src/scene_win/context_menu.hh +++ b/modules/gui/src/scene_win/context_menu.hh @@ -32,14 +32,6 @@ namespace ost { namespace gui { -enum ContextMenuType { - GFX_OBJECTS = 1, - ENTITIES, - ENTITY_VIEWS, - MIX -}; - - class DLLEXPORT_OST_GUI ContextMenu : public QObject { Q_OBJECT public: @@ -56,8 +48,6 @@ private slots: private: - gui::ContextMenuType GetType(); - QTreeView* view_; SceneWinModel* model_; }; diff --git a/modules/gui/src/scene_win/entity_node.cc b/modules/gui/src/scene_win/entity_node.cc index 3b10dbbba..a133a67b2 100644 --- a/modules/gui/src/scene_win/entity_node.cc +++ b/modules/gui/src/scene_win/entity_node.cc @@ -61,7 +61,7 @@ EntityNode::EntityNode(gfx::EntityP& entity, SceneNode* parent): model->AddNode(this, node); } -SceneNode* EntityNode::GetCustomViewNode(){ +SceneNode* EntityNode::GetCustomViewNode() const{ return custom_view_; } diff --git a/modules/gui/src/scene_win/entity_node.hh b/modules/gui/src/scene_win/entity_node.hh index fa776f377..8b716ec11 100644 --- a/modules/gui/src/scene_win/entity_node.hh +++ b/modules/gui/src/scene_win/entity_node.hh @@ -39,7 +39,7 @@ class DLLEXPORT_OST_GUI EntityNode : public GfxSceneNode { public: EntityNode(gfx::EntityP& entity, SceneNode* node_parent); - SceneNode* GetCustomViewNode(); + SceneNode* GetCustomViewNode() const; private: SceneNode* custom_view_; diff --git a/modules/gui/src/scene_win/entity_part_node.cc b/modules/gui/src/scene_win/entity_part_node.cc index cfa596780..dd56f2484 100644 --- a/modules/gui/src/scene_win/entity_part_node.cc +++ b/modules/gui/src/scene_win/entity_part_node.cc @@ -67,7 +67,7 @@ void EntityPartNode::SetVisible(bool visible){ visible_ = visible; } -bool EntityPartNode::GetVisible(){ +bool EntityPartNode::GetVisible() const{ return visible_; } diff --git a/modules/gui/src/scene_win/entity_part_node.hh b/modules/gui/src/scene_win/entity_part_node.hh index 191350d34..7f7d36297 100644 --- a/modules/gui/src/scene_win/entity_part_node.hh +++ b/modules/gui/src/scene_win/entity_part_node.hh @@ -55,7 +55,7 @@ public: protected: virtual void SetVisible(bool visible); - virtual bool GetVisible(); + virtual bool GetVisible() const; private: QString name_; diff --git a/modules/gui/src/scene_win/render_modes_node.cc b/modules/gui/src/scene_win/render_modes_node.cc index 02cfae68a..0e46a1a03 100644 --- a/modules/gui/src/scene_win/render_modes_node.cc +++ b/modules/gui/src/scene_win/render_modes_node.cc @@ -71,7 +71,7 @@ void RenderModesNode::Update(){ } -gfx::GfxNodeP RenderModesNode::GetGfxNode(){ +gfx::GfxNodeP RenderModesNode::GetGfxNode() const{ return node_; } diff --git a/modules/gui/src/scene_win/render_modes_node.hh b/modules/gui/src/scene_win/render_modes_node.hh index 691f0d094..231bf41bf 100644 --- a/modules/gui/src/scene_win/render_modes_node.hh +++ b/modules/gui/src/scene_win/render_modes_node.hh @@ -48,7 +48,7 @@ public: RenderModesNode(gfx::EntityP entity, SceneNode* node_parent ); virtual void RenderModeChanged(); - gfx::GfxNodeP GetGfxNode(); + gfx::GfxNodeP GetGfxNode() const; private: void Update(); diff --git a/modules/gui/src/scene_win/scene_win.cc b/modules/gui/src/scene_win/scene_win.cc index 8602fb2cc..1a8f5c68e 100644 --- a/modules/gui/src/scene_win/scene_win.cc +++ b/modules/gui/src/scene_win/scene_win.cc @@ -91,7 +91,7 @@ void SceneWin::OnSelectionChange(const QItemSelection& sel, emit this->ActiveNodesChanged(); } -SceneWinModel* SceneWin::GetModel(){ +SceneWinModel* SceneWin::GetModel() const{ return model_; } diff --git a/modules/gui/src/scene_win/scene_win.hh b/modules/gui/src/scene_win/scene_win.hh index 09d9b139c..0cdf11540 100644 --- a/modules/gui/src/scene_win/scene_win.hh +++ b/modules/gui/src/scene_win/scene_win.hh @@ -60,7 +60,7 @@ public slots: void ContextMenuRequested(const QPoint& pos); - SceneWinModel* GetModel(); + SceneWinModel* GetModel() const; void Update(); -- GitLab