void PageManager::PopLRUPage() { for (auto const & it: m_pagesOrderByAccessTime) if (!it.second->IsPinned()) { RemovePage(it.first, it.second); return; } // If all pages are pinned -> just remove lru. auto it = m_pagesOrderByAccessTime.begin(); RemovePage(it->first, it->second); }
CNetSettingPropertySheet::~CNetSettingPropertySheet() { RemovePage(&page_Info); RemovePage(&page_Wifi); RemovePage(&page_NetAdapter); //RemovePage(&page_Profile); RemovePage(&page_Setting); RemovePage(&page_Tools); }
void ResizePlayers(size_t numPlayers) { wxASSERT(numPlayers <= m_Pages.size()); // We don't really want to destroy the windows corresponding // to the tabs, so we've kept them in a vector and will // only remove and add them to the notebook as needed int selection = GetSelection(); size_t pageCount = GetPageCount(); if (numPlayers > pageCount) { // Add previously removed pages for (size_t i = pageCount; i < numPlayers; ++i) { AddPage(m_Pages[i], m_Pages[i]->GetPlayerName()); } } else { // Remove previously added pages // we have to manually hide them or they remain visible for (size_t i = pageCount - 1; i >= numPlayers; --i) { m_Pages[i]->Hide(); RemovePage(i); } } // Workaround for bug on wxGTK 2.8: wxChoice selection doesn't update // (in fact it loses its selection when adding/removing pages) GetChoiceCtrl()->SetSelection(selection); }
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; }
//--------------------------------------------------------- bool CACTIVE::_Hide_Page(wxWindow *pPage) { #ifdef ACTIVE_SHOW_ALL_PAGES return( true ); #endif //----------------------------------------------------- if( pPage == m_pHistory ) m_pHistory ->Set_Item(NULL); if( pPage == m_pLegend ) m_pLegend ->Set_Item(NULL); if( pPage == m_pAttributes ) m_pAttributes->Set_Item(NULL); //----------------------------------------------------- for(int i=0; i<(int)GetPageCount(); i++) { if( GetPage(i) == pPage ) { if( i == GetSelection() ) { SetSelection(i - 1); } RemovePage(i); return( true ); } } return( false ); }
void QuickPagingLayout::RemovePage(QuickWidget* content) { const INT32 pos = m_pages.Find(content); if (pos >= 0) { RemovePage(pos); } }
//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ void Notebook::hidePage(wxWindow* _pWindow) { int pageIndex = GetPageIndex(_pWindow); if (pageIndex != wxNOT_FOUND) { RemovePage(pageIndex); } }
void CxDlgPropertySheetSqlWizard::SetCategoryInsert() { int i, nPages = GetPageCount(); for (i=1; i<nPages; i++) { RemovePage (1); } SetCategory(SQLW_INSERT); AddPage(&m_PageInsert1); }
void wxPropertyGridManager::Clear() { m_pPropGrid->Freeze(); int i; for ( i=(int)GetPageCount()-1; i>=0; i-- ) RemovePage(i); m_pPropGrid->Thaw(); }
void CxDlgPropertySheetSqlWizard::SetCategoryDelete() { int i, nPages = GetPageCount(); for (i=1; i<nPages; i++) { RemovePage (1); } SetCategory(SQLW_DELETE); AddPage(&m_PageDelete1); }
BOOL COptionsDlg::ShowRulePicker() { //remove all pages int nMax = GetPageCount(); for( int i = 0; i < nMax; i++ ) RemovePage(0); //add rule pick page AddPage(&m_Page1); return( DoModal() == IDOK ); }
void CInfoSheet::DeleteAllPages() { // disable data exchange theApp.m_bDisableDataExchange = TRUE; INDEX iPagesCt, i; iPagesCt = GetPageCount(); for( i=0; i<iPagesCt; i++) RemovePage( 0); // enable data exchange theApp.m_bDisableDataExchange = FALSE; }
void CxDlgPropertySheetSqlWizard::SetCategoryUpdate() { int i, nPages = GetPageCount(); for (i=1; i<nPages; i++) { RemovePage (1); } SetCategory(SQLW_UPDATE); AddPage(&m_PageUpdate1); AddPage(&m_PageUpdate2); AddPage(&m_PageUpdate3); }
void CxDlgPropertySheetSqlWizard::SetCategorySelect() { int i, nPages = GetPageCount(); for (i=1; i<nPages; i++) { RemovePage (1); } SetCategory(SQLW_SELECT); AddPage(&m_PageSelect1); AddPage(&m_PageSelect2); AddPage(&m_PageSelect3); }
//------------------------------------------------------------- // VtxCloudsTabs::updateControls() update UI //------------------------------------------------------------- void VtxCloudsTabs::updateControls(){ CloudLayer *obj=object(); int pages=GetPageCount(); if(obj->threeD()){ if(pages==2) InsertPage(2,geometry_page,"Volume",false,-1); } else if(pages==3){ RemovePage(2); } if(update_needed){ getObjAttributes(); } }
void wxPropertyGridManager::Clear() { m_pPropGrid->ClearSelection(false); m_pPropGrid->Freeze(); int i; for ( i=(int)GetPageCount()-1; i>=0; i-- ) RemovePage(i); // Reset toolbar ids m_nextTbInd = m_baseId+ID_ADVTBITEMSBASE_OFFSET + 2; m_pPropGrid->Thaw(); }
/****************************************************************************** * 函数名称 : TablePageFullToFree * 函数描述 : 页从满链到自由链 * 输入 : * 输出 : * 返回值 : 0 - 成功!0 -失败 * 作者 : jin.shaohua *******************************************************************************/ int TMdbTableCtrl::TablePageFullToFree(TMdbPage* pCurPage) { TADD_FUNC("Start."); int iRet = 0; //从full链上移除 CHECK_RET(RemovePage(pCurPage,m_pTable->m_iFullPageID),"RemovePage failed."); //添加到free链上 CHECK_RET(AddPageToTop(pCurPage,m_pTable->m_iFreePageID),"AddPageToTop failed."); //把状态设置为free SAFESTRCPY(pCurPage->m_sState, sizeof(pCurPage->m_sState),"free"); --m_pTable->m_iFullPages; ++m_pTable->m_iFreePages; TADD_FUNC("Finish."); return iRet; }
void InfoPane::Toggle(size_t i) { if(page[i].indexInNB == -1) page[i].indexInNB = AddPagePrivate(page[i].window, page[i].title, page[i].icon); else { // Hide the window, otherwise the controls remain partly visible on some windows-versions // if we toggle the active logger if(page[i].window) { page[i].window->Hide(); } RemovePage(GetPageIndex(page[i].window)); page[i].indexInNB = -1; } }
/****************************************************************************** * 函数名称 : TablePageFreeToFull * 函数描述 : 页从自由链到满链 * 输入 : * 输出 : * 返回值 : 0 - 成功!0 -失败 * 作者 : jin.shaohua *******************************************************************************/ int TMdbTableCtrl::TablePageFreeToFull(TMdbPage* pCurPage) { int iRet = 0; TADD_FUNC("Start."); //从free链上移除 CHECK_RET(RemovePage(pCurPage,m_pTable->m_iFreePageID),"RemovePage failed."); //添加到full链上 CHECK_RET(AddPageToTop(pCurPage,m_pTable->m_iFullPageID),"AddPageToTop failed."); TADD_DETAIL("Cur-Page-ID=%d, NextPageID=%d, PrePageID=%d.", pCurPage->m_iPageID, pCurPage->m_iPrePageID, pCurPage->m_iNextPageID); //把状态设置为full SAFESTRCPY(pCurPage->m_sState,sizeof(pCurPage->m_sState), "full"); ++m_pTable->m_iFullPages; --m_pTable->m_iFreePages; TADD_FUNC("Finish."); return iRet; }
void uwNotebook::OnCloseFile() { Show(false); bClosing = true; while( GetPageCount() > 0 ) { wxNotebookPage* page = GetPage(0); RemovePage(0); page->Show(false); delete page; //page->Destroy(); } Package = NULL; bClosing = false; Show(true); }
bool InfoPane::RemoveNonLogger(wxWindow* p) { for(int i = 0; i < num_pages; ++i) { if(page[i].window == p) { if(page[i].islogger) { cbThrow(_T("Bad API usage. Shame on you.")); } RemovePage(GetPageIndex(page[i].window)); page[i] = Page(); return true; } } return false; }
void CxDlgPropertySheetSqlWizard::SetCategoryInsert2(BOOL bManual) { int i, nPages = GetPageCount(); for (i=2; i<nPages; i++) { RemovePage (2); } if (bManual) { m_nInsertType = SQLW_INSERT_MANUAL; AddPage(&m_PageInsert2); } else { m_nInsertType = SQLW_INSERT_SUBSELECT; AddPage(&m_PageSelect1); AddPage(&m_PageSelect2); AddPage(&m_PageSelect3); } }
int CAllToolSetupSheet::AddControlPages() { while (GetPageCount()) RemovePage(0); AddPage(&m_ToolSetupM1Page); AddPage(&m_ToolSetupM100Page); AddPage(&m_ToolSetupButtonsPage); AddPage(&m_ToolSetupFilesPage); AddPage(&m_ToolSetupTPPage); if (GetPageCount() == 0) { AfxMessageBox("No Tool Setup Tabs"); return 1; } m_KeepCancelButton=true; return 0; }
void wxSTEditorNotebook::SortTabs(int style) { if ((int)GetPageCount() < 2) return; if (STE_HASBIT(style, STN_ALPHABETICAL_TABS)) { int sel = GetSelection(); int new_sel = sel; size_t page_count = GetPageCount(); size_t n; if (page_count < 2) return; wxString curPageName; wxArrayString names; for (n = 0; n < page_count; n++) { wxString name(GetPageText(n)); if ((name.Length() > 0) && (name[0u] == wxT('*'))) name = name.Mid(1); names.Add(name + wxString::Format(wxT("=%d"), (int)n)); } names.Sort(STN_SortNameCompareFunction); bool sel_changed = false; for (n = 0; n < page_count; n++) { long old_page = 0; names[n].AfterLast(wxT('=')).ToLong(&old_page); if (old_page != long(n)) { wxWindow *oldWin = GetPage(old_page); wxString oldName(GetPageText(old_page)); if (oldWin && RemovePage(old_page)) { sel_changed = true; if (old_page == sel) new_sel = (int)n; if (n < page_count - 1) InsertPage((int)(n+1), oldWin, oldName, old_page == sel); else AddPage(oldWin, oldName, old_page == sel); } } } if (sel_changed) { wxNotebookEvent noteEvent(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, GetId(), new_sel, new_sel); noteEvent.SetString(wxT("wxSTEditorNotebook Page Change")); noteEvent.SetExtraLong(new_sel); // FIXME no Clone in wxNotebookEvent // NOTE: this may have to be AddPendingEvent for wx < 2.7 since gtk // can become reentrant GetEventHandler()->AddPendingEvent(noteEvent); } // causes reentrant assert in gtk, even though it's necessary sometimes //SetSelection(new_sel); // force selection for GTK } }
/** * \brief Simulates the output * * This routine simulates the movement of paper in the engine. * The first part of the loop determines if a sheet can be lifted from a paper tray, * the second part determines if the sheet has reached the output tray. */ void PMSOutput(void * dummy) { PMS_TyPage *ThisPage = NULL; /* pointer the the current page being checked */ PMS_TyPage LastPage; /* pointer the the last sheet that was picked up */ PMS_TyPageList *tmpPageList; /* local pagelist pointer */ unsigned int uCurrentPageGap; /* the gap between sheet pickup */ unsigned int uLastPickUp; /* the time the last sheet was pickup from inout tray */ unsigned int uPagesInMotion; /* the number of sheets travelling in the system */ UNUSED_PARAM(void *, dummy); uCurrentPageGap = 0; uLastPickUp = 0; uPagesInMotion = 0; g_eJobState = PMS_Waiting_For_Page; /* loop until the RIP has quit */ while(g_eJobState != PMS_AllJobs_Completed) /* pages in motion OR RIP active */ { /* keep a local copy of the pagelist for local manipulation */ tmpPageList = g_pstPageList; if(g_tSystemInfo.uUseEngineSimulator) { /* small delay to prevent total processor consumption */ PMS_Delay(PAGECHECK_FREQUENCY); } else if(tmpPageList==NULL) { /* wait for a page to arrive */ PMS_WaitOnSemaphore_Forever(g_semPageQueue); } /* walk through all the pages */ while (tmpPageList!=NULL) { ThisPage = tmpPageList->pPage; if(g_tSystemInfo.uUseEngineSimulator) PMS_Delay(PAGECHECK_FREQUENCY); /* is there a page waiting to start travelling */ if (ThisPage->eState==PMS_CHECKEDIN) { /* work out the gap between last page and this page */ uCurrentPageGap = EngineGetInterpageGap(ThisPage, &LastPage); /* has enough time passed since the last sheet pickup */ if(PMS_TimeInMilliSecs() > (uLastPickUp + uCurrentPageGap)) { /* pick up sheet, mark as printing */ ThisPage->eState = PMS_PRINTING; ThisPage->ulPickupTime = PMS_TimeInMilliSecs(); ThisPage->ulOutputTime = ThisPage->ulPickupTime + EngineGetTravelTime(g_pstPageList->pPage); uPagesInMotion++; /* PMS_SHOW("Pickup Sheet: %d - output: %d\n", ThisPage->ulPickupTime, ThisPage->ulOutputTime); */ /* record some stats about this page incase next page is different a requires a stall in paper path */ LastPage.uTotalPlanes = ThisPage->uTotalPlanes; /* record pickup time in global */ uLastPickUp = PMS_TimeInMilliSecs(); } break; } /* check sheets that are printing */ if (ThisPage->eState==PMS_PRINTING) { /* has a sheet reached output bin */ if(PMS_TimeInMilliSecs() > (ThisPage->ulOutputTime)) { /* print sheet */ PrintPage(ThisPage); ThisPage->eState = PMS_COMPLETE; /* PMS_SHOW("Output Sheet: %d\n", PMS_TimeInMilliSecs()); */ /* send page done at this point*/ OIL_PageDone(ThisPage); /* remove sheet from system, RemovePage is protected against other threads */ RemovePage(ThisPage); uPagesInMotion--; /* page list modified so break out and start again */ break; } } /* move onto the next page */ tmpPageList = tmpPageList->pNext; } if(uPagesInMotion == 0) { /* set the job state to indicate pms is waiting for next page. */ g_eJobState = PMS_Waiting_For_Page; } else { /* set the job state to indicate pms has received a page and is processing it. */ g_eJobState = PMS_Page_In_Progress; } /* if RIP has finished ripping and page list is empty means all jobs are printed */ if((g_eRipState == PMS_Rip_Finished) && (g_pstPageList == NULL)) { g_eJobState = PMS_AllJobs_Completed; } } return; }