git-svn-id: svn://10.65.10.50/branches/R_10_00@23289 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			146 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        frmview.h
 | |
| // Purpose:     wxFrameView and wxFrameManager classes.
 | |
| // Author:      Aleksandras Gluchovas
 | |
| // Modified by:
 | |
| // Created:     02/01/99
 | |
| // RCS-ID:      $Id: frmview.h 35650 2005-09-23 12:56:45Z MR $
 | |
| // Copyright:   (c) Aleksandras Gluchovas
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef __FRMVIEW_G__
 | |
| #define __FRMVIEW_G__
 | |
| 
 | |
| #include "wx/module.h"
 | |
| 
 | |
| #if 0
 | |
| #include "wx/fl/objstore.h"
 | |
| #endif
 | |
| 
 | |
| class wxObjectStorage;
 | |
| 
 | |
| #include "wx/fl/controlbar.h"
 | |
| 
 | |
| class wxFrameManager;
 | |
| 
 | |
| /*
 | |
| It is not clear what this class does. It is not used elsewhere in FL.
 | |
| */
 | |
| 
 | |
| class WXDLLIMPEXP_FL wxFrameView : public wxEvtHandler
 | |
| {
 | |
| protected:
 | |
|     wxStringList    mTopMenus;
 | |
|     wxFrameLayout*  mpLayout;
 | |
|     wxFrameManager* mpFrameMgr;
 | |
|     bool            mDoToolUpdates;
 | |
| 
 | |
|     friend class wxFrameManager;
 | |
|     friend class wxFrameViewSerializer;
 | |
| 
 | |
| protected:
 | |
|     void OnIdle( wxIdleEvent& event);
 | |
| 
 | |
| public:
 | |
|     wxFrameView();
 | |
|     ~wxFrameView();
 | |
| 
 | |
|     virtual void Activate();
 | |
|     virtual void Deactivate();
 | |
| 
 | |
|     wxFrame* GetParentFrame();
 | |
|     wxWindow* GetClientWindow();
 | |
| 
 | |
|     wxFrameManager& GetFrameManager();
 | |
| 
 | |
|     void RegisterMenu( const wxString& topMenuName );
 | |
| 
 | |
|     void CreateLayout();
 | |
|     wxFrameLayout* GetLayout();
 | |
|     void SetLayout( wxFrameLayout* pLayout );
 | |
|     void SetToolUpdates( bool doToolUpdates = true );
 | |
| 
 | |
| 
 | |
|     // hooks for specific frame-views
 | |
| 
 | |
|     virtual void OnInit() {}
 | |
| 
 | |
|     virtual void OnSerialize( wxObjectStorage& WXUNUSED(store) ) {}
 | |
|     virtual void OnActiveate() {}
 | |
|     virtual void OnDeactivate() {}
 | |
| 
 | |
|     // imp. is mandatory
 | |
|     virtual void OnRecreate() {}
 | |
|     virtual void OnInitMenus() {}
 | |
| 
 | |
|     DECLARE_EVENT_TABLE()
 | |
| };
 | |
| 
 | |
| class wxFrame;
 | |
| 
 | |
| /*
 | |
| It is not clear what this class does. It is not used elsewhere in FL.
 | |
| */
 | |
| 
 | |
| class WXDLLIMPEXP_FL wxFrameManager : public wxObject
 | |
| {
 | |
| protected:
 | |
|     wxList       mViews;
 | |
|     wxWindow*    mpFrameWnd;
 | |
|     int          mActiveViewNo;
 | |
|     wxWindow*    mpClientWnd;
 | |
| 
 | |
| #if 0
 | |
|     wxObjectStorage mStore;
 | |
| #endif
 | |
| 
 | |
|     wxString        mSettingsFile;
 | |
| 
 | |
| protected:
 | |
|     void DoSerialize( wxObjectStorage& store );
 | |
|     void DestroyViews();
 | |
|     int GetViewNo( wxFrameView* pView );
 | |
|     void EnableMenusForView( wxFrameView* pView, bool enable );
 | |
|     void SyncAllMenus();
 | |
| 
 | |
| public:
 | |
|     wxFrameManager();
 | |
|     ~wxFrameManager();
 | |
| 
 | |
|     // if file name is empty, views are are not saved/loaded
 | |
| 
 | |
|     virtual void Init( wxWindow* pMainFrame,
 | |
|                        const wxString& settingsFile = wxEmptyString );
 | |
| 
 | |
|     // synonyms
 | |
|     wxFrame* GetParentFrame();
 | |
|     wxWindow* GetParentWindow();
 | |
| 
 | |
|     int GetActiveViewNo();
 | |
|     wxFrameView* GetActiveView();
 | |
|     wxObjectList::compatibility_iterator GetActiveViewNode();
 | |
| 
 | |
|     wxFrameView* GetView( int viewNo );
 | |
| 
 | |
|     void SetClinetWindow( wxWindow* pFrameClient ); 
 | |
|     wxWindow* GetClientWindow();
 | |
| 
 | |
|     void AddView( wxFrameView* pFrmView );
 | |
|     void RemoveView( wxFrameView* pFrmView );
 | |
| 
 | |
|     void ActivateView( int viewNo );
 | |
|     void ActivateView( wxFrameView* pFrmView );
 | |
|     void DeactivateCurrentView();
 | |
| 
 | |
|     wxObjectStorage& GetObjectStore();
 | |
| 
 | |
|     void SaveViewsNow();
 | |
|     bool ReloadViews();
 | |
| 
 | |
|     bool ViewsAreLoaded();
 | |
| };
 | |
| 
 | |
| #endif /* __FRMVIEW_G__ */
 | |
| 
 |