--- gigedit/trunk/src/dimensionmanager.cpp 2007/03/23 00:22:44 1111 +++ gigedit/trunk/src/dimensionmanager.cpp 2007/03/23 15:32:08 1112 @@ -215,10 +215,9 @@ show_all_children(); } -void DimensionManager::show(gig::Region* region) { - this->region = region; +// update all GUI elements according to current gig::Region informations +void DimensionManager::refreshManager() { refTableModel->clear(); - for (int i = 0; i < region->Dimensions; i++) { gig::dimension_def_t* dim = ®ion->pDimensionDefinitions[i]; Gtk::TreeModel::Row row = *(refTableModel->append()); @@ -228,7 +227,11 @@ row[tableModel.m_description] = __dimDescriptionAsString(dim->dimension); row[tableModel.m_definition] = dim; } +} +void DimensionManager::show(gig::Region* region) { + this->region = region; + refreshManager(); Gtk::Window::show(); deiconify(); } @@ -286,6 +289,8 @@ region->AddDimension(&dim); // let everybody know there was a change articulation_changed_signal.emit(); + // update all GUI elements + refreshManager(); } } catch (RIFF::Exception e) { Glib::ustring txt = "Could not remove dimension: " + e.Message;