3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
222 lines
7.6 KiB
C++
222 lines
7.6 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/os2/frame.h
|
|
// Purpose: wxFrame class
|
|
// Author: David Webster
|
|
// Modified by:
|
|
// Created: 10/27/99
|
|
// Copyright: (c) David Webster
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_FRAME_H_
|
|
#define _WX_FRAME_H_
|
|
|
|
//
|
|
// Get the default resource ID's for frames
|
|
//
|
|
#include "wx/os2/wxrsc.h"
|
|
|
|
class WXDLLIMPEXP_CORE wxFrame : public wxFrameBase
|
|
{
|
|
public:
|
|
// construction
|
|
wxFrame() { Init(); }
|
|
wxFrame( wxWindow* pParent
|
|
,wxWindowID vId
|
|
,const wxString& rsTitle
|
|
,const wxPoint& rPos = wxDefaultPosition
|
|
,const wxSize& rSize = wxDefaultSize
|
|
,long lStyle = wxDEFAULT_FRAME_STYLE
|
|
,const wxString& rsName = wxFrameNameStr
|
|
)
|
|
{
|
|
Init();
|
|
|
|
Create(pParent, vId, rsTitle, rPos, rSize, lStyle, rsName);
|
|
}
|
|
|
|
bool Create( wxWindow* pParent
|
|
,wxWindowID vId
|
|
,const wxString& rsTitle
|
|
,const wxPoint& rPos = wxDefaultPosition
|
|
,const wxSize& rSize = wxDefaultSize
|
|
,long lStyle = wxDEFAULT_FRAME_STYLE
|
|
,const wxString& rsName = wxFrameNameStr
|
|
);
|
|
|
|
virtual ~wxFrame();
|
|
|
|
// implement base class pure virtuals
|
|
#if wxUSE_MENUS_NATIVE
|
|
virtual void SetMenuBar(wxMenuBar* pMenubar);
|
|
#endif
|
|
virtual bool ShowFullScreen( bool bShow
|
|
,long lStyle = wxFULLSCREEN_ALL
|
|
);
|
|
|
|
|
|
// implementation only from now on
|
|
// -------------------------------
|
|
|
|
virtual void Raise(void);
|
|
|
|
// event handlers
|
|
void OnSysColourChanged(wxSysColourChangedEvent& rEvent);
|
|
|
|
// Toolbar
|
|
#if wxUSE_TOOLBAR
|
|
virtual wxToolBar* CreateToolBar( long lStyle = -1
|
|
,wxWindowID vId = -1
|
|
,const wxString& rsName = wxToolBarNameStr
|
|
);
|
|
|
|
virtual wxToolBar* OnCreateToolBar( long lStyle
|
|
,wxWindowID vId
|
|
,const wxString& rsName
|
|
);
|
|
virtual void PositionToolBar(void);
|
|
#endif // wxUSE_TOOLBAR
|
|
|
|
// Status bar
|
|
#if wxUSE_STATUSBAR
|
|
virtual wxStatusBar* OnCreateStatusBar( int nNumber = 1
|
|
,long lStyle = wxSTB_DEFAULT_STYLE
|
|
,wxWindowID vId = 0
|
|
,const wxString& rsName = wxStatusLineNameStr
|
|
);
|
|
virtual void PositionStatusBar(void);
|
|
|
|
// Hint to tell framework which status bar to use: the default is to use
|
|
// native one for the platforms which support it (Win32), the generic one
|
|
// otherwise
|
|
|
|
// TODO: should this go into a wxFrameworkSettings class perhaps?
|
|
static void UseNativeStatusBar(bool bUseNative)
|
|
{ m_bUseNativeStatusBar = bUseNative; }
|
|
static bool UsesNativeStatusBar()
|
|
{ return m_bUseNativeStatusBar; }
|
|
#endif // wxUSE_STATUSBAR
|
|
|
|
WXHMENU GetWinMenu() const { return m_hMenu; }
|
|
|
|
// Returns the origin of client area (may be different from (0,0) if the
|
|
// frame has a toolbar)
|
|
virtual wxPoint GetClientAreaOrigin() const;
|
|
|
|
// event handlers
|
|
bool HandlePaint(void);
|
|
bool HandleSize( int nX
|
|
,int nY
|
|
,WXUINT uFlag
|
|
);
|
|
bool HandleCommand( WXWORD wId
|
|
,WXWORD wCmd
|
|
,WXHWND wControl
|
|
);
|
|
bool HandleMenuSelect( WXWORD wItem
|
|
,WXWORD wFlags
|
|
,WXHMENU hMenu
|
|
);
|
|
|
|
// tooltip management
|
|
#if wxUSE_TOOLTIPS
|
|
WXHWND GetToolTipCtrl(void) const { return m_hWndToolTip; }
|
|
void SetToolTipCtrl(WXHWND hHwndTT) { m_hWndToolTip = hHwndTT; }
|
|
#endif // tooltips
|
|
|
|
void SetClient(WXHWND c_Hwnd);
|
|
void SetClient(wxWindow* c_Window);
|
|
wxWindow *GetClient();
|
|
|
|
friend MRESULT EXPENTRY wxFrameWndProc(HWND hWnd,ULONG ulMsg, MPARAM wParam, MPARAM lParam);
|
|
friend MRESULT EXPENTRY wxFrameMainWndProc(HWND hWnd,ULONG ulMsg, MPARAM wParam, MPARAM lParam);
|
|
|
|
protected:
|
|
// common part of all ctors
|
|
void Init(void);
|
|
|
|
virtual WXHICON GetDefaultIcon(void) const;
|
|
// override base class virtuals
|
|
virtual void DoGetClientSize( int* pWidth
|
|
,int* pHeight
|
|
) const;
|
|
virtual void DoSetClientSize( int nWidth
|
|
,int nWeight
|
|
);
|
|
inline virtual bool IsMDIChild(void) const { return FALSE; }
|
|
|
|
#if wxUSE_MENUS_NATIVE
|
|
// helper
|
|
void DetachMenuBar(void);
|
|
// perform MSW-specific action when menubar is changed
|
|
virtual void AttachMenuBar(wxMenuBar* pMenubar);
|
|
// a plug in for MDI frame classes which need to do something special when
|
|
// the menubar is set
|
|
virtual void InternalSetMenuBar(void);
|
|
#endif
|
|
// propagate our state change to all child frames
|
|
void IconizeChildFrames(bool bIconize);
|
|
|
|
// we add menu bar accel processing
|
|
bool OS2TranslateMessage(WXMSG* pMsg);
|
|
|
|
// window proc for the frames
|
|
MRESULT OS2WindowProc( WXUINT uMessage
|
|
,WXWPARAM wParam
|
|
,WXLPARAM lParam
|
|
);
|
|
|
|
bool m_bIconized;
|
|
WXHICON m_hDefaultIcon;
|
|
|
|
#if wxUSE_STATUSBAR
|
|
static bool m_bUseNativeStatusBar;
|
|
#endif // wxUSE_STATUSBAR
|
|
|
|
// Data to save/restore when calling ShowFullScreen
|
|
long m_lFsStyle; // Passed to ShowFullScreen
|
|
wxRect m_vFsOldSize;
|
|
long m_lFsOldWindowStyle;
|
|
int m_nFsStatusBarFields; // 0 for no status bar
|
|
int m_nFsStatusBarHeight;
|
|
int m_nFsToolBarHeight;
|
|
bool m_bFsIsMaximized;
|
|
bool m_bFsIsShowing;
|
|
bool m_bWasMinimized;
|
|
bool m_bIsShown;
|
|
|
|
private:
|
|
#if wxUSE_TOOLTIPS
|
|
WXHWND m_hWndToolTip;
|
|
#endif // tooltips
|
|
|
|
//
|
|
// Handles to child windows of the Frame, and the frame itself,
|
|
// that we don't have child objects for (m_hWnd in wxWindow is the
|
|
// handle of the Frame's client window!
|
|
//
|
|
WXHWND m_hTitleBar;
|
|
WXHWND m_hHScroll;
|
|
WXHWND m_hVScroll;
|
|
|
|
//
|
|
// Swp structures for various client data
|
|
// DW: Better off in attached RefData?
|
|
//
|
|
SWP m_vSwpTitleBar;
|
|
SWP m_vSwpMenuBar;
|
|
SWP m_vSwpHScroll;
|
|
SWP m_vSwpVScroll;
|
|
SWP m_vSwpStatusBar;
|
|
SWP m_vSwpToolBar;
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
DECLARE_DYNAMIC_CLASS(wxFrame)
|
|
};
|
|
|
|
MRESULT EXPENTRY wxFrameWndProc(HWND hWnd,ULONG ulMsg, MPARAM wParam, MPARAM lParam);
|
|
MRESULT EXPENTRY wxFrameMainWndProc(HWND hWnd,ULONG ulMsg, MPARAM wParam, MPARAM lParam);
|
|
#endif
|
|
// _WX_FRAME_H_
|
|
|