void wxPageContainer::OnLeftDClick(wxMouseEvent& event) { wxPageInfo pgInfo; int tabIdx; int where = HitTest(event.GetPosition(), pgInfo, tabIdx); switch(where) { case wxFNB_RIGHT_ARROW: RotateRight(); break; case wxFNB_LEFT_ARROW: RotateLeft(); break; case wxFNB_TAB: if(HasFlag(wxFNB_DCLICK_CLOSES_TABS)) { DeletePage((size_t)tabIdx); } break; case wxFNB_X: { OnLeftDown(event); } break; default: event.Skip(); break; } }
void CMuleNotebook::OnMouseButtonRelease(wxMouseEvent &event) { if (GetImageList() == NULL) { // This Mulenotebook has no images on tabs, so nothing to do. event.Skip(); return; } long xpos, ypos; event.GetPosition(&xpos, &ypos); long flags = 0; int tab = HitTest(wxPoint(xpos,ypos),&flags); if ((tab != -1) && (((flags == wxNB_HITTEST_ONICON) && event.LeftUp()) || ((flags == wxNB_HITTEST_ONLABEL) && event.MiddleUp()))) { // User did click on a 'x' or middle click on the label #if MULE_NEEDS_DELETEPAGE_WORKAROUND /* WORKAROUND: Instead of calling DeletePage, we need to wait for the * mouse release signal to reach Gtk. Inconsistent with normal wxEvent * behaviour the button release handler in wxWidgets don't evaluate * the result of the signal handling. */ wxNotebookEvent evt( wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, GetId(), tab ); evt.SetEventObject(this); AddPendingEvent( evt ); #else DeletePage(tab); #endif // MULE_NEEDS_DELETEPAGE_WORKAROUND } else { // Is not a 'x'. Send this event up. event.Skip(); } }
bool CloseCanvas(ICmdParam& cmd,wxWindow* w=NULL) { wxWindow* pPage=w?w:m_pCurrentCanvas; if(!pPage) return false; int nSelection=this->GetPageIndex(pPage); if(nSelection<0) return false; LockGuard<WndUpdator> lock(wm.wup); MvcView* pView=MvcView::GetViewByCanvas(pPage); if(pView) { if(!pView->OnClose(wm)) { return false; } wm.book.DetachView(pView); } if(m_pCurrentCanvas==pPage) { m_pCurrentCanvas.reset(NULL); SetActiveView(NULL); } DeletePage(nSelection); wm.wup.gp_add("CmdProc"); return true; }
void delete_page( boost::shared_ptr<Window> window ) { for (size_t i = 0; i < GetPageCount(); ++i) if ( GetPage(i) == *window ) { DeletePage(i); return; } }
bool wxSTEditorNotebook::ClosePage(int n, bool query_save_if_modified) { wxCHECK_MSG((n >= 0) && (n < (int)GetPageCount()), false, wxT("Invalid page")); wxSTEditor *editor = GetEditor(n); if (!editor) return false; int ret = wxID_NO; int sel = GetSelection(); if (query_save_if_modified) ret = editor->QuerySaveIfModified(true); if (ret != wxCANCEL) ret = int(DeletePage(n)); if ((GetPageCount() == 0) && !GetOptions().HasNotebookOption(STN_ALLOW_NO_PAGES)) InsertEditorSplitter(-1, wxID_ANY, GetOptions().GetDefaultFileName(), true); // Force selection for GTK, else if try to close the "current page" without // first clicking in it you delete some other page int page_count = (int)GetPageCount(); if ((sel >= page_count) && (page_count > 0)) SetSelection(wxMax(0, wxMin(sel, page_count-1))); UpdateAllItems(); return ret != 0; }
void browsers::browserTAB::OnTELLclearGDStab() { if (_GDSstruct) { _GDSstruct->DeleteAllItems(); DeletePage(2); _GDSstruct = NULL; } }
bool InfoPane::DeleteLogger(Logger* l) { if (!l) { return false; } for(int i = 0; i < num_pages; ++i) { if(page[i].logger == l) { int index = Manager::Get()->GetLogManager()->FindIndex(l); if (index != -1) { Manager::Get()->GetLogManager()->DeleteLog(index); } if (page[i].indexInNB != -1) { DeletePage(GetPageIndex(page[i].window)); } page[i] = Page(); return true; } } return false; }
bool wxNotebook::DeleteAllPages() { for (size_t i = GetPageCount(); i--;) DeletePage(i); return wxNotebookBase::DeleteAllPages(); }
bool Notebook::DeleteAllPages(bool notify) { bool res = true; size_t count = GetPageCount(); for (size_t i=0; i<count && res; i++) { res = DeletePage(0, notify); } return res; }
void CMuleNotebook::OnPopupCloseOthers(wxCommandEvent& WXUNUSED(evt)) { wxNotebookPage* current = GetPage( GetSelection() ); for ( int i = GetPageCount() - 1; i >= 0; i-- ) { if ( current != GetPage( i ) ) DeletePage( i ); } }
//--------------------------------------------------------------------------------------- void ContentWindow::close_all() { if (GetPageCount() == 0) return; //nothing to close. int iActive = GetSelection(); while(iActive != -1) { DeletePage(iActive); iActive = GetSelection(); } }
bool wxNotebook::DeleteAllPages() { wxCHECK_MSG( m_widget != NULL, FALSE, wxT("invalid notebook") ); while (m_pagesData.GetCount() > 0) DeletePage( m_pagesData.GetCount()-1 ); wxASSERT_MSG( GetPageCount() == 0, wxT("all pages must have been deleted") ); InvalidateBestSize(); return wxNotebookBase::DeleteAllPages(); }
BOOL COXTabViewContainer::DeletePage(CWnd* pWnd, BOOL bDestroy/*=TRUE*/) { ASSERT(pWnd!=NULL); ASSERT(IsPage(pWnd)); int nIndex=-1; if(FindPage(pWnd,nIndex)) { return DeletePage(nIndex,bDestroy); } return FALSE; }
bool CMuleNotebook::DeleteAllPages() { Freeze(); bool result = true; while ( GetPageCount() ) { result &= DeletePage( 0 ); } Thaw(); return result; }
bool Notebook::DeleteAllPages(bool notify) { bool res = true; Freeze(); size_t count = m_tabs->GetTabsCount(); for(size_t i=0; i<count && res; i++){ res = DeletePage(0, notify); } Thaw(); return res; }
void CChatSelector::EndSession(uint64 client_id) { int usedtab; if (client_id) { usedtab = GetTabByClientID(client_id); } else { usedtab = GetSelection(); } if (usedtab == -1) { return; } DeletePage(usedtab); }
bool wxNotebook::DeleteAllPages() { wxCHECK_MSG( m_widget != NULL, FALSE, wxT("invalid notebook") ); #if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */ # pragma ivdep # pragma swp # pragma unroll # pragma prefetch # if 0 # pragma simd noassert # endif #endif /* VDM auto patch */ while (m_pagesData.GetCount() > 0) DeletePage( m_pagesData.GetCount()-1 ); wxASSERT_MSG( GetPageCount() == 0, wxT("all pages must have been deleted") ); InvalidateBestSize(); return wxNotebookBase::DeleteAllPages(); }
bool InfoPane::DeleteNonLogger(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.")); } if (page[i].indexInNB != -1) { DeletePage(GetPageIndex(page[i].window)); } page[i] = Page(); return true; } } return false; }
void wxPageContainer::OnMiddleDown(wxMouseEvent& event) { // Test if this style is enabled long style = GetParent()->GetWindowStyleFlag(); if(!(style & wxFNB_MOUSE_MIDDLE_CLOSES_TABS)) return; wxPageInfo pgInfo; int tabIdx; int where = HitTest(event.GetPosition(), pgInfo, tabIdx); switch(where) { case wxFNB_TAB: { DeletePage((size_t)tabIdx); break; } default: break; } event.Skip(); }
void wxPageContainer::OnLeftUp(wxMouseEvent& event) { wxPageInfo pgInfo; int tabIdx; // forget the zone that was initially clicked m_nLeftClickZone = wxFNB_NOWHERE; int where = HitTest(event.GetPosition(), pgInfo, tabIdx); switch(where) { case wxFNB_LEFT_ARROW: { RotateLeft(); break; } case wxFNB_RIGHT_ARROW: { RotateRight(); break; } case wxFNB_X: { // Make sure that the button was pressed before if(m_nXButtonStatus != wxFNB_BTN_PRESSED) break; m_nXButtonStatus = wxFNB_BTN_HOVER; DeletePage((size_t)m_iActivePage); break; } case wxFNB_TAB_X: { // Make sure that the button was pressed before if(m_nTabXButtonStatus != wxFNB_BTN_PRESSED) break; m_nTabXButtonStatus = wxFNB_BTN_HOVER; DeletePage((size_t)m_iActivePage); break; } case wxFNB_DROP_DOWN_ARROW: { // Make sure that the button was pressed before if(m_nArrowDownButtonStatus != wxFNB_BTN_PRESSED) break; m_nArrowDownButtonStatus = wxFNB_BTN_NONE; // Refresh the button status wxFNBRendererPtr render = wxFNBRendererMgrST::Get()->GetRenderer( GetParent()->GetWindowStyleFlag() ); wxClientDC dc(this); render->DrawDropDownArrow(this, dc); PopupTabsMenu(); break; } } event.Skip(); }
void WandProfile::DeleteWandSyncItem(int index) { DeletePage(index); }
//--------------------------------------------------------------------------------------- void ContentWindow::close_active_canvas() { int iActive = GetSelection(); if (iActive != -1) DeletePage(iActive); }
BOOL COXCustomizeManager::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here // setup shortcut bar m_shb.SetBarStyle(SHBS_INFOTIP|SHBS_UNDERLINEHOTITEM|SHBS_SHOWACTIVEALWAYS| SHBS_BOLDEXPANDEDGROUP|SHBS_DISABLEDRAGDROPITEM|SHBS_DRAWHEADERDRAGIMAGE); // setup title m_title.SetTextColor(::GetSysColor(COLOR_CAPTIONTEXT)); m_title.SetBkColor(::GetSysColor(COLOR_BTNFACE)); m_title.SetBackgroundFillType(GRADIENT_LEFT); CFont fontTitle; VERIFY(fontTitle.CreatePointFont(120,_T("MS Sans Serif"))); m_title.SetTextFont(&fontTitle); // layout manager // if(m_LayoutManager.IsAttached()) m_LayoutManager.Detach(); m_LayoutManager.Attach(this); // shortcut bar control m_LayoutManager.TieChild(IDC_OX_SHB_PAGES,OX_LMS_TOP|OX_LMS_BOTTOM,OX_LMT_SAME); // title m_LayoutManager.TieChild(IDC_OX_STATIC_TITLE,OX_LMS_RIGHT|OX_LMS_LEFT,OX_LMT_SAME); // title separator m_LayoutManager.TieChild(IDC_OX_SEPARATOR_TITLE, OX_LMS_RIGHT|OX_LMS_LEFT,OX_LMT_SAME); // bottom separator m_LayoutManager.TieChild(IDC_OX_SEPARATOR_BOTTOM, OX_LMS_RIGHT|OX_LMS_LEFT|OX_LMS_BOTTOM,OX_LMT_SAME); // OK, Cancel, Apply buttons m_LayoutManager.TieChild(IDOK,OX_LMS_BOTTOM|OX_LMS_RIGHT,OX_LMT_SAME); m_LayoutManager.TieChild(IDCANCEL,OX_LMS_BOTTOM|OX_LMS_RIGHT,OX_LMT_SAME); m_LayoutManager.TieChild(IDC_OX_BUTTON_APPLY,OX_LMS_BOTTOM|OX_LMS_RIGHT,OX_LMT_SAME); ////////////////////////////////////// // populate the manager with standard and user defined pages PopulatePages(); for(int nIndex=0; nIndex<m_shb.GetGroupCount(); nIndex++) { HSHBGROUP hGroup=m_shb.FindGroupByOrder(nIndex); ASSERT(hGroup!=NULL); m_shb.SortLCItems(hGroup); } #ifdef OX_CUSTOMIZE_WORKSPACE_STATE ASSERT(GetWorkspaceStatePage()!=NULL); // go through all pages and check if it should be displayed POSITION pos=m_mapPages.GetStartPosition(); while(pos!=NULL) { DWORD dwID=NULL; COXCustomizePage* pCustomizePage=NULL; m_mapPages.GetNextAssoc(pos,pCustomizePage,dwID); ASSERT(pCustomizePage!=NULL && dwID!=NULL); if(!GetWorkspaceStatePage()->IsViewablePage(pCustomizePage)) VERIFY(DeletePage(pCustomizePage)); } #endif // OX_CUSTOMIZE_WORKSPACE_STATE // activate first page HSHBGROUP hGroup=m_shb.FindGroupByOrder(0); ASSERT(hGroup!=NULL); COXCustomizePage* pCustomizePage=GetPageByLocation(hGroup,0); ASSERT(pCustomizePage!=NULL); VERIFY(ActivatePage(pCustomizePage)); // calculate the position of the active page window RecalcPageRect(); // adjust the position of the current active page if(m_pActivePage!=NULL) m_pActivePage->MoveWindow(GetPageRect()); // mark the dialog as initialized m_bInitialized=TRUE; return FALSE; }
void CMuleNotebook::OnDeletePage(wxBookCtrlEvent& evt) { int page = evt.GetSelection(); DeletePage(page); }
void CMuleNotebook::OnPopupClose(wxCommandEvent& WXUNUSED(evt)) { DeletePage( GetSelection() ); }