bool wxSTEditorNotebook::CloseAllPages(bool query_save_if_modified, int except_this_page) { if (query_save_if_modified && !QuerySaveIfModified()) return false; if (except_this_page < 0) { DeleteAllPages(); } else { wxWindow* win = GetPage(except_this_page); wxString title(GetPageText(except_this_page)); if (win && RemovePage(except_this_page)) { DeleteAllPages(); AddPage(win, title, true); } } if ((GetPageCount() == 0) && !GetOptions().HasNotebookOption(STN_ALLOW_NO_PAGES)) InsertEditorSplitter(-1, wxID_ANY, GetOptions().GetDefaultFileName(), true); UpdateAllItems(); return true; }
void LoadTerrain() { wxBusyInfo busy (_("Loading terrain groups")); DeleteAllPages(); m_TerrainGroups.Clear(); // Get the list of terrain groups from the engine AtlasMessage::qGetTerrainGroups qry; qry.Post(); std::vector<std::wstring> groupnames = *qry.groupNames; for (std::vector<std::wstring>::iterator it = groupnames.begin(); it != groupnames.end(); ++it) m_TerrainGroups.Add(it->c_str()); for (size_t i = 0; i < m_TerrainGroups.GetCount(); ++i) { wxString visibleName = m_TerrainGroups[i]; // Format name slightly if (visibleName.Len()) visibleName[0] = wxToupper(visibleName[0]); visibleName.Replace(_T("_"), _T(" ")); AddPage(new TextureNotebookPage(m_ScenarioEditor, this, m_TerrainGroups[i]), visibleName); } // On some platforms (wxOSX) there is no initial OnPageChanged event, so it loads with a blank page // and setting selection to 0 won't trigger it either, so just force first page to display // (this is safe because the sidebar has already been displayed) if (GetPageCount() > 0) { static_cast<TextureNotebookPage*>(GetPage(0))->OnDisplay(); } }
void CInfoSheet::SetInfoModeTerrain(void) { m_ModeID = INFO_MODE_TERRAIN; DeleteAllPages(); AddPage( &m_PgGlobal); AddPage( &m_PgTerrain); SoftSetActivePage(1); }
void CInfoSheet::SetInfoModeGlobal(void) { m_ModeID = INFO_MODE_GLOBAL; DeleteAllPages(); AddPage( &m_PgGlobal); //AddPage( &m_PgRenderingStatistics); SoftSetActivePage(0); }
void CInfoSheet::SetInfoModePosition(void) { m_ModeID = INFO_MODE_POSITION; DeleteAllPages(); AddPage( &m_PgGlobal); //AddPage( &m_PgRenderingStatistics); AddPage( &m_PgPosition); SoftSetActivePage(1); }
WandProfile::~WandProfile() { #ifdef SYNC_HAVE_PASSWORD_MANAGER WandManager::SyncBlocker sync_blocker; // don't sync delete events to server // when shutting down. #endif // SYNC_HAVE_PASSWORD_MANAGER DeleteAllPages(); }
void CInfoSheet::SetInfoModeSector(void) { m_ModeID = INFO_MODE_SECTOR; DeleteAllPages(); AddPage( &m_PgGlobal); //AddPage( &m_PgRenderingStatistics); AddPage( &m_PgSector); SoftSetActivePage(1); }
void CInfoSheet::SetInfoModePrimitive(void) { m_ModeID = INFO_MODE_PRIMITIVE; DeleteAllPages(); AddPage( &m_PgGlobal); //AddPage( &m_PgRenderingStatistics); AddPage( &m_PgPosition); AddPage( &m_PgPrimitive); SoftSetActivePage(2); }
void CInfoSheet::SetInfoModePolygon(void) { m_ModeID = INFO_MODE_POLYGON; DeleteAllPages(); AddPage( &m_PgGlobal); //AddPage( &m_PgRenderingStatistics); AddPage( &m_PgPolygon); AddPage( &m_PgShadow); AddPage( &m_PgTexture); SoftSetActivePage( _iLastActivePgInPolygonMode); }
wxNotebook::~wxNotebook() { // Ensure that we don't generate page changing events during the // destruction, this is unexpected and may reference the already (half) // destroyed parent window, for example. So make sure our switch_page // callback is not called from inside DeleteAllPages() by disconnecting all // the callbacks associated with this widget. GTKDisconnect(m_widget); DeleteAllPages(); }
CamControl::~CamControl() { DeleteAllPages(); if ( m_pWindow != NULL ) { delete m_pWindow; m_pWindow = NULL; } }
void P3DBranchPanel::SwitchToBranch (P3DBranchModel *BranchModel) { int OldPageIndex; size_t OldPageCount; OldPageCount = GetPageCount(); OldPageIndex = GetSelection(); DeleteAllPages(); this->BranchModel = BranchModel; CreateTabs(); if (OldPageIndex != wxNOT_FOUND) { if (OldPageCount == 1) /* for base */ { if (GetPageCount() == 1) { SetSelection(OldPageIndex); } else { SetSelection(0); } } else { if (GetPageCount() == 1) { SetSelection(0); } else { SetSelection(OldPageIndex); } } } #if defined(__WXMSW__) { Refresh(); } #endif }
void GLIBitmapNotebook::ResetAllPages() { // Reset the scale viewScaleMultiply = 1; viewScaleDivide = 1; // Delete all attached pages DeleteAllPages(); // Clear the stored array bitmapViews.clear(); // Reset the selection point SetSelectedPosition(wxPoint(-1, -1)); // Update the window title for new zoom factor parentControl->UpdateWindowTitle(); }
void LoadTerrain() { wxBusyInfo busy (_("Loading terrain groups")); DeleteAllPages(); m_TerrainGroups.Clear(); // Get the list of terrain groups from the engine AtlasMessage::qGetTerrainGroups qry; qry.Post(); std::vector<std::wstring> groupnames = *qry.groupNames; for (std::vector<std::wstring>::iterator it = groupnames.begin(); it != groupnames.end(); ++it) m_TerrainGroups.Add(it->c_str()); for (size_t i = 0; i < m_TerrainGroups.GetCount(); ++i) { wxString visibleName = m_TerrainGroups[i]; if (visibleName.Len()) visibleName[0] = wxToupper(visibleName[0]); AddPage(new TextureNotebookPage(m_ScenarioEditor, this, m_TerrainGroups[i]), visibleName); } }
wxNotebook::~wxNotebook() { DeleteAllPages(); }
CMuleNotebook::~CMuleNotebook() { // Ensure that all notifications gets sent DeleteAllPages(); }
void CMuleNotebook::OnPopupCloseAll(wxCommandEvent& WXUNUSED(evt)) { DeleteAllPages(); }
INT_PTR CSettingsDialog::DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: { ::SetWindowText(hDlg,GetTitle()); DeleteAllPages(); for (int i=0;;i++) { CPage *pPage=CreatePage(i); if (pPage==nullptr) break; m_PageList.push_back(pPage); ::SendDlgItemMessage(hDlg,IDC_SETTINGS_LIST,LB_ADDSTRING,0,i); } int Page=0; if (m_StartPage>=0 && m_StartPage<(int)m_PageList.size()) Page=m_StartPage; else if (m_CurrentPage>=0 && m_CurrentPage<(int)m_PageList.size()) Page=m_CurrentPage; m_CurrentPage=-1; if (SetPage(Page)) { ::SendDlgItemMessage(hDlg,IDC_SETTINGS_LIST,LB_SETCURSEL,Page,0); } m_himlIcons=::ImageList_LoadImage(m_hinst,MAKEINTRESOURCE(IDB_SETTINGS),16,1, CLR_NONE,IMAGE_BITMAP,LR_CREATEDIBSECTION); LRESULT ItemHeight=::SendDlgItemMessage(hDlg,IDC_SETTINGS_LIST,LB_GETITEMHEIGHT,0,0); if (ItemHeight<16+8) ::SendDlgItemMessage(hDlg,IDC_SETTINGS_LIST,LB_SETITEMHEIGHT,0,16+8); AdjustPos(); } return TRUE; case WM_DRAWITEM: { LPDRAWITEMSTRUCT pdis=reinterpret_cast<LPDRAWITEMSTRUCT>(lParam); if (wParam==IDC_SETTINGS_LIST) { if (pdis->itemData>=m_PageList.size()) break; const CPage *pPage=m_PageList[pdis->itemData]; const bool fSelected=(pdis->itemState&ODS_SELECTED)!=0; COLORREF crText,crOldText; int OldBkMode; RECT rcBack,rcText; rcBack=pdis->rcItem; rcBack.left+=4+16+4; if (fSelected) { RECT rc=pdis->rcItem; rc.right=rcBack.left; ::FillRect(pdis->hDC,&rc, reinterpret_cast<HBRUSH>(COLOR_WINDOW+1)); FillGradient(pdis->hDC,rcBack, RGB(0,0,0),pPage->GetTitleColor()); crText=RGB(255,255,255); } else { ::FillRect(pdis->hDC,&pdis->rcItem, reinterpret_cast<HBRUSH>(COLOR_WINDOW+1)); crText=::GetSysColor(COLOR_WINDOWTEXT); } ::ImageList_Draw(m_himlIcons,pPage->GetIcon(),pdis->hDC, pdis->rcItem.left+4, rcBack.top+((rcBack.bottom-rcBack.top)-16)/2, ILD_TRANSPARENT); rcText=rcBack; rcText.left+=4; rcText.right-=4; crOldText=::SetTextColor(pdis->hDC,crText); OldBkMode=::SetBkMode(pdis->hDC,TRANSPARENT); ::DrawText(pdis->hDC,pPage->GetTitle(),-1, &rcText,DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX); ::SetTextColor(pdis->hDC,crOldText); ::SetBkMode(pdis->hDC,OldBkMode); if ((pdis->itemState & (ODS_FOCUS | ODS_NOFOCUSRECT))==ODS_FOCUS) { ::DrawFocusRect(pdis->hDC,&rcBack); } } else if (wParam==IDC_SETTINGS_TITLE) { if (m_CurrentPage<0 || (size_t)m_CurrentPage>=m_PageList.size()) break; CPage *pPage=m_PageList[m_CurrentPage]; RECT rc; FillGradient(pdis->hDC,pdis->rcItem, RGB(0,0,0),pPage->GetTitleColor()); LOGFONT lf; ::GetObject(reinterpret_cast<HFONT>(::SendMessage(hDlg,WM_GETFONT,0,0)),sizeof(lf),&lf); lf.lfWeight=FW_BOLD; HFONT hfont=::CreateFontIndirect(&lf); HFONT hfontOld=SelectFont(pdis->hDC,hfont); COLORREF crOldText=::SetTextColor(pdis->hDC,RGB(255,255,255)); int OldBkMode=::SetBkMode(pdis->hDC,TRANSPARENT); rc.left=pdis->rcItem.left+2; rc.top=pdis->rcItem.top; rc.right=pdis->rcItem.right-2; rc.bottom=pdis->rcItem.bottom; ::DrawText(pdis->hDC,pPage->GetTitle(),-1, &rc,DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_NOPREFIX); SelectFont(pdis->hDC,hfontOld); ::DeleteObject(hfont); ::SetTextColor(pdis->hDC,crOldText); ::SetBkMode(pdis->hDC,OldBkMode); } } return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_SETTINGS_LIST: if (HIWORD(wParam)==LBN_SELCHANGE) { int Page=(int)::SendDlgItemMessage(hDlg,IDC_SETTINGS_LIST,LB_GETCURSEL,0,0); if (Page>=0) SetPage(Page); } return TRUE; case IDOK: if (QueryOK() && OnOK()) { End(IDOK); } return TRUE; case IDCANCEL: OnCancel(); End(IDCANCEL); return TRUE; } return TRUE; case WM_APP_SET_PAGE: SetPage((int)wParam); return TRUE; case WM_DESTROY: { m_StartPage=m_CurrentPage; DeleteAllPages(); if (m_himlIcons!=nullptr) { ::ImageList_Destroy(m_himlIcons); m_himlIcons=nullptr; } m_Core.RemoveModelessDialog(this); } return TRUE; } return FALSE; }
CSettingsDialog::~CSettingsDialog() { Destroy(); DeleteAllPages(); }