From fdfd5d49ebd4d071d19ee2eed7fab5db7fe2f7b1 Mon Sep 17 00:00:00 2001 From: Mattia Barbon Date: Sun, 30 Mar 2003 19:29:14 +0000 Subject: [PATCH] Removed dependency on wxTabView. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/motif/mdi.h | 3 ++- src/motif/mdi.cpp | 40 +++++++++++++++++++++++++++++----------- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/include/wx/motif/mdi.h b/include/wx/motif/mdi.h index ee822b515f..9fc284d395 100644 --- a/include/wx/motif/mdi.h +++ b/include/wx/motif/mdi.h @@ -231,6 +231,8 @@ public: // Implementation void OnPageChanged(wxNotebookEvent& event); + + int FindPage(const wxNotebookPage* page); protected: virtual void DoSetSize(int x, int y, @@ -242,7 +244,6 @@ protected: void DoGetSize(int *width, int *height) const ; void DoGetPosition(int *x, int *y) const ; - private: DECLARE_EVENT_TABLE() }; diff --git a/src/motif/mdi.cpp b/src/motif/mdi.cpp index 95be276fbc..daf09e2582 100644 --- a/src/motif/mdi.cpp +++ b/src/motif/mdi.cpp @@ -18,7 +18,6 @@ #define XtWindow XTWINDOW #endif -#include "wx/tab.h" #include "wx/mdi.h" #include "wx/menu.h" #include "wx/settings.h" @@ -427,8 +426,15 @@ wxMDIChildFrame::~wxMDIChildFrame() wxMDIClientWindow* clientWindow = parentFrame->GetClientWindow(); // Remove page if still there - if (clientWindow->RemovePage(this)) - clientWindow->Refresh(); + { + int i = clientWindow->FindPage(this); + + if (i != -1) + { + clientWindow->RemovePage(i); + clientWindow->Refresh(); + } + } // Set the selection to the first remaining page if (clientWindow->GetPageCount() > 0) @@ -547,9 +553,14 @@ void wxMDIChildFrame::SetTitle(const wxString& title) { wxTopLevelWindow::SetTitle( title ); wxMDIClientWindow* clientWindow = GetMDIParentFrame()->GetClientWindow(); - int pageNo = clientWindow->FindPagePosition(this); - if (pageNo > -1) - clientWindow->SetPageText(pageNo, title); + + // Remove page if still there + { + int i = clientWindow->FindPage(this); + + if (i != -1) + clientWindow->SetPageText(i, title); + } } // MDI operations @@ -635,17 +646,24 @@ bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style) if (success) { wxFont font(10, wxSWISS, wxNORMAL, wxNORMAL); - wxFont selFont(10, wxSWISS, wxNORMAL, wxBOLD); - GetTabView()->SetTabFont(font); - GetTabView()->SetSelectedTabFont(selFont); - GetTabView()->SetTabSize(120, 18); - GetTabView()->SetTabSelectionHeight(20); + SetFont(font); return TRUE; } else return FALSE; } +int wxMDIClientWindow::FindPage(const wxNotebookPage* page) +{ + for (int i = GetPageCount() - 1; i >= 0; --i) + { + if (GetPage(i) == page) + return i; + } + + return -1; +} + void wxMDIClientWindow::DoSetSize(int x, int y, int width, int height, int sizeFlags) { wxWindow::DoSetSize(x, y, width, height, sizeFlags); -- 2.45.2