Applied patch [ 623736 ] Build and use FL as DLL
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
This commit is contained in:
@@ -26,7 +26,7 @@ antiflicker plugins within the application.
|
||||
Locking for multithreaded applications is not yet implemented.
|
||||
*/
|
||||
|
||||
class cbAntiflickerPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbAntiflickerPlugin : public cbPluginBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbAntiflickerPlugin )
|
||||
protected:
|
||||
|
@@ -23,7 +23,7 @@
|
||||
Plugin class implementing bar dragging.
|
||||
*/
|
||||
|
||||
class cbBarDragPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbBarDragPlugin : public cbPluginBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbBarDragPlugin )
|
||||
protected:
|
||||
|
@@ -24,7 +24,7 @@ This class intercepts bar-decoration and sizing events, and draws 3D hints
|
||||
around fixed and flexible bars, similar to those in Microsoft DevStudio 6.x
|
||||
*/
|
||||
|
||||
class cbBarHintsPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbBarHintsPlugin : public cbPluginBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbBarHintsPlugin )
|
||||
|
||||
|
@@ -24,7 +24,7 @@ menu and handling basic customization such as floating
|
||||
and horizontal/vertical alignment of the bar.
|
||||
*/
|
||||
|
||||
class cbSimpleCustomizationPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbSimpleCustomizationPlugin : public cbPluginBase
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS( cbSimpleCustomizationPlugin )
|
||||
|
@@ -21,30 +21,31 @@
|
||||
#include "wx/string.h"
|
||||
#include "wx/window.h"
|
||||
#include "wx/dynarray.h"
|
||||
#include "wx/fl/fldefs.h"
|
||||
|
||||
#define WXCONTROLBAR_VERSION 1.3
|
||||
|
||||
// forward declarations
|
||||
|
||||
class wxFrameLayout;
|
||||
class WXFL_DECLSPEC wxFrameLayout;
|
||||
|
||||
class cbDockPane;
|
||||
class cbUpdatesManagerBase;
|
||||
class cbBarDimHandlerBase;
|
||||
class cbPluginBase;
|
||||
class cbPluginEvent;
|
||||
class cbPaneDrawPlugin;
|
||||
class WXFL_DECLSPEC cbDockPane;
|
||||
class WXFL_DECLSPEC cbUpdatesManagerBase;
|
||||
class WXFL_DECLSPEC cbBarDimHandlerBase;
|
||||
class WXFL_DECLSPEC cbPluginBase;
|
||||
class WXFL_DECLSPEC cbPluginEvent;
|
||||
class WXFL_DECLSPEC cbPaneDrawPlugin;
|
||||
|
||||
class cbBarInfo;
|
||||
class cbRowInfo;
|
||||
class cbDimInfo;
|
||||
class cbCommonPaneProperties;
|
||||
class WXFL_DECLSPEC cbBarInfo;
|
||||
class WXFL_DECLSPEC cbRowInfo;
|
||||
class WXFL_DECLSPEC cbDimInfo;
|
||||
class WXFL_DECLSPEC cbCommonPaneProperties;
|
||||
|
||||
typedef cbBarInfo* BarInfoPtrT;
|
||||
typedef cbRowInfo* RowInfoPtrT;
|
||||
|
||||
WX_DEFINE_ARRAY( BarInfoPtrT, BarArrayT );
|
||||
WX_DEFINE_ARRAY( RowInfoPtrT, RowArrayT );
|
||||
WXFL_DEFINE_ARRAY( BarInfoPtrT, BarArrayT );
|
||||
WXFL_DEFINE_ARRAY( RowInfoPtrT, RowArrayT );
|
||||
|
||||
// control bar states
|
||||
|
||||
@@ -97,7 +98,7 @@ Helper class, used for spying for unhandled mouse events on control bars
|
||||
and forwarding them to the frame layout.
|
||||
*/
|
||||
|
||||
class cbBarSpy : public wxEvtHandler
|
||||
class WXFL_DECLSPEC cbBarSpy : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS( cbBarSpy )
|
||||
@@ -129,7 +130,7 @@ which can be docked along the top, bottom, right, or left side of the
|
||||
parent frame.
|
||||
*/
|
||||
|
||||
class wxFrameLayout : public wxEvtHandler
|
||||
class WXFL_DECLSPEC wxFrameLayout : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
// Default constructor, used only for serialization.
|
||||
@@ -647,7 +648,7 @@ used by any particular updates-manager to store
|
||||
auxiliary information to be used by its updating algorithm.
|
||||
*/
|
||||
|
||||
class cbUpdateMgrData : public wxObject
|
||||
class WXFL_DECLSPEC cbUpdateMgrData : public wxObject
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbUpdateMgrData )
|
||||
public:
|
||||
@@ -687,7 +688,7 @@ to adjust the values in cbDimInfo::mSizes accordingly.
|
||||
Specific handlers can be hooked up to specific types of bar.
|
||||
*/
|
||||
|
||||
class cbBarDimHandlerBase : public wxObject
|
||||
class WXFL_DECLSPEC cbBarDimHandlerBase : public wxObject
|
||||
{
|
||||
DECLARE_ABSTRACT_CLASS( cbBarDimHandlerBase )
|
||||
|
||||
@@ -725,7 +726,7 @@ Helper class used internally by the wxFrameLayout class.
|
||||
Holds and manages information about bar dimensions.
|
||||
*/
|
||||
|
||||
class cbDimInfo : public wxObject
|
||||
class WXFL_DECLSPEC cbDimInfo : public wxObject
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbDimInfo )
|
||||
public:
|
||||
@@ -824,7 +825,7 @@ public:
|
||||
};
|
||||
|
||||
// FIXME: this array definition compiles but probably doesn't do what was intended (GD)
|
||||
WX_DEFINE_ARRAY_LONG(float, cbArrayFloat);
|
||||
WXFL_DEFINE_ARRAY_LONG(float, cbArrayFloat);
|
||||
|
||||
/*
|
||||
Helper class used internally by the wxFrameLayout class.
|
||||
|
@@ -18,12 +18,13 @@
|
||||
|
||||
#include "wx/tbarbase.h"
|
||||
#include "wx/dynarray.h"
|
||||
#include "wx/fl/fldefs.h"
|
||||
|
||||
/*
|
||||
Tool layout item.
|
||||
*/
|
||||
|
||||
class wxToolLayoutItem : public wxObject
|
||||
class WXFL_DECLSPEC wxToolLayoutItem : public wxObject
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxToolLayoutItem)
|
||||
|
||||
@@ -32,19 +33,19 @@ public:
|
||||
bool mIsSeparator;
|
||||
};
|
||||
|
||||
class wxDynToolInfo;
|
||||
class WXFL_DECLSPEC wxDynToolInfo;
|
||||
|
||||
typedef wxToolLayoutItem* wxToolLayoutItemPtrT;
|
||||
typedef wxDynToolInfo* wxDynToolInfoPtrT;
|
||||
|
||||
WX_DEFINE_ARRAY( wxToolLayoutItemPtrT, wxLayoutItemArrayT );
|
||||
WX_DEFINE_ARRAY( wxDynToolInfoPtrT, wxDynToolInfoArrayT );
|
||||
WXFL_DEFINE_ARRAY( wxToolLayoutItemPtrT, wxLayoutItemArrayT );
|
||||
WXFL_DEFINE_ARRAY( wxDynToolInfoPtrT, wxDynToolInfoArrayT );
|
||||
|
||||
/*
|
||||
This is a base class for layout algorithm implementations.
|
||||
*/
|
||||
|
||||
class LayoutManagerBase
|
||||
class WXFL_DECLSPEC LayoutManagerBase
|
||||
{
|
||||
public:
|
||||
// Constructor.
|
||||
@@ -63,7 +64,7 @@ BagLayout lays out items in left-to-right order from
|
||||
top to bottom.
|
||||
*/
|
||||
|
||||
class BagLayout : public LayoutManagerBase
|
||||
class WXFL_DECLSPEC BagLayout : public LayoutManagerBase
|
||||
{
|
||||
public:
|
||||
// Constructor.
|
||||
@@ -78,7 +79,7 @@ public:
|
||||
This class holds dynamic toolbar item information.
|
||||
*/
|
||||
|
||||
class wxDynToolInfo : public wxToolLayoutItem
|
||||
class WXFL_DECLSPEC wxDynToolInfo : public wxToolLayoutItem
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxDynToolInfo)
|
||||
|
||||
@@ -98,7 +99,7 @@ public:
|
||||
wxDynamicToolBar manages containment and layout of tool windows.
|
||||
*/
|
||||
|
||||
class wxDynamicToolBar : public wxToolBarBase
|
||||
class WXFL_DECLSPEC wxDynamicToolBar : public wxToolBarBase
|
||||
{
|
||||
protected:
|
||||
friend class wxDynamicToolBarSerializer;
|
||||
|
@@ -23,7 +23,7 @@
|
||||
Dynamic toolbar dimension handler.
|
||||
*/
|
||||
|
||||
class cbDynToolBarDimHandler : public cbBarDimHandlerBase
|
||||
class WXFL_DECLSPEC cbDynToolBarDimHandler : public cbBarDimHandlerBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbDynToolBarDimHandler )
|
||||
public:
|
||||
|
50
contrib/include/wx/fl/fldefs.h
Normal file
50
contrib/include/wx/fl/fldefs.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: fldefs.h
|
||||
// Purpose: Declaration of global types and defines.
|
||||
// Author: David M. Falkinder (david_falkinder@hp.com)
|
||||
// Modified by:
|
||||
// Created: 18/09/2002
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) David M. Falkinder
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __fldefs_H_INCLUDED__
|
||||
#define __fldefs_H_INCLUDED__
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
/*
|
||||
* If we're using wx in Dynamic Library format do we
|
||||
* want FL to be in DLL form as well?
|
||||
*/
|
||||
#if defined(WXUSINGDLL) && \
|
||||
(defined(WXMAKING_FL_DLL) || defined(WXUSING_FL_DLL))
|
||||
|
||||
#if defined(WXMAKING_FL_DLL)
|
||||
// When building the DLL WXFLDECLSPEC exports classes
|
||||
# define WXFL_DECLSPEC WXEXPORT
|
||||
#elif defined(WXUSING_FL_DLL)
|
||||
// When building the DLL WXFLDECLSPEC imports classes
|
||||
# define WXFL_DECLSPEC WXIMPORT
|
||||
#endif // defined(WXBUILD_FL_DLL)
|
||||
|
||||
#else
|
||||
// When building the static library nullify the effect of WXFL_DECLSPEC
|
||||
#define WXFL_DECLSPEC
|
||||
#endif // WXUSINGDLL && (WXMAKING_FL_DLL || WXUSING_FL_DLL)
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Override some of the wxArray functions to
|
||||
// include our definitions
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
#define WXFL_DEFINE_ARRAY(c,l) \
|
||||
class WXFL_DECLSPEC l; \
|
||||
WX_DEFINE_ARRAY(c,l)
|
||||
|
||||
#define WXFL_DEFINE_ARRAY_LONG(t,l) \
|
||||
class WXFL_DECLSPEC l; \
|
||||
WX_DEFINE_ARRAY_LONG(t,l)
|
||||
|
||||
|
||||
#endif // __fldefs_H_INCLUDED__
|
@@ -32,7 +32,7 @@ class wxFrameManager;
|
||||
It is not clear what this class does. It is not used elsewhere in FL.
|
||||
*/
|
||||
|
||||
class wxFrameView : public wxEvtHandler
|
||||
class WXFL_DECLSPEC wxFrameView : public wxEvtHandler
|
||||
{
|
||||
protected:
|
||||
wxStringList mTopMenus;
|
||||
@@ -87,7 +87,7 @@ class wxFrame;
|
||||
It is not clear what this class does. It is not used elsewhere in FL.
|
||||
*/
|
||||
|
||||
class wxFrameManager : wxObject
|
||||
class WXFL_DECLSPEC wxFrameManager : wxObject
|
||||
{
|
||||
protected:
|
||||
wxList mViews;
|
||||
|
@@ -17,6 +17,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/list.h"
|
||||
#include "wx/fl/fldefs.h"
|
||||
|
||||
struct GCItem
|
||||
{
|
||||
@@ -33,7 +34,7 @@ inline void* gc_node_to_obj( wxNode* pGCNode )
|
||||
This class implements an extremely slow but simple garbage collection algorithm.
|
||||
*/
|
||||
|
||||
class GarbageCollector
|
||||
class WXFL_DECLSPEC GarbageCollector
|
||||
{
|
||||
protected:
|
||||
wxList mAllNodes;
|
||||
|
@@ -93,7 +93,7 @@ to avoid dirty non-client areas of moved windows
|
||||
in some special cases of 'overlapping anomalies'.
|
||||
*/
|
||||
|
||||
class cbGCUpdatesMgr : public cbSimpleUpdatesMgr
|
||||
class WXFL_DECLSPEC cbGCUpdatesMgr : public cbSimpleUpdatesMgr
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbGCUpdatesMgr )
|
||||
protected:
|
||||
|
@@ -20,13 +20,13 @@
|
||||
|
||||
#include "wx/timer.h"
|
||||
|
||||
class cbHintAnimTimer;
|
||||
class WXFL_DECLSPEC cbHintAnimTimer;
|
||||
|
||||
/*
|
||||
A plugin to draw animated hints when the user drags a pane.
|
||||
*/
|
||||
|
||||
class cbHintAnimationPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbHintAnimationPlugin : public cbPluginBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbHintAnimationPlugin )
|
||||
protected:
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
A private helper class.
|
||||
*/
|
||||
|
||||
struct MorphInfoT
|
||||
struct WXFL_DECLSPEC MorphInfoT
|
||||
{
|
||||
wxPoint mFrom;
|
||||
wxPoint mTill;
|
||||
@@ -111,7 +111,7 @@ struct MorphInfoT
|
||||
A private helper class.
|
||||
*/
|
||||
|
||||
class cbHintAnimTimer : public wxTimer
|
||||
class WXFL_DECLSPEC cbHintAnimTimer : public wxTimer
|
||||
{
|
||||
protected:
|
||||
|
||||
|
@@ -18,6 +18,7 @@
|
||||
|
||||
#include "wx/button.h"
|
||||
#include "wx/string.h"
|
||||
#include "wx/fl/fldefs.h"
|
||||
|
||||
// defaults
|
||||
#define NB_DEFAULT_MARGIN 2
|
||||
@@ -31,8 +32,8 @@
|
||||
|
||||
// classes declared in this header file
|
||||
|
||||
class wxNewBitmapButton;
|
||||
class wxBorderLessBitmapButton;
|
||||
class WXFL_DECLSPEC wxNewBitmapButton;
|
||||
class WXFL_DECLSPEC wxBorderLessBitmapButton;
|
||||
|
||||
/*
|
||||
This is an alternative class to wxBitmapButton. It is used
|
||||
@@ -194,11 +195,6 @@ public:
|
||||
// Responds to a kill focus event.
|
||||
void OnKillFocus( wxFocusEvent& event );
|
||||
|
||||
// Maps bitmap to current system colours on Windows
|
||||
#ifdef __WXMSW__
|
||||
WXHBITMAP MapBitmap(WXHBITMAP bitmap, int width, int height);
|
||||
#endif
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
|
@@ -27,7 +27,7 @@ would be enough for the frame layout to function properly
|
||||
(they are plugged in automatically by the wxFrameLayout class).
|
||||
*/
|
||||
|
||||
class cbPaneDrawPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbPaneDrawPlugin : public cbPluginBase
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS( cbPaneDrawPlugin )
|
||||
|
@@ -25,7 +25,7 @@ The behaviour and appearance resembles drag and drop positioning
|
||||
of the toolbar rows in Netscape Communicator 4.xx.
|
||||
*/
|
||||
|
||||
class cbRowDragPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbRowDragPlugin : public cbPluginBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbRowDragPlugin )
|
||||
public:
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
Internal helper class.
|
||||
*/
|
||||
|
||||
class cbHiddenBarInfo : public wxObject
|
||||
class WXFL_DECLSPEC cbHiddenBarInfo : public wxObject
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbHiddenBarInfo )
|
||||
public:
|
||||
|
@@ -23,7 +23,7 @@ Simple implementation of a plugin which handles row layout
|
||||
requests sent from a frame layout.
|
||||
*/
|
||||
|
||||
class cbRowLayoutPlugin : public cbPluginBase
|
||||
class WXFL_DECLSPEC cbRowLayoutPlugin : public cbPluginBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
|
||||
protected:
|
||||
|
@@ -19,6 +19,7 @@
|
||||
|
||||
#include "wx/frame.h"
|
||||
#include "wx/dynarray.h"
|
||||
#include "wx/fl/fldefs.h"
|
||||
|
||||
// fixed settings
|
||||
|
||||
@@ -26,18 +27,18 @@
|
||||
#define BTN_BOX_WIDTH 12
|
||||
#define BTN_X_WIEGHT 2
|
||||
|
||||
class cbMiniButton;
|
||||
class WXFL_DECLSPEC cbMiniButton;
|
||||
|
||||
typedef cbMiniButton* cbMinitButtonPtrT;
|
||||
|
||||
WX_DEFINE_ARRAY( cbMinitButtonPtrT, cbMiniButtonArrayT );
|
||||
WXFL_DEFINE_ARRAY( cbMinitButtonPtrT, cbMiniButtonArrayT );
|
||||
|
||||
/*
|
||||
A tool window is a special kind of frame that paints its own title, and
|
||||
can be used to implement small floating windows.
|
||||
*/
|
||||
|
||||
class wxToolWindow : public wxFrame
|
||||
class WXFL_DECLSPEC wxToolWindow : public wxFrame
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxToolWindow )
|
||||
|
||||
@@ -221,7 +222,7 @@ public:
|
||||
cbCloseBox is a window close button, used in a wxToolWindow titlebar.
|
||||
*/
|
||||
|
||||
class cbCloseBox : public cbMiniButton
|
||||
class WXFL_DECLSPEC cbCloseBox : public cbMiniButton
|
||||
{
|
||||
public:
|
||||
// Draws the close button appearance.
|
||||
@@ -232,7 +233,7 @@ public:
|
||||
cbCollapseBox is a window collapse button, used in a wxToolWindow titlebar.
|
||||
*/
|
||||
|
||||
class cbCollapseBox : public cbMiniButton
|
||||
class WXFL_DECLSPEC cbCollapseBox : public cbMiniButton
|
||||
{
|
||||
public:
|
||||
bool mIsAtLeft;
|
||||
@@ -245,7 +246,7 @@ public:
|
||||
cbDockBox is a window dock button, used in a wxToolWindow titlebar.
|
||||
*/
|
||||
|
||||
class cbDockBox : public cbMiniButton
|
||||
class WXFL_DECLSPEC cbDockBox : public cbMiniButton
|
||||
{
|
||||
public:
|
||||
// Draws the dock button appearance.
|
||||
@@ -257,7 +258,7 @@ cbFloatedBarWindow is a kind of wxToolWindow,
|
||||
implementing floating toolbars.
|
||||
*/
|
||||
|
||||
class cbFloatedBarWindow : public wxToolWindow
|
||||
class WXFL_DECLSPEC cbFloatedBarWindow : public wxToolWindow
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbFloatedBarWindow )
|
||||
protected:
|
||||
|
@@ -23,7 +23,7 @@ This class implements slightly optimized logic for refreshing
|
||||
the areas of frame layout that actually need to be updated.
|
||||
*/
|
||||
|
||||
class cbSimpleUpdatesMgr : public cbUpdatesManagerBase
|
||||
class WXFL_DECLSPEC cbSimpleUpdatesMgr : public cbUpdatesManagerBase
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr )
|
||||
protected:
|
||||
|
Reference in New Issue
Block a user