This patch allows FL to be build as a DLL with the VC project files, I was only able to at chief it with the VC projects because the make file for building libs doesn't have any rule to build DLLs (at least I didn't see how to do it). However the FL demo applications can be build using FL in DLL form with MSVC project files and VC make files (as mentioned before the FL DLL it self can only be build using VC projects). This patch includes 2 files; 1 to change current FL files to work in DLL form and 1 extra include file that needs to be added in the FL include directory. Small note: if you want to use FL as a DLL you need to use wxWin as a DLL. Thanks, Hans. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
149 lines
3.2 KiB
C++
149 lines
3.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: frmview.h
|
|
// Purpose: wxFrameView and wxFrameManager classes.
|
|
// Author: Aleksandras Gluchovas
|
|
// Modified by:
|
|
// Created: 02/01/99
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Aleksandras Gluchovas
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __FRMVIEW_G__
|
|
#define __FRMVIEW_G__
|
|
|
|
#if defined(__GNUG__) && !defined(__APPLE__)
|
|
#pragma interface "frmview.h"
|
|
#endif
|
|
|
|
#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 WXFL_DECLSPEC 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& 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 WXFL_DECLSPEC wxFrameManager : 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 = "" );
|
|
|
|
// synonyms
|
|
wxFrame* GetParentFrame();
|
|
wxWindow* GetParentWindow();
|
|
|
|
int GetActiveViewNo();
|
|
wxFrameView* GetActiveView();
|
|
wxNode* 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__ */
|
|
|