| 6311 | } |
| 6312 | |
| 6313 | void |
| 6314 | LayoutViewBase::descend (const std::vector<db::InstElement> &path, int index) |
| 6315 | { |
| 6316 | if (! path.empty () && index >= 0 && int (m_cellviews.size ()) > index && cellview_iter (index)->is_valid ()) { |
| 6317 | |
| 6318 | cellview_about_to_change_event (index); |
| 6319 | |
| 6320 | cancel (); |
| 6321 | |
| 6322 | lay::CellView::specific_cell_path_type spath (cellview_iter (index)->specific_path ()); |
| 6323 | spath.insert (spath.end (), path.begin (), path.end ()); |
| 6324 | cellview_iter (index)->set_specific_path (spath); |
| 6325 | |
| 6326 | store_state (); |
| 6327 | redraw (); |
| 6328 | |
| 6329 | cellview_changed (index); |
| 6330 | |
| 6331 | update_content (); |
| 6332 | |
| 6333 | } |
| 6334 | } |
| 6335 | |
| 6336 | bool |
| 6337 | LayoutViewBase::is_editable () const |