ConditionalHistogramFrame::ConditionalHistogramFrame(wxFrame *parent, Project* project, const std::vector<GdaVarTools::VarInfo>& var_info, const std::vector<int>& col_ids, const wxString& title, const wxPoint& pos, const wxSize& size, const long style) : ConditionalNewFrame(parent, project, var_info, col_ids, title, pos, size, style) { LOG_MSG("Entering ConditionalHistogramFrame::ConditionalHistogramFrame"); int width, height; GetClientSize(&width, &height); LOG(width); LOG(height); template_canvas = new ConditionalHistogramCanvas(this, this, project, var_info, col_ids, wxDefaultPosition, wxSize(width,height)); SetTitle(template_canvas->GetCanvasTitle()); template_canvas->SetScrollRate(1,1); DisplayStatusBar(true); Show(true); LOG_MSG("Exiting ConditionalHistogramFrame::ConditionalHistogramFrame"); }
WeightsManFrame::WeightsManFrame(wxFrame *parent, Project* project, const wxString& title, const wxPoint& pos, const wxSize& size, const long style) : TemplateFrame(parent, project, title, pos, size, style), conn_hist_canvas(0), conn_map_canvas(0), project_p(project), w_man_int(project->GetWManInt()), w_man_state(project->GetWManState()), table_int(project->GetTableInt()), suspend_w_man_state_updates(false), create_btn(0), load_btn(0), remove_btn(0), w_list(0) { LOG_MSG("Entering WeightsManFrame::WeightsManFrame"); panel = new wxPanel(this); panel->SetBackgroundColour(*wxWHITE); SetBackgroundColour(*wxWHITE); create_btn = new wxButton(panel, XRCID("ID_CREATE_BTN"), "Create", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); load_btn = new wxButton(panel, XRCID("ID_LOAD_BTN"), "Load", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); remove_btn = new wxButton(panel, XRCID("ID_REMOVE_BTN"), "Remove", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); histogram_btn = new wxButton(panel, XRCID("ID_HISTOGRAM_BTN"), "Histogram", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); connectivity_map_btn = new wxButton(panel, XRCID("ID_CONNECT_MAP_BTN"), "Connectivity Map", wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); Connect(XRCID("ID_CREATE_BTN"), wxEVT_BUTTON, wxCommandEventHandler(WeightsManFrame::OnCreateBtn)); Connect(XRCID("ID_LOAD_BTN"), wxEVT_BUTTON, wxCommandEventHandler(WeightsManFrame::OnLoadBtn)); Connect(XRCID("ID_REMOVE_BTN"), wxEVT_BUTTON, wxCommandEventHandler(WeightsManFrame::OnRemoveBtn)); Connect(XRCID("ID_HISTOGRAM_BTN"), wxEVT_BUTTON, wxCommandEventHandler(WeightsManFrame::OnHistogramBtn)); Connect(XRCID("ID_CONNECT_MAP_BTN"), wxEVT_BUTTON, wxCommandEventHandler(WeightsManFrame::OnConnectMapBtn)); w_list = new wxListCtrl(panel, XRCID("ID_W_LIST"), wxDefaultPosition, wxSize(-1, 100), wxLC_REPORT); // Note: search for "ungrouped_list" for examples of wxListCtrl usage. w_list->AppendColumn("Weights Name"); w_list->SetColumnWidth(TITLE_COL, 300); InitWeightsList(); Connect(XRCID("ID_W_LIST"), wxEVT_LIST_ITEM_SELECTED, wxListEventHandler(WeightsManFrame::OnWListItemSelect)); Connect(XRCID("ID_W_LIST"), wxEVT_LIST_ITEM_DESELECTED, wxListEventHandler(WeightsManFrame::OnWListItemDeselect)); details_win = wxWebView::New(panel, wxID_ANY, wxWebViewDefaultURLStr, wxDefaultPosition, wxSize(-1, 200)); // Arrange above widgets in panel using sizers. // Top level panel sizer will be panel_h_szr // Below that will be panel_v_szr // panel_v_szr will directly receive widgets wxBoxSizer* btns_row1_h_szr = new wxBoxSizer(wxHORIZONTAL); btns_row1_h_szr->Add(create_btn, 0, wxALIGN_CENTER_VERTICAL); btns_row1_h_szr->AddSpacer(5); btns_row1_h_szr->Add(load_btn, 0, wxALIGN_CENTER_VERTICAL); btns_row1_h_szr->AddSpacer(5); btns_row1_h_szr->Add(remove_btn, 0, wxALIGN_CENTER_VERTICAL); wxBoxSizer* btns_row2_h_szr = new wxBoxSizer(wxHORIZONTAL); btns_row2_h_szr->Add(histogram_btn, 0, wxALIGN_CENTER_VERTICAL); btns_row2_h_szr->AddSpacer(5); btns_row2_h_szr->Add(connectivity_map_btn, 0, wxALIGN_CENTER_VERTICAL); btns_row2_h_szr->AddSpacer(5); wxBoxSizer* wghts_list_h_szr = new wxBoxSizer(wxHORIZONTAL); wghts_list_h_szr->Add(w_list); wxBoxSizer* panel_v_szr = new wxBoxSizer(wxVERTICAL); panel_v_szr->Add(btns_row1_h_szr, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); panel_v_szr->AddSpacer(15); panel_v_szr->Add(wghts_list_h_szr, 0, wxALIGN_CENTER_HORIZONTAL); panel_v_szr->Add(details_win, 1, wxEXPAND); panel_v_szr->Add(btns_row2_h_szr, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxBoxSizer* panel_h_szr = new wxBoxSizer(wxHORIZONTAL); panel_h_szr->Add(panel_v_szr, 1, wxEXPAND); panel->SetSizer(panel_h_szr); //wxBoxSizer* right_v_szr = new wxBoxSizer(wxVERTICAL); //conn_hist_canvas = new ConnectivityHistCanvas(this, this, project, boost::uuids::nil_uuid()); //right_v_szr->Add(conn_hist_canvas, 1, wxEXPAND); // We have decided not to display the ConnectivityMapCanvas. Uncomment // the following 4 lines to re-enable for shape-enabled projects. //if (!project->IsTableOnlyProject()) { // conn_map_canvas = new ConnectivityMapCanvas(this, this, project, // boost::uuids::nil_uuid()); // right_v_szr->Add(conn_map_canvas, 1, wxEXPAND); //} boost::uuids::uuid default_id = w_man_int->GetDefault(); SelectId(default_id); UpdateButtons(); // Top Sizer for Frame wxBoxSizer* top_h_sizer = new wxBoxSizer(wxHORIZONTAL); top_h_sizer->Add(panel, 1, wxEXPAND|wxALL, 8); //top_h_sizer->Add(right_v_szr, 1, wxEXPAND); wxColour panel_color = panel->GetBackgroundColour(); SetBackgroundColour(panel_color); //hist_canvas->SetCanvasBackgroundColor(panel_color); SetSizerAndFit(top_h_sizer); DisplayStatusBar(false); w_man_state->registerObserver(this); Show(true); LOG_MSG("Exiting WeightsManFrame::WeightsManFrame"); }