-
-void Zonebar::update_groups()
-{
- const Layout::ZoneSet &zones = designer.get_layout().get_zones();
- set<string> groups;
- for(Layout::ZoneSet::const_iterator i=zones.begin(); i!=zones.end(); ++i)
- groups.insert((*i)->get_group());
-
- Zone *cur = designer.get_current_zone();
-
- drp_groups->clear();
- int selected = -1;
- unsigned n = 0;
- for(set<string>::iterator i=groups.begin(); i!=groups.end(); ++i, ++n)
- {
- drp_groups->append(*i);
- if(cur && *i==cur->get_group())
- selected = n;
- }
- drp_groups->append("(new)");
- drp_groups->set_selected_index(selected);
-
- if(cur)
- update_numbers(cur->get_group());
- else
- drp_numbers->clear();
-}
-
-void Zonebar::update_numbers(const string &group)
-{
- Layout::ZoneArray zones = designer.get_layout().get_zones(group);
- Zone *cur = designer.get_current_zone();
-
- drp_numbers->clear();
- int selected = -1;
- unsigned n = 0;
- for(Layout::ZoneArray::iterator i=zones.begin(); i!=zones.end(); ++i, ++n)
- {
- drp_numbers->append(format("%s %d", (*i)->get_qualifier(), (*i)->get_number()));
- if(cur && *i==cur)
- selected = n;
- }
- drp_numbers->append("(new)");
- drp_numbers->set_selected_index(selected);
-}