diff --git a/src/DockAreaWidget.h b/src/DockAreaWidget.h index 298d17a..f9ff5df 100644 --- a/src/DockAreaWidget.h +++ b/src/DockAreaWidget.h @@ -32,6 +32,8 @@ //============================================================================ #include +#include "ads_globals.h" + class QXmlStreamWriter; namespace ads @@ -47,7 +49,7 @@ class CDockWidget; * It displays a title tab, which is clickable and will switch to * the contents associated to the title when clicked. */ -class CDockAreaWidget : public QFrame +class ADS_EXPORT CDockAreaWidget : public QFrame { Q_OBJECT private: diff --git a/src/DockContainerWidget.h b/src/DockContainerWidget.h index 5c68099..0eefd3e 100644 --- a/src/DockContainerWidget.h +++ b/src/DockContainerWidget.h @@ -34,6 +34,7 @@ #include "ads_globals.h" + class QXmlStreamWriter; class QXmlStreamReader; @@ -49,7 +50,7 @@ class CFloatingDockContainer; * Container that manages a number of dock areas with single dock widgets * or tabyfied dock widgets in each area */ -class CDockContainerWidget : public QFrame +class ADS_EXPORT CDockContainerWidget : public QFrame { Q_OBJECT private: diff --git a/src/DockManager.h b/src/DockManager.h index 06cf8dd..0aad01b 100644 --- a/src/DockManager.h +++ b/src/DockManager.h @@ -32,6 +32,8 @@ //============================================================================ #include "DockContainerWidget.h" +#include "ads_globals.h" + class QSettings; namespace ads @@ -44,7 +46,7 @@ class CDockOverlay; /** * The central dock manager that maintains the complete docking system **/ -class CDockManager : public CDockContainerWidget +class ADS_EXPORT CDockManager : public CDockContainerWidget { Q_OBJECT private: diff --git a/src/DockOverlay.h b/src/DockOverlay.h index e41c034..4b19d48 100644 --- a/src/DockOverlay.h +++ b/src/DockOverlay.h @@ -39,7 +39,7 @@ class CDockOverlayCross; * DockOverlay paints a translucent rectangle over another widget. The geometry * of the rectangle is based on the mouse location. */ -class CDockOverlay : public QFrame +class ADS_EXPORT CDockOverlay : public QFrame { Q_OBJECT private: diff --git a/src/DockSplitter.h b/src/DockSplitter.h index 67c223d..88ac78b 100644 --- a/src/DockSplitter.h +++ b/src/DockSplitter.h @@ -31,6 +31,8 @@ //============================================================================ #include +#include "ads_globals.h" + namespace ads { struct DockSplitterPrivate; @@ -38,7 +40,7 @@ struct DockSplitterPrivate; /** * Splitter used internally instead of QSplitter */ -class CDockSplitter : public QSplitter +class ADS_EXPORT CDockSplitter : public QSplitter { Q_OBJECT private: diff --git a/src/DockWidget.h b/src/DockWidget.h index e293505..407f2da 100644 --- a/src/DockWidget.h +++ b/src/DockWidget.h @@ -32,6 +32,8 @@ //============================================================================ #include +#include "ads_globals.h" + class QXmlStreamWriter; namespace ads @@ -47,7 +49,7 @@ struct DockContainerWidgetPrivate; * The QDockWidget class provides a widget that can be docked inside a * CDockManager or floated as a top-level window on the desktop. */ -class CDockWidget : public QFrame +class ADS_EXPORT CDockWidget : public QFrame { Q_OBJECT private: diff --git a/src/DockWidgetTitleBar.h b/src/DockWidgetTitleBar.h index 5b86b5a..6e88d9c 100644 --- a/src/DockWidgetTitleBar.h +++ b/src/DockWidgetTitleBar.h @@ -32,6 +32,8 @@ //============================================================================ #include +#include "ads_globals.h" + namespace ads { class CDockWidget; @@ -41,7 +43,7 @@ struct DockWidgetTitleBarPrivate; /** * A dock widget title bar that shows a title and an icon */ -class CDockWidgetTitleBar : public QFrame +class ADS_EXPORT CDockWidgetTitleBar : public QFrame { Q_OBJECT Q_PROPERTY(bool activeTab READ isActiveTab WRITE setActiveTab NOTIFY activeTabChanged) diff --git a/src/FloatingDockContainer.h b/src/FloatingDockContainer.h index 68a431f..514913c 100644 --- a/src/FloatingDockContainer.h +++ b/src/FloatingDockContainer.h @@ -31,6 +31,8 @@ //============================================================================ #include +#include "ads_globals.h" + class QXmlStreamReader; namespace ads @@ -46,7 +48,7 @@ class CDockManager; * docking of dock widgets like the main window and that can be docked into * another dock container */ -class CFloatingDockContainer : public QWidget +class ADS_EXPORT CFloatingDockContainer : public QWidget { Q_OBJECT private: diff --git a/src/ads_globals.h b/src/ads_globals.h index 8c6814e..d8a49c5 100644 --- a/src/ads_globals.h +++ b/src/ads_globals.h @@ -31,6 +31,13 @@ // INCLUDES //============================================================================ #include +#include + +#ifdef ADS_SHARED_EXPORT +#define ADS_EXPORT Q_DECL_EXPORT +#else +#define ADS_EXPORT Q_DECL_IMPORT +#endif class QSplitter; diff --git a/src/src.pro b/src/src.pro index 3586dd7..33d3d88 100644 --- a/src/src.pro +++ b/src/src.pro @@ -11,7 +11,7 @@ CONFIG += adsBuildShared adsBuildShared { CONFIG += shared - DEFINES += ADS_EXPORT + DEFINES += ADS_SHARED_EXPORT } !adsBuildShared { CONFIG += staticlib