| 116 | } |
| 117 | |
| 118 | void SceneObjectsListDrawer::changeSelection( bool isDown, bool isShift ) |
| 119 | { |
| 120 | const auto& all = SceneCache::getAllObjects<Object, ObjectSelectivityType::Selectable>(); |
| 121 | const auto& selected = SceneCache::getAllObjects<Object, ObjectSelectivityType::Selected>(); |
| 122 | if ( isDown ) |
| 123 | { |
| 124 | if ( downLastSelected_.index != -1 ) |
| 125 | { |
| 126 | if ( !isShift ) |
| 127 | for ( const auto& data : selected ) |
| 128 | data->select( false ); |
| 129 | all[downLastSelected_.index]->select( true ); |
| 130 | downLastSelected_.needScroll = true; |
| 131 | if ( showNewSelectedObjects_ ) |
| 132 | all[downLastSelected_.index]->setGlobalVisibility( true ); |
| 133 | } |
| 134 | } |
| 135 | else |
| 136 | { |
| 137 | if ( upFirstSelected_.index != -1 ) |
| 138 | { |
| 139 | if ( !isShift ) |
| 140 | for ( const auto& data : selected ) |
| 141 | data->select( false ); |
| 142 | all[upFirstSelected_.index]->select( true ); |
| 143 | upFirstSelected_.needScroll = true; |
| 144 | if ( showNewSelectedObjects_ ) |
| 145 | all[upFirstSelected_.index]->setGlobalVisibility( true ); |
| 146 | } |
| 147 | } |
| 148 | } |
| 149 | |
| 150 | void SceneObjectsListDrawer::changeVisible( bool isDown ) |
| 151 | { |
no test coverage detected