void ViewWorkspace::on_resized() { clan::Rect workspace_area = get_workspace_area(); for (std::vector<ViewPage>::iterator it = pages.begin(); it != pages.end(); ++it) (*it).view->set_geometry(workspace_area); request_repaint(); }
void StatusBar::set_part_text(int id, const Image &icon, const std::string &text) { unsigned int index = impl->find_part(id); impl->statusbar_parts[index].icon = icon; impl->statusbar_parts[index].text = text; request_repaint(); }
void CL_StatusBar::set_part_text(int id, const CL_StringRef &text) { unsigned int index = impl->find_part(id); impl->statusbar_parts[index].icon = CL_Image(); impl->statusbar_parts[index].text = text; request_repaint(); }
void CL_ListView::set_select_whole_row(bool value) { impl->cancel_edit(); impl->select_whole_row = value; request_repaint(); }
TabPage *Tab::add_page(const std::string &label, int id) { TabPage *tab_page = new TabPage(this); tab_page->impl->id = id; tab_page->impl->label = label; bool select_added_page = true; if (!impl->pages.empty()) { tab_page->set_visible(false); select_added_page = false; } impl->pages.push_back(tab_page); impl->tab_header->add_page(tab_page, label); tab_page->set_geometry(impl->get_client_rect()); request_repaint(); if (select_added_page) { impl->tab_header->select_page(0); } return tab_page; }
void ProgressBar::step_position() { impl->position += impl->step_size; impl->check_range(); request_repaint(); }
void CL_ScrollBar::set_vertical() { impl->vertical = true; impl->create_parts(); if(impl->update_part_positions()) request_repaint(); }
void RadialMenu::clear_items() { selected_index = -1; max_angle = CL_Angle::from_degrees(0); items.clear(); request_repaint(); }
void ProgressBar::set_max(int progress_max) { impl->progress_max = progress_max; impl->check_range(); request_repaint(); }
void CL_ListView::clear_selection() { impl->cancel_edit(); impl->selection.clear(); request_repaint(); }
void ProgressBar::set_min(int progress_min) { impl->progress_min = progress_min; impl->check_range(); request_repaint(); }
void ProgressBar::set_position(int pos) { impl->position = pos; impl->check_range(); request_repaint(); }
void GridComponent::set_boundary_size(const clan::Size &size) { boundary.width = size.width; boundary.height = size.height; on_resized(); request_repaint(); }
void ProgressBar::advance_position(int pos) { impl->position += pos; impl->check_range(); request_repaint(); }
void ScrollBar::set_horizontal() { impl->vertical = false; impl->create_parts(); if(impl->update_part_positions()) request_repaint(); }
void CL_ListView::clear() { impl->cancel_edit(); clear_selection(); impl->document_item.remove_children(); request_repaint(); }
void RadialMenu::add_item(const CL_String &text) { items.push_back(RadialMenuItem(text)); max_angle = CL_Angle::from_degrees((items.size() - 1) * 45.0f + 22.5f); request_repaint(); }
void GridComponent::set_netselect_box(clan::Rect new_netselect_box) { if (netselect_box != new_netselect_box) { netselect_box = new_netselect_box; request_repaint(); } }
void Toolbar::on_mouse_lbutton_up(CL_InputEvent &input_event) { if(clicked_index != -1) if (!func_selected.is_null()) func_selected.invoke(clicked_index); clicked_index = -1; request_repaint(); }
void StatusBar::remove_part(int id) { unsigned int index = impl->find_part(id); if (impl->statusbar_parts[index].component) impl->statusbar_parts[index].component->set_visible(false); impl->statusbar_parts.erase(impl->statusbar_parts.begin() + index); impl->position_parts(); request_repaint(); }
void StatusBar::show_part(int id, bool show) { unsigned int index = impl->find_part(id); impl->statusbar_parts[index].visible = true; if (impl->statusbar_parts[index].component) impl->statusbar_parts[index].component->set_visible(show, false); impl->position_parts(); request_repaint(); }
void ViewWorkspace::set_view_color(View *view, clan::Colorf &color) { int page_index = find_view_index(view); if (page_index != current_page_index) { pages[page_index].color = color; request_repaint(); } }
void Info::set(int new_xpos, int new_ypos, const std::string &new_name) { name = new_name; activated_time = 0; activated_flag = false; request_repaint(); set_geometry(clan::Rect(new_xpos, new_ypos, clan::Size(120, 16))); }
void StatusBar::add_part(int id, int width, GUIComponent *component) { impl->throw_if_part_exists(id); StatusBar_Part status_part(id, width, component); impl->statusbar_parts.push_back(status_part); impl->position_parts(); request_repaint(); if (component) component->set_visible(true, false); }
DockedFrame::DockedFrame(GUIComponent *parent, DockableComponent *dockable) : GUIComponent(parent, "docked-frame"), dockable(dockable) { func_resized().set(this, &DockedFrame::on_resized); func_render().set(this, &DockedFrame::on_render); dockable->set_parent_component(this); dockable->set_visible(true, false); set_visible(false, false); on_resized(); request_repaint(); }
void ScrollBar::set_position(int pos) { impl->position = pos; if (pos >= impl->scroll_max) impl->position = impl->scroll_max-1; if (pos < impl->scroll_min) impl->position = impl->scroll_min; if(impl->update_part_positions()) request_repaint(); }
CL_GUIComponent::CL_GUIComponent(CL_GUIComponent *owner, CL_GUITopLevelDescription description) : impl(CL_GUIComponent_Impl::create_from_owner(owner)) { impl->component = this; impl->allow_resize = description.get_allow_resize(); impl->visible = description.is_visible(); impl->gui_manager.lock()->add_component(this, owner, description); impl->type_name = "component"; impl->geometry = impl->gui_manager.lock()->window_manager.get_geometry(impl->gui_manager.lock()->get_toplevel_window(this), true); request_repaint(); }
void ViewWorkspace::show_view(unsigned int index) { current_page_index = index; if (!pages.empty()) { for (size_t i = 0; i < pages.size(); i++) pages[i].view->set_visible(i == index); pages[index].color = clan::Colorf::black; } request_repaint(); }
void GridComponent::load(const std::string &fullname) { clan::DomDocument doc; clan::File file = clan::File(fullname, clan::File::open_existing, clan::File::access_read); doc.load(file); clan::DomElement element_components = doc.get_document_element(); load(element_components, component_container); request_repaint(); }
void Toolbar::on_mouse_move(CL_InputEvent &input_event) { int pos_x = start_x; int pos_y = start_y; for(unsigned int i = 0; i < items.size(); ++i) { CL_Rect icon_rect(pos_x, pos_y, pos_x + items[i].icon.get_width(), pos_y + items[i].icon.get_height()); if(icon_rect.contains(input_event.mouse_pos)) { selected_index = i; request_repaint(); return; } pos_x += offset_x; } clicked_index = -1; selected_index = -1; request_repaint(); }