wxWidgets/include/wx/univ/frame.h
Julian Smart dda4f6c089 Applied patch [ 651640 ] Toolbar sizing fix
This patch fixes the problem discussed on wx-dev
mailing list. (Message title "wxUniversal: How is the
parent notified when a child changes its size")

In short:
- This patch makes sure the toolbar notifies the parent of
any size change, this will give the parent the opportunity
to resize the frame client size and to make sure the
toolbar is in the right place.

Hans Van Leemputten


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 21:41:31 +00:00

93 lines
3.0 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: wx/univ/frame.h
// Purpose: wxFrame class for wxUniversal
// Author: Vadim Zeitlin
// Modified by:
// Created: 19.05.01
// RCS-ID: $Id$
// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_UNIV_FRAME_H_
#define _WX_UNIV_FRAME_H_
#ifdef __GNUG__
#pragma interface "univframe.h"
#endif
// ----------------------------------------------------------------------------
// wxFrame
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxFrame : public wxFrameBase
{
public:
wxFrame() {}
wxFrame(wxWindow *parent,
wxWindowID id,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr)
{
Create(parent, id, title, pos, size, style, name);
}
bool Create(wxWindow *parent,
wxWindowID id,
const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxFrameNameStr);
virtual wxPoint GetClientAreaOrigin() const;
virtual bool Enable(bool enable = TRUE);
#if wxUSE_STATUSBAR
virtual wxStatusBar* CreateStatusBar(int number = 1,
long style = wxST_SIZEGRIP,
wxWindowID id = 0,
const wxString& name = wxStatusLineNameStr);
#endif // wxUSE_STATUSBAR
#if wxUSE_TOOLBAR
// create main toolbar bycalling OnCreateToolBar()
virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL,
wxWindowID id = -1,
const wxString& name = wxToolBarNameStr);
virtual void PositionToolBar();
#endif // wxUSE_TOOLBAR
virtual int GetMinWidth() const;
virtual int GetMinHeight() const;
// sends wxSizeEvent to itself (used after attaching xxxBar)
virtual void SendSizeEvent();
protected:
void OnSize(wxSizeEvent& event);
virtual void DoGetClientSize(int *width, int *height) const;
virtual void DoSetClientSize(int width, int height);
#if wxUSE_MENUS
// override to update menu bar position when the frame size changes
virtual void PositionMenuBar();
virtual void DetachMenuBar();
virtual void AttachMenuBar(wxMenuBar *menubar);
#endif // wxUSE_MENUS
#if wxUSE_STATUSBAR
// override to update statusbar position when the frame size changes
virtual void PositionStatusBar();
#endif // wxUSE_MENUS
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxFrame)
};
#endif // _WX_UNIV_FRAME_H_