Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 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__ */
 | 
						|
 |