void SjViewSettingsPage::OnUpdateSkinList(wxCommandEvent& event) { g_mainFrame->Enable(FALSE); wxBusyCursor busy; g_tools->UpdateFacenames(); wxString selSkin = m_orgSkinPath; SjSkinEnumeratorItem* skin = GetSkinFromDialog(); if( skin ) { selSkin = skin->m_url; } UpdateSkinList(selSkin); g_mainFrame->Enable(TRUE); }
void DialogAbout::TabSkins::Initialize() { // Add columns to the list view HWND item = GetControl(Id_ItemsListView); ListView_SetExtendedListViewStyleEx(item, 0, LVS_EX_LABELTIP | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER); LVGROUP lvg; lvg.cbSize = sizeof(LVGROUP); lvg.mask = LVGF_HEADER | LVGF_GROUPID | LVGF_STATE; lvg.state = (IsWindowsVistaOrGreater()) ? LVGS_COLLAPSIBLE : LVGS_NORMAL; lvg.iGroupId = 0; lvg.pszHeader = GetString(ID_STR_MEASURES); ListView_InsertGroup(item, 0, &lvg); lvg.iGroupId = 1; lvg.pszHeader = GetString(ID_STR_VARIABLES); ListView_InsertGroup(item, 1, &lvg); ListView_EnableGroupView(item, TRUE); LVCOLUMN lvc; lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; lvc.fmt = LVCFMT_LEFT; lvc.iSubItem = 0; lvc.cx = 120; lvc.pszText = GetString(ID_STR_NAME); ListView_InsertColumn(item, 0, &lvc); lvc.iSubItem = 1; lvc.cx = 90; lvc.pszText = GetString(ID_STR_RANGE); ListView_InsertColumn(item, 1, &lvc); lvc.iSubItem = 2; // Start 3rd column at max width RECT rect; lvc.cx = GetWindowRect(item, &rect) ? (rect.right - rect.left - 230) : 130; lvc.pszText = GetString(ID_STR_VALUE); ListView_InsertColumn(item, 2, &lvc); UpdateSkinList(); m_Initialized = true; }
wxPanel* SjViewSettingsPage::CreateSkinPage(wxWindow* parent) { // save given objects m_skinEnumerator = NULL; m_skinChangeFromMe = 0; m_loadSkinsMenuButton = NULL; // init dialog wxPanel* page = new wxPanel(parent, -1); wxSizer* sizer1 = new wxBoxSizer(wxVERTICAL); page->SetSizer(sizer1); sizer1->Add(SJ_DLG_SPACE, SJ_DLG_SPACE); // some space wxStaticText* staticText = new wxStaticText(page, -1, wxString::Format(_("With different skins you can change the \"look and feel\" of %s. Just\nselect the skin to use from the list above. You'll find more skins on the web."), SJ_PROGRAM_NAME)); sizer1->Add(staticText, 0, wxALL, SJ_DLG_SPACE); /* add list control */ m_listCtrl = new wxListCtrl(page, IDC_SKINLIST, wxDefaultPosition, wxSize(200, 100), wxLC_REPORT | wxLC_NO_HEADER | wxLC_SINGLE_SEL | wxSUNKEN_BORDER); m_listCtrl->SetImageList(g_tools->GetIconlist(FALSE), wxIMAGE_LIST_SMALL); //m_listCtrl->SetImageList(g_tools->GetIconlist(TRUE), wxIMAGE_LIST_NORMAL); m_listCtrl->InsertColumn(0, _("Name")); sizer1->Add(m_listCtrl, 1, wxGROW|wxALL, SJ_DLG_SPACE); wxSizer* sizer3 = new wxBoxSizer(wxHORIZONTAL); sizer1->Add(sizer3, 0, wxLEFT|wxRIGHT|wxBOTTOM, SJ_DLG_SPACE); m_loadSkinsMenuButton = new wxButton(page, IDC_LOADSKINSMENUBUTTON, _("Options")+wxString(SJ_BUTTON_MENU_ARROW)); sizer3->Add(m_loadSkinsMenuButton, 0, wxRIGHT, SJ_DLG_SPACE); // init data m_orgSkinPath = g_mainFrame->GetSkinUrl(); UpdateSkinList(m_orgSkinPath); return page; }
/* ** Called when tab is displayed. ** */ void CDialogAbout::CTabSkins::Initialize() { m_Initialized = true; // Add columns to the list view HWND item = GetDlgItem(m_Window, IDC_ABOUTSKINS_ITEMS_LISTVIEW); ListView_SetExtendedListViewStyleEx(item, 0, LVS_EX_LABELTIP | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER); LVGROUP lvg; lvg.cbSize = sizeof(LVGROUP); lvg.mask = LVGF_HEADER | LVGF_GROUPID | LVGF_STATE; lvg.state = (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA) ? LVGS_COLLAPSIBLE : LVGS_NORMAL; lvg.iGroupId = 0; lvg.pszHeader = GetString(ID_STR_MEASURES); ListView_InsertGroup(item, 0, &lvg); lvg.iGroupId = 1; lvg.pszHeader = GetString(ID_STR_VARIABLES); ListView_InsertGroup(item, 1, &lvg); ListView_EnableGroupView(item, TRUE); LVCOLUMN lvc; lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; lvc.fmt = LVCFMT_LEFT; lvc.iSubItem = 0; lvc.cx = 120; lvc.pszText = GetString(ID_STR_NAME); ListView_InsertColumn(item, 0, &lvc); lvc.iSubItem = 1; lvc.cx = 90; lvc.pszText = GetString(ID_STR_RANGE); ListView_InsertColumn(item, 1, &lvc); lvc.iSubItem = 2; lvc.cx = 130; lvc.pszText = GetString(ID_STR_VALUE); ListView_InsertColumn(item, 2, &lvc); UpdateSkinList(); }
void SjViewSettingsPage::OnCancelSkinSelection(wxCommandEvent& event) { UpdateSkinList(g_mainFrame->GetSkinUrl()); SjDialog::EnsureSelListCtrlItemVisible(m_listCtrl); }