standardized WXMAKINGDLL approach

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2003-07-08 20:47:17 +00:00
parent 7da09e52ec
commit 510b9edbb6
18 changed files with 57 additions and 65 deletions

View File

@@ -26,7 +26,7 @@ antiflicker plugins within the application.
Locking for multithreaded applications is not yet implemented. Locking for multithreaded applications is not yet implemented.
*/ */
class WXFL_DECLSPEC cbAntiflickerPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbAntiflickerPlugin : public cbPluginBase
{ {
DECLARE_DYNAMIC_CLASS( cbAntiflickerPlugin ) DECLARE_DYNAMIC_CLASS( cbAntiflickerPlugin )
protected: protected:

View File

@@ -23,7 +23,7 @@
Plugin class implementing bar dragging. Plugin class implementing bar dragging.
*/ */
class WXFL_DECLSPEC cbBarDragPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbBarDragPlugin : public cbPluginBase
{ {
DECLARE_DYNAMIC_CLASS( cbBarDragPlugin ) DECLARE_DYNAMIC_CLASS( cbBarDragPlugin )
protected: protected:

View File

@@ -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 around fixed and flexible bars, similar to those in Microsoft DevStudio 6.x
*/ */
class WXFL_DECLSPEC cbBarHintsPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbBarHintsPlugin : public cbPluginBase
{ {
DECLARE_DYNAMIC_CLASS( cbBarHintsPlugin ) DECLARE_DYNAMIC_CLASS( cbBarHintsPlugin )

View File

@@ -24,7 +24,7 @@ menu and handling basic customization such as floating
and horizontal/vertical alignment of the bar. and horizontal/vertical alignment of the bar.
*/ */
class WXFL_DECLSPEC cbSimpleCustomizationPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbSimpleCustomizationPlugin : public cbPluginBase
{ {
public: public:
DECLARE_DYNAMIC_CLASS( cbSimpleCustomizationPlugin ) DECLARE_DYNAMIC_CLASS( cbSimpleCustomizationPlugin )

View File

@@ -27,19 +27,19 @@
// forward declarations // forward declarations
class WXFL_DECLSPEC wxFrameLayout; class WXDLLIMPEXP_FL wxFrameLayout;
class WXFL_DECLSPEC cbDockPane; class WXDLLIMPEXP_FL cbDockPane;
class WXFL_DECLSPEC cbUpdatesManagerBase; class WXDLLIMPEXP_FL cbUpdatesManagerBase;
class WXFL_DECLSPEC cbBarDimHandlerBase; class WXDLLIMPEXP_FL cbBarDimHandlerBase;
class WXFL_DECLSPEC cbPluginBase; class WXDLLIMPEXP_FL cbPluginBase;
class WXFL_DECLSPEC cbPluginEvent; class WXDLLIMPEXP_FL cbPluginEvent;
class WXFL_DECLSPEC cbPaneDrawPlugin; class WXDLLIMPEXP_FL cbPaneDrawPlugin;
class WXFL_DECLSPEC cbBarInfo; class WXDLLIMPEXP_FL cbBarInfo;
class WXFL_DECLSPEC cbRowInfo; class WXDLLIMPEXP_FL cbRowInfo;
class WXFL_DECLSPEC cbDimInfo; class WXDLLIMPEXP_FL cbDimInfo;
class WXFL_DECLSPEC cbCommonPaneProperties; class WXDLLIMPEXP_FL cbCommonPaneProperties;
typedef cbBarInfo* BarInfoPtrT; typedef cbBarInfo* BarInfoPtrT;
typedef cbRowInfo* RowInfoPtrT; typedef cbRowInfo* RowInfoPtrT;
@@ -98,7 +98,7 @@ Helper class, used for spying for unhandled mouse events on control bars
and forwarding them to the frame layout. and forwarding them to the frame layout.
*/ */
class WXFL_DECLSPEC cbBarSpy : public wxEvtHandler class WXDLLIMPEXP_FL cbBarSpy : public wxEvtHandler
{ {
public: public:
DECLARE_DYNAMIC_CLASS( cbBarSpy ) DECLARE_DYNAMIC_CLASS( cbBarSpy )
@@ -130,7 +130,7 @@ which can be docked along the top, bottom, right, or left side of the
parent frame. parent frame.
*/ */
class WXFL_DECLSPEC wxFrameLayout : public wxEvtHandler class WXDLLIMPEXP_FL wxFrameLayout : public wxEvtHandler
{ {
public: public:
// Default constructor, used only for serialization. // Default constructor, used only for serialization.
@@ -648,7 +648,7 @@ used by any particular updates-manager to store
auxiliary information to be used by its updating algorithm. auxiliary information to be used by its updating algorithm.
*/ */
class WXFL_DECLSPEC cbUpdateMgrData : public wxObject class WXDLLIMPEXP_FL cbUpdateMgrData : public wxObject
{ {
DECLARE_DYNAMIC_CLASS( cbUpdateMgrData ) DECLARE_DYNAMIC_CLASS( cbUpdateMgrData )
public: public:
@@ -688,7 +688,7 @@ to adjust the values in cbDimInfo::mSizes accordingly.
Specific handlers can be hooked up to specific types of bar. Specific handlers can be hooked up to specific types of bar.
*/ */
class WXFL_DECLSPEC cbBarDimHandlerBase : public wxObject class WXDLLIMPEXP_FL cbBarDimHandlerBase : public wxObject
{ {
DECLARE_ABSTRACT_CLASS( cbBarDimHandlerBase ) DECLARE_ABSTRACT_CLASS( cbBarDimHandlerBase )
@@ -726,7 +726,7 @@ Helper class used internally by the wxFrameLayout class.
Holds and manages information about bar dimensions. Holds and manages information about bar dimensions.
*/ */
class WXFL_DECLSPEC cbDimInfo : public wxObject class WXDLLIMPEXP_FL cbDimInfo : public wxObject
{ {
DECLARE_DYNAMIC_CLASS( cbDimInfo ) DECLARE_DYNAMIC_CLASS( cbDimInfo )
public: public:

View File

@@ -24,7 +24,7 @@
Tool layout item. Tool layout item.
*/ */
class WXFL_DECLSPEC wxToolLayoutItem : public wxObject class WXDLLIMPEXP_FL wxToolLayoutItem : public wxObject
{ {
DECLARE_DYNAMIC_CLASS(wxToolLayoutItem) DECLARE_DYNAMIC_CLASS(wxToolLayoutItem)
@@ -33,7 +33,7 @@ public:
bool mIsSeparator; bool mIsSeparator;
}; };
class WXFL_DECLSPEC wxDynToolInfo; class WXDLLIMPEXP_FL wxDynToolInfo;
typedef wxToolLayoutItem* wxToolLayoutItemPtrT; typedef wxToolLayoutItem* wxToolLayoutItemPtrT;
typedef wxDynToolInfo* wxDynToolInfoPtrT; typedef wxDynToolInfo* wxDynToolInfoPtrT;
@@ -45,7 +45,7 @@ WXFL_DEFINE_ARRAY( wxDynToolInfoPtrT, wxDynToolInfoArrayT );
This is a base class for layout algorithm implementations. This is a base class for layout algorithm implementations.
*/ */
class WXFL_DECLSPEC LayoutManagerBase class WXDLLIMPEXP_FL LayoutManagerBase
{ {
public: public:
// Constructor. // Constructor.
@@ -64,7 +64,7 @@ BagLayout lays out items in left-to-right order from
top to bottom. top to bottom.
*/ */
class WXFL_DECLSPEC BagLayout : public LayoutManagerBase class WXDLLIMPEXP_FL BagLayout : public LayoutManagerBase
{ {
public: public:
// Constructor. // Constructor.
@@ -79,7 +79,7 @@ public:
This class holds dynamic toolbar item information. This class holds dynamic toolbar item information.
*/ */
class WXFL_DECLSPEC wxDynToolInfo : public wxToolLayoutItem class WXDLLIMPEXP_FL wxDynToolInfo : public wxToolLayoutItem
{ {
DECLARE_DYNAMIC_CLASS(wxDynToolInfo) DECLARE_DYNAMIC_CLASS(wxDynToolInfo)
@@ -99,7 +99,7 @@ public:
wxDynamicToolBar manages containment and layout of tool windows. wxDynamicToolBar manages containment and layout of tool windows.
*/ */
class WXFL_DECLSPEC wxDynamicToolBar : public wxToolBarBase class WXDLLIMPEXP_FL wxDynamicToolBar : public wxToolBarBase
{ {
protected: protected:
friend class wxDynamicToolBarSerializer; friend class wxDynamicToolBarSerializer;

View File

@@ -23,7 +23,7 @@
Dynamic toolbar dimension handler. Dynamic toolbar dimension handler.
*/ */
class WXFL_DECLSPEC cbDynToolBarDimHandler : public cbBarDimHandlerBase class WXDLLIMPEXP_FL cbDynToolBarDimHandler : public cbBarDimHandlerBase
{ {
DECLARE_DYNAMIC_CLASS( cbDynToolBarDimHandler ) DECLARE_DYNAMIC_CLASS( cbDynToolBarDimHandler )
public: public:

View File

@@ -18,32 +18,24 @@
* If we're using wx in Dynamic Library format do we * If we're using wx in Dynamic Library format do we
* want FL to be in DLL form as well? * want FL to be in DLL form as well?
*/ */
#if defined(WXUSINGDLL) && \ #ifdef WXMAKINGDLL_FL
(defined(WXMAKING_FL_DLL) || defined(WXUSING_FL_DLL)) #define WXDLLIMPEXP_FL WXEXPORT
#elif defined(WXUSINGDLL)
#if defined(WXMAKING_FL_DLL) #define WXDLLIMPEXP_FL WXIMPORT
// When building the DLL WXFLDECLSPEC exports classes #else // not making nor using DLL
# define WXFL_DECLSPEC WXEXPORT #define WXDLLIMPEXP_FL
#elif defined(WXUSING_FL_DLL) #endif
// 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 // Override some of the wxArray functions to
// include our definitions // include our definitions
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#define WXFL_DEFINE_ARRAY(c,l) \ #define WXFL_DEFINE_ARRAY(c,l) \
class WXFL_DECLSPEC l; \ class WXDLLIMPEXP_FL l; \
WX_DEFINE_ARRAY(c,l) WX_DEFINE_ARRAY(c,l)
#define WXFL_DEFINE_ARRAY_LONG(t,l) \ #define WXFL_DEFINE_ARRAY_LONG(t,l) \
class WXFL_DECLSPEC l; \ class WXDLLIMPEXP_FL l; \
WX_DEFINE_ARRAY_LONG(t,l) WX_DEFINE_ARRAY_LONG(t,l)

View File

@@ -32,7 +32,7 @@ class wxFrameManager;
It is not clear what this class does. It is not used elsewhere in FL. It is not clear what this class does. It is not used elsewhere in FL.
*/ */
class WXFL_DECLSPEC wxFrameView : public wxEvtHandler class WXDLLIMPEXP_FL wxFrameView : public wxEvtHandler
{ {
protected: protected:
wxStringList mTopMenus; wxStringList mTopMenus;
@@ -87,7 +87,7 @@ class wxFrame;
It is not clear what this class does. It is not used elsewhere in FL. It is not clear what this class does. It is not used elsewhere in FL.
*/ */
class WXFL_DECLSPEC wxFrameManager : wxObject class WXDLLIMPEXP_FL wxFrameManager : wxObject
{ {
protected: protected:
wxList mViews; wxList mViews;

View File

@@ -34,7 +34,7 @@ inline void* gc_node_to_obj( wxNode* pGCNode )
This class implements an extremely slow but simple garbage collection algorithm. This class implements an extremely slow but simple garbage collection algorithm.
*/ */
class WXFL_DECLSPEC GarbageCollector class WXDLLIMPEXP_FL GarbageCollector
{ {
protected: protected:
wxList mAllNodes; wxList mAllNodes;

View File

@@ -93,7 +93,7 @@ to avoid dirty non-client areas of moved windows
in some special cases of 'overlapping anomalies'. in some special cases of 'overlapping anomalies'.
*/ */
class WXFL_DECLSPEC cbGCUpdatesMgr : public cbSimpleUpdatesMgr class WXDLLIMPEXP_FL cbGCUpdatesMgr : public cbSimpleUpdatesMgr
{ {
DECLARE_DYNAMIC_CLASS( cbGCUpdatesMgr ) DECLARE_DYNAMIC_CLASS( cbGCUpdatesMgr )
protected: protected:

View File

@@ -20,13 +20,13 @@
#include "wx/timer.h" #include "wx/timer.h"
class WXFL_DECLSPEC cbHintAnimTimer; class WXDLLIMPEXP_FL cbHintAnimTimer;
/* /*
A plugin to draw animated hints when the user drags a pane. A plugin to draw animated hints when the user drags a pane.
*/ */
class WXFL_DECLSPEC cbHintAnimationPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbHintAnimationPlugin : public cbPluginBase
{ {
DECLARE_DYNAMIC_CLASS( cbHintAnimationPlugin ) DECLARE_DYNAMIC_CLASS( cbHintAnimationPlugin )
protected: protected:
@@ -101,7 +101,7 @@ public:
A private helper class. A private helper class.
*/ */
struct WXFL_DECLSPEC MorphInfoT struct WXDLLIMPEXP_FL MorphInfoT
{ {
wxPoint mFrom; wxPoint mFrom;
wxPoint mTill; wxPoint mTill;
@@ -111,7 +111,7 @@ struct WXFL_DECLSPEC MorphInfoT
A private helper class. A private helper class.
*/ */
class WXFL_DECLSPEC cbHintAnimTimer : public wxTimer class WXDLLIMPEXP_FL cbHintAnimTimer : public wxTimer
{ {
protected: protected:

View File

@@ -32,8 +32,8 @@
// classes declared in this header file // classes declared in this header file
class WXFL_DECLSPEC wxNewBitmapButton; class WXDLLIMPEXP_FL wxNewBitmapButton;
class WXFL_DECLSPEC wxBorderLessBitmapButton; class WXDLLIMPEXP_FL wxBorderLessBitmapButton;
/* /*
This is an alternative class to wxBitmapButton. It is used This is an alternative class to wxBitmapButton. It is used

View File

@@ -27,7 +27,7 @@ would be enough for the frame layout to function properly
(they are plugged in automatically by the wxFrameLayout class). (they are plugged in automatically by the wxFrameLayout class).
*/ */
class WXFL_DECLSPEC cbPaneDrawPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbPaneDrawPlugin : public cbPluginBase
{ {
public: public:
DECLARE_DYNAMIC_CLASS( cbPaneDrawPlugin ) DECLARE_DYNAMIC_CLASS( cbPaneDrawPlugin )

View File

@@ -25,7 +25,7 @@ The behaviour and appearance resembles drag and drop positioning
of the toolbar rows in Netscape Communicator 4.xx. of the toolbar rows in Netscape Communicator 4.xx.
*/ */
class WXFL_DECLSPEC cbRowDragPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbRowDragPlugin : public cbPluginBase
{ {
DECLARE_DYNAMIC_CLASS( cbRowDragPlugin ) DECLARE_DYNAMIC_CLASS( cbRowDragPlugin )
public: public:
@@ -217,7 +217,7 @@ public:
Internal helper class. Internal helper class.
*/ */
class WXFL_DECLSPEC cbHiddenBarInfo : public wxObject class WXDLLIMPEXP_FL cbHiddenBarInfo : public wxObject
{ {
DECLARE_DYNAMIC_CLASS( cbHiddenBarInfo ) DECLARE_DYNAMIC_CLASS( cbHiddenBarInfo )
public: public:

View File

@@ -23,7 +23,7 @@ Simple implementation of a plugin which handles row layout
requests sent from a frame layout. requests sent from a frame layout.
*/ */
class WXFL_DECLSPEC cbRowLayoutPlugin : public cbPluginBase class WXDLLIMPEXP_FL cbRowLayoutPlugin : public cbPluginBase
{ {
DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin ) DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
protected: protected:

View File

@@ -27,7 +27,7 @@
#define BTN_BOX_WIDTH 12 #define BTN_BOX_WIDTH 12
#define BTN_X_WIEGHT 2 #define BTN_X_WIEGHT 2
class WXFL_DECLSPEC cbMiniButton; class WXDLLIMPEXP_FL cbMiniButton;
typedef cbMiniButton* cbMinitButtonPtrT; typedef cbMiniButton* cbMinitButtonPtrT;
@@ -38,7 +38,7 @@ A tool window is a special kind of frame that paints its own title, and
can be used to implement small floating windows. can be used to implement small floating windows.
*/ */
class WXFL_DECLSPEC wxToolWindow : public wxFrame class WXDLLIMPEXP_FL wxToolWindow : public wxFrame
{ {
DECLARE_DYNAMIC_CLASS( wxToolWindow ) DECLARE_DYNAMIC_CLASS( wxToolWindow )
@@ -222,7 +222,7 @@ public:
cbCloseBox is a window close button, used in a wxToolWindow titlebar. cbCloseBox is a window close button, used in a wxToolWindow titlebar.
*/ */
class WXFL_DECLSPEC cbCloseBox : public cbMiniButton class WXDLLIMPEXP_FL cbCloseBox : public cbMiniButton
{ {
public: public:
// Draws the close button appearance. // Draws the close button appearance.
@@ -233,7 +233,7 @@ public:
cbCollapseBox is a window collapse button, used in a wxToolWindow titlebar. cbCollapseBox is a window collapse button, used in a wxToolWindow titlebar.
*/ */
class WXFL_DECLSPEC cbCollapseBox : public cbMiniButton class WXDLLIMPEXP_FL cbCollapseBox : public cbMiniButton
{ {
public: public:
bool mIsAtLeft; bool mIsAtLeft;
@@ -246,7 +246,7 @@ public:
cbDockBox is a window dock button, used in a wxToolWindow titlebar. cbDockBox is a window dock button, used in a wxToolWindow titlebar.
*/ */
class WXFL_DECLSPEC cbDockBox : public cbMiniButton class WXDLLIMPEXP_FL cbDockBox : public cbMiniButton
{ {
public: public:
// Draws the dock button appearance. // Draws the dock button appearance.
@@ -258,7 +258,7 @@ cbFloatedBarWindow is a kind of wxToolWindow,
implementing floating toolbars. implementing floating toolbars.
*/ */
class WXFL_DECLSPEC cbFloatedBarWindow : public wxToolWindow class WXDLLIMPEXP_FL cbFloatedBarWindow : public wxToolWindow
{ {
DECLARE_DYNAMIC_CLASS( cbFloatedBarWindow ) DECLARE_DYNAMIC_CLASS( cbFloatedBarWindow )
protected: protected:

View File

@@ -23,7 +23,7 @@ This class implements slightly optimized logic for refreshing
the areas of frame layout that actually need to be updated. the areas of frame layout that actually need to be updated.
*/ */
class WXFL_DECLSPEC cbSimpleUpdatesMgr : public cbUpdatesManagerBase class WXDLLIMPEXP_FL cbSimpleUpdatesMgr : public cbUpdatesManagerBase
{ {
DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr ) DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr )
protected: protected: