misc...
	* fix: deselecting particular primitives, invert selection work for expanded group entity selection (these are deselecting parent node)
	* do not render entities selection in components mode; fixes 'invisible components for expanded group entity selection'
This commit is contained in:
Garux 2017-08-02 08:43:59 +03:00
parent a62c7302d3
commit 3ec33465b1
4 changed files with 18 additions and 1 deletions

View File

@ -739,6 +739,10 @@ bool parentSelected() const {
}
return m_parentSelected;
}
Instance* parent() const
{
return m_parent;
}
};
}

View File

@ -3197,6 +3197,11 @@ bool isSelected() const {
}
void setSelected( bool select ){
m_selectable.setSelected( select );
if ( !select && parent() ){
Selectable* sel_parent = Instance_getSelectable( *parent() );
if ( sel_parent && sel_parent->isSelected() )
sel_parent->setSelected( false );
}
}
void update_selected() const {

View File

@ -1422,6 +1422,11 @@ void allocate( std::size_t size ){
void setSelected( bool select ){
m_selectable.setSelected( select );
if ( !select && parent() ){
Selectable* sel_parent = Instance_getSelectable( *parent() );
if ( sel_parent && sel_parent->isSelected() )
sel_parent->setSelected( false );
}
}
bool isSelected() const {
return m_selectable.isSelected();

View File

@ -149,6 +149,9 @@ bool pre( const scene::Path& path, scene::Instance& instance, VolumeIntersection
else if ( renderable ) {
renderable->renderComponents( m_renderer, m_volume );
}
//if( !(GlobalSelectionSystem().Mode() == SelectionSystem::eComponent && path.size() == 2) )
//if( !( GlobalSelectionSystem().Mode() == SelectionSystem::eComponent && node_is_group( path.top() ) ) )
if( !( GlobalSelectionSystem().Mode() == SelectionSystem::eComponent && Node_isEntity( path.top() ) ) )
m_renderer.Highlight( Renderer::ePrimitive );
}