Notify parent frame when toolbar is moved/resized/added/deleted so that frame childs can be correctly repositioned. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			135 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/motif/frame.h
 | |
| // Purpose:     wxFrame class
 | |
| // Author:      Julian Smart
 | |
| // Modified by:
 | |
| // Created:     17/09/98
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) Julian Smart
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_MOTIF_FRAME_H_
 | |
| #define _WX_MOTIF_FRAME_H_
 | |
| 
 | |
| #ifdef __GNUG__
 | |
| #pragma interface "frame.h"
 | |
| #endif
 | |
| 
 | |
| class WXDLLEXPORT wxFrame : public wxFrameBase
 | |
| {
 | |
| public:
 | |
|     wxFrame() { Init(); }
 | |
|     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)
 | |
|     {
 | |
|         Init();
 | |
|         
 | |
|         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 ~wxFrame();
 | |
| 
 | |
|     virtual bool Show(bool show = TRUE);
 | |
| 
 | |
|     // Set menu bar
 | |
|     void SetMenuBar(wxMenuBar *menu_bar);
 | |
|     
 | |
|     // Set title
 | |
|     void SetTitle(const wxString& title);
 | |
|     
 | |
|     // Set icon
 | |
|     virtual void SetIcon(const wxIcon& icon);
 | |
|     virtual void SetIcons(const wxIconBundle& icons);
 | |
| 
 | |
| #if wxUSE_STATUSBAR
 | |
|     virtual void PositionStatusBar();
 | |
| #endif // wxUSE_STATUSBAR
 | |
|     
 | |
|     // Create toolbar
 | |
| #if wxUSE_TOOLBAR
 | |
|     virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL,
 | |
|                                      wxWindowID id = -1,
 | |
|                                      const wxString& name = wxToolBarNameStr);
 | |
|     virtual void SetToolBar(wxToolBar *toolbar);
 | |
|     virtual void PositionToolBar();
 | |
| #endif // wxUSE_TOOLBAR
 | |
|     
 | |
|     // Implementation only from now on
 | |
|     // -------------------------------
 | |
|     
 | |
|     void OnSysColourChanged(wxSysColourChangedEvent& event);
 | |
|     void OnActivate(wxActivateEvent& event);
 | |
|     
 | |
|     virtual void ChangeFont(bool keepOriginalSize = TRUE);
 | |
|     virtual void ChangeBackgroundColour();
 | |
|     virtual void ChangeForegroundColour();
 | |
|     WXWidget GetMenuBarWidget() const;
 | |
|     WXWidget GetShellWidget() const { return m_frameShell; }
 | |
|     WXWidget GetWorkAreaWidget() const { return m_workArea; }
 | |
|     WXWidget GetClientAreaWidget() const { return m_clientArea; }
 | |
|     WXWidget GetTopWidget() const { return m_frameShell; }
 | |
|     
 | |
|     virtual WXWidget GetMainWidget() const { return m_mainWidget; }
 | |
|     
 | |
|     // The widget that can have children on it
 | |
|     WXWidget GetClientWidget() const;
 | |
|     bool GetVisibleStatus() const { return m_visibleStatus; }
 | |
|     void SetVisibleStatus( bool status ) { m_visibleStatus = status; }
 | |
| 
 | |
|     bool PreResize();
 | |
| 
 | |
|     void SendSizeEvent();
 | |
| 
 | |
|     // for generic/mdig.h
 | |
|     virtual void DoGetClientSize(int *width, int *height) const;    
 | |
| private:
 | |
|     // common part of all ctors
 | |
|     void Init();
 | |
| 
 | |
|     // set a single icon for the frame
 | |
|     void DoSetIcon( const wxIcon& icon );
 | |
| 
 | |
|     //// Motif-specific
 | |
|     WXWidget              m_frameShell;
 | |
|     WXWidget              m_workArea;
 | |
|     WXWidget              m_clientArea;
 | |
|     bool                  m_visibleStatus;
 | |
|     bool                  m_iconized;
 | |
|     
 | |
|     virtual void DoGetSize(int *width, int *height) const;
 | |
|     virtual void DoGetPosition(int *x, int *y) const;
 | |
|     virtual void DoSetSize(int x, int y,
 | |
|         int width, int height,
 | |
|         int sizeFlags = wxSIZE_AUTO);
 | |
|     virtual void DoSetClientSize(int width, int height);
 | |
|     
 | |
| private:
 | |
|     virtual bool DoCreate( wxWindow* parent, wxWindowID id,
 | |
|                            const wxString& title,
 | |
|                            const wxPoint& pos,
 | |
|                            const wxSize& size,
 | |
|                            long style,
 | |
|                            const wxString& name );
 | |
|     virtual void DoDestroy();
 | |
| 
 | |
|     DECLARE_EVENT_TABLE()
 | |
|     DECLARE_DYNAMIC_CLASS(wxFrame)
 | |
| };
 | |
| 
 | |
| #endif
 | |
| // _WX_MOTIF_FRAME_H_
 |