add GetMDIParent() and use it to reduce the number of casts in the MDI code (patch 1885462)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -162,6 +162,11 @@ public:
|
|||||||
// Implementation only from now on
|
// Implementation only from now on
|
||||||
// -------------------------------
|
// -------------------------------
|
||||||
|
|
||||||
|
wxMDIParentFrame* GetMDIParent() const
|
||||||
|
{
|
||||||
|
return wxStaticCast(wxFrame::GetParent(), wxMDIParentFrame);
|
||||||
|
}
|
||||||
|
|
||||||
// Handlers
|
// Handlers
|
||||||
bool HandleMDIActivate(long bActivate, WXHWND, WXHWND);
|
bool HandleMDIActivate(long bActivate, WXHWND, WXHWND);
|
||||||
bool HandleWindowPosChanging(void *lpPos);
|
bool HandleWindowPosChanging(void *lpPos);
|
||||||
|
@@ -806,7 +806,7 @@ bool wxMDIChildFrame::Show(bool show)
|
|||||||
|
|
||||||
// we need to refresh the MDI frame window menu to include (or exclude if
|
// we need to refresh the MDI frame window menu to include (or exclude if
|
||||||
// we've been hidden) this frame
|
// we've been hidden) this frame
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
MDISetMenu(parent->GetClientWindow(), NULL, NULL);
|
MDISetMenu(parent->GetClientWindow(), NULL, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -845,7 +845,7 @@ void wxMDIChildFrame::DoSetClientSize(int width, int height)
|
|||||||
|
|
||||||
// If there's an MDI parent, must subtract the parent's top left corner
|
// If there's an MDI parent, must subtract the parent's top left corner
|
||||||
// since MoveWindow moves relative to the parent
|
// since MoveWindow moves relative to the parent
|
||||||
wxMDIParentFrame *mdiParent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *mdiParent = GetMDIParent();
|
||||||
::ScreenToClient((HWND) mdiParent->GetClientWindow()->GetHWND(), &point);
|
::ScreenToClient((HWND) mdiParent->GetClientWindow()->GetHWND(), &point);
|
||||||
|
|
||||||
MoveWindow(hWnd, point.x, point.y, actual_width, actual_height, (BOOL)true);
|
MoveWindow(hWnd, point.x, point.y, actual_width, actual_height, (BOOL)true);
|
||||||
@@ -881,7 +881,7 @@ void wxMDIChildFrame::DoGetPosition(int *x, int *y) const
|
|||||||
|
|
||||||
// Since we now have the absolute screen coords,
|
// Since we now have the absolute screen coords,
|
||||||
// if there's a parent we must subtract its top left corner
|
// if there's a parent we must subtract its top left corner
|
||||||
wxMDIParentFrame *mdiParent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *mdiParent = GetMDIParent();
|
||||||
::ScreenToClient((HWND) mdiParent->GetClientWindow()->GetHWND(), &point);
|
::ScreenToClient((HWND) mdiParent->GetClientWindow()->GetHWND(), &point);
|
||||||
|
|
||||||
if (x)
|
if (x)
|
||||||
@@ -892,7 +892,7 @@ void wxMDIChildFrame::DoGetPosition(int *x, int *y) const
|
|||||||
|
|
||||||
void wxMDIChildFrame::InternalSetMenuBar()
|
void wxMDIChildFrame::InternalSetMenuBar()
|
||||||
{
|
{
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
|
|
||||||
InsertWindowMenu(parent->GetClientWindow(),
|
InsertWindowMenu(parent->GetClientWindow(),
|
||||||
m_hMenu, GetMDIWindowMenu(parent));
|
m_hMenu, GetMDIWindowMenu(parent));
|
||||||
@@ -918,7 +918,7 @@ WXHICON wxMDIChildFrame::GetDefaultIcon() const
|
|||||||
|
|
||||||
void wxMDIChildFrame::Maximize(bool maximize)
|
void wxMDIChildFrame::Maximize(bool maximize)
|
||||||
{
|
{
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
if ( parent && parent->GetClientWindow() )
|
if ( parent && parent->GetClientWindow() )
|
||||||
{
|
{
|
||||||
::SendMessage(GetWinHwnd(parent->GetClientWindow()),
|
::SendMessage(GetWinHwnd(parent->GetClientWindow()),
|
||||||
@@ -929,7 +929,7 @@ void wxMDIChildFrame::Maximize(bool maximize)
|
|||||||
|
|
||||||
void wxMDIChildFrame::Restore()
|
void wxMDIChildFrame::Restore()
|
||||||
{
|
{
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
if ( parent && parent->GetClientWindow() )
|
if ( parent && parent->GetClientWindow() )
|
||||||
{
|
{
|
||||||
::SendMessage(GetWinHwnd(parent->GetClientWindow()), WM_MDIRESTORE,
|
::SendMessage(GetWinHwnd(parent->GetClientWindow()), WM_MDIRESTORE,
|
||||||
@@ -939,7 +939,7 @@ void wxMDIChildFrame::Restore()
|
|||||||
|
|
||||||
void wxMDIChildFrame::Activate()
|
void wxMDIChildFrame::Activate()
|
||||||
{
|
{
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
if ( parent && parent->GetClientWindow() )
|
if ( parent && parent->GetClientWindow() )
|
||||||
{
|
{
|
||||||
::SendMessage(GetWinHwnd(parent->GetClientWindow()), WM_MDIACTIVATE,
|
::SendMessage(GetWinHwnd(parent->GetClientWindow()), WM_MDIACTIVATE,
|
||||||
@@ -1048,7 +1048,7 @@ bool wxMDIChildFrame::HandleMDIActivate(long WXUNUSED(activate),
|
|||||||
WXHWND hwndAct,
|
WXHWND hwndAct,
|
||||||
WXHWND hwndDeact)
|
WXHWND hwndDeact)
|
||||||
{
|
{
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
|
|
||||||
HMENU menuToSet = 0;
|
HMENU menuToSet = 0;
|
||||||
|
|
||||||
@@ -1172,7 +1172,7 @@ bool wxMDIChildFrame::MSWTranslateMessage(WXMSG* msg)
|
|||||||
{
|
{
|
||||||
// we must pass the parent frame to ::TranslateAccelerator(), otherwise it
|
// we must pass the parent frame to ::TranslateAccelerator(), otherwise it
|
||||||
// doesn't do its job correctly for MDI child menus
|
// doesn't do its job correctly for MDI child menus
|
||||||
return MSWDoTranslateMessage((wxMDIChildFrame *)GetParent(), msg);
|
return MSWDoTranslateMessage(GetMDIParent(), msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
@@ -1181,7 +1181,7 @@ bool wxMDIChildFrame::MSWTranslateMessage(WXMSG* msg)
|
|||||||
|
|
||||||
void wxMDIChildFrame::MSWDestroyWindow()
|
void wxMDIChildFrame::MSWDestroyWindow()
|
||||||
{
|
{
|
||||||
wxMDIParentFrame *parent = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame *parent = GetMDIParent();
|
||||||
|
|
||||||
// Must make sure this handle is invalidated (set to NULL) since all sorts
|
// Must make sure this handle is invalidated (set to NULL) since all sorts
|
||||||
// of things could happen after the child client is destroyed, but before
|
// of things could happen after the child client is destroyed, but before
|
||||||
@@ -1208,7 +1208,7 @@ void wxMDIChildFrame::MSWDestroyWindow()
|
|||||||
bool wxMDIChildFrame::ResetWindowStyle(void *vrect)
|
bool wxMDIChildFrame::ResetWindowStyle(void *vrect)
|
||||||
{
|
{
|
||||||
RECT *rect = (RECT *)vrect;
|
RECT *rect = (RECT *)vrect;
|
||||||
wxMDIParentFrame* pFrameWnd = (wxMDIParentFrame *)GetParent();
|
wxMDIParentFrame* pFrameWnd = GetMDIParent();
|
||||||
wxMDIChildFrame* pChild = pFrameWnd->GetActiveChild();
|
wxMDIChildFrame* pChild = pFrameWnd->GetActiveChild();
|
||||||
|
|
||||||
if (!pChild || (pChild == this))
|
if (!pChild || (pChild == this))
|
||||||
|
Reference in New Issue
Block a user