2.12.2021, 9:00 - 11:00: Due to updates GitLab may be unavailable for some minutes between 09:00 and 11:00.

Commit dfec0e89 authored by Christian Schulte zu Berge's avatar Christian Schulte zu Berge
Browse files

Completed refactoring campvis-application package:

All classes in campvis-application now have the CAMPVIS_APPLICATION_API macro specifying dll export/import state. The executable is now called campvis-gui.
parent 4768160f
...@@ -125,8 +125,8 @@ ENDIF() ...@@ -125,8 +125,8 @@ ENDIF()
ADD_EXECUTABLE(campvis "campvis.cpp") ADD_EXECUTABLE(campvis-gui "campvis.cpp")
TARGET_LINK_LIBRARIES(campvis campvis-application ${CampvisMainLibs} ${CampvisGlobalExternalLibs} ${CampvisModulesExternalLibs} ${QT_LIBRARIES}) TARGET_LINK_LIBRARIES(campvis-gui campvis-application ${CampvisMainLibs} ${CampvisGlobalExternalLibs} ${CampvisModulesExternalLibs} ${QT_LIBRARIES})
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#define DOUBLEADJUSTERWIDGET_H__ #define DOUBLEADJUSTERWIDGET_H__
#include "abstractadjusterwidget.h" #include "abstractadjusterwidget.h"
#include "application/applicationapi.h"
namespace campvis { namespace campvis {
/** /**
...@@ -34,7 +35,7 @@ namespace campvis { ...@@ -34,7 +35,7 @@ namespace campvis {
* DoubleAdjusterWidget consists of a slider, which can be used to quickly change numeric values, and a spin box, * DoubleAdjusterWidget consists of a slider, which can be used to quickly change numeric values, and a spin box,
* which is better suited for precise adjustments. * which is better suited for precise adjustments.
*/ */
class DoubleAdjusterWidget : public AbstractAdjusterWidget<double> { class CAMPVIS_APPLICATION_API DoubleAdjusterWidget : public AbstractAdjusterWidget<double> {
Q_OBJECT Q_OBJECT
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#define INTADJUSTERWIDGET_H__ #define INTADJUSTERWIDGET_H__
#include "abstractadjusterwidget.h" #include "abstractadjusterwidget.h"
#include "application/applicationapi.h"
namespace campvis { namespace campvis {
/** /**
...@@ -34,7 +35,7 @@ namespace campvis { ...@@ -34,7 +35,7 @@ namespace campvis {
* IntAdjusterWidget consists of a slider, which can be used to quickly change integer values, and a spin box, * IntAdjusterWidget consists of a slider, which can be used to quickly change integer values, and a spin box,
* which is better suited for precise adjustments. * which is better suited for precise adjustments.
*/ */
class IntAdjusterWidget : public AbstractAdjusterWidget<int> { class CAMPVIS_APPLICATION_API IntAdjusterWidget : public AbstractAdjusterWidget<int> {
Q_OBJECT Q_OBJECT
public: public:
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <QCompleter> #include <QCompleter>
#include <QLineEdit> #include <QLineEdit>
#include "application/applicationapi.h"
#include "scripting/glue/luatable.h" #include "scripting/glue/luatable.h"
namespace campvis { namespace campvis {
......
...@@ -27,8 +27,10 @@ ...@@ -27,8 +27,10 @@
#include "sigslot/sigslot.h" #include "sigslot/sigslot.h"
#include "application/gui/properties/propertycollectionwidget.h"
#include "modules/io/processors/genericimagereader.h" #include "modules/io/processors/genericimagereader.h"
#include "application/applicationapi.h"
#include "application/gui/properties/propertycollectionwidget.h"
#include "application/gui/datacontainerinspectorwidget.h" #include "application/gui/datacontainerinspectorwidget.h"
#include <QScrollArea> #include <QScrollArea>
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "cgt/qt/qtthreadedcanvas.h" #include "cgt/qt/qtthreadedcanvas.h"
#include "tbb/mutex.h" #include "tbb/mutex.h"
#include "application/applicationapi.h"
#include "application/gui/qtdatahandle.h" #include "application/gui/qtdatahandle.h"
#include "core/properties/metaproperty.h" #include "core/properties/metaproperty.h"
...@@ -62,7 +63,7 @@ namespace campvis { ...@@ -62,7 +63,7 @@ namespace campvis {
class GeometryData; class GeometryData;
class DataContainerInspectorWidget; class DataContainerInspectorWidget;
class DataContainerInspectorCanvas : public cgt::QtThreadedCanvas, cgt::Painter, public cgt::EventListener, public HasPropertyCollection { class CAMPVIS_APPLICATION_API DataContainerInspectorCanvas : public cgt::QtThreadedCanvas, cgt::Painter, public cgt::EventListener, public HasPropertyCollection {
Q_OBJECT; Q_OBJECT;
public: public:
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "cgt/painter.h" #include "cgt/painter.h"
#include "tbb/mutex.h" #include "tbb/mutex.h"
#include "application/applicationapi.h"
#include "application/gui/qtdatahandle.h" #include "application/gui/qtdatahandle.h"
#include "application/gui/datacontainerinspectorcanvas.h" #include "application/gui/datacontainerinspectorcanvas.h"
#include "application/gui/properties/propertycollectionwidget.h" #include "application/gui/properties/propertycollectionwidget.h"
...@@ -57,7 +58,7 @@ namespace campvis { ...@@ -57,7 +58,7 @@ namespace campvis {
class FaceGeometry; class FaceGeometry;
class DataContainerFileLoaderWidget; class DataContainerFileLoaderWidget;
class DataContainerInspectorWidget : public QWidget, public sigslot::has_slots { class CAMPVIS_APPLICATION_API DataContainerInspectorWidget : public QWidget, public sigslot::has_slots {
Q_OBJECT; Q_OBJECT;
public: public:
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <QVariant> #include <QVariant>
#include <map> #include <map>
#include "application/applicationapi.h"
#include "application/tools/treeitem.h" #include "application/tools/treeitem.h"
#include "application/gui/qtdatahandle.h" #include "application/gui/qtdatahandle.h"
...@@ -42,7 +43,7 @@ namespace campvis { ...@@ -42,7 +43,7 @@ namespace campvis {
/** /**
* Specialization for root TreeItems. * Specialization for root TreeItems.
*/ */
class DataContainerTreeRootItem : public TreeItem { class CAMPVIS_APPLICATION_API DataContainerTreeRootItem : public TreeItem {
public: public:
explicit DataContainerTreeRootItem(TreeItem* parent = 0); explicit DataContainerTreeRootItem(TreeItem* parent = 0);
virtual ~DataContainerTreeRootItem(); virtual ~DataContainerTreeRootItem();
...@@ -54,7 +55,7 @@ namespace campvis { ...@@ -54,7 +55,7 @@ namespace campvis {
/** /**
* Specialization for TreeItems hosting an AbstractProcessor. * Specialization for TreeItems hosting an AbstractProcessor.
*/ */
class DataHandleTreeItem : public TreeItem { class CAMPVIS_APPLICATION_API DataHandleTreeItem : public TreeItem {
public: public:
/** /**
* Creates a new TreeItem for a QtDataHandle * Creates a new TreeItem for a QtDataHandle
...@@ -96,7 +97,7 @@ namespace campvis { ...@@ -96,7 +97,7 @@ namespace campvis {
/** /**
* QItemModel for displaying a list of pipelines and their processors in the DataContainerTreeWidget. * QItemModel for displaying a list of pipelines and their processors in the DataContainerTreeWidget.
*/ */
class DataContainerTreeModel : public QAbstractItemModel { class CAMPVIS_APPLICATION_API DataContainerTreeModel : public QAbstractItemModel {
Q_OBJECT Q_OBJECT
public: public:
...@@ -141,7 +142,7 @@ namespace campvis { ...@@ -141,7 +142,7 @@ namespace campvis {
/** /**
* Qt widget for showing a list of pipelines and their processors in a QTreeView. * Qt widget for showing a list of pipelines and their processors in a QTreeView.
*/ */
class DataContainerTreeWidget : public QTreeView { class CAMPVIS_APPLICATION_API DataContainerTreeWidget : public QTreeView {
Q_OBJECT; Q_OBJECT;
public: public:
......
...@@ -25,12 +25,13 @@ ...@@ -25,12 +25,13 @@
#ifndef LOGHIGHLIGHTER_H__ #ifndef LOGHIGHLIGHTER_H__
#define LOGHIGHLIGHTER_H__ #define LOGHIGHLIGHTER_H__
#include "application/applicationapi.h"
#include <QTextEdit> #include <QTextEdit>
#include <QSyntaxHighlighter> #include <QSyntaxHighlighter>
namespace campvis { namespace campvis {
class LogHighlighter : public QSyntaxHighlighter { class CAMPVIS_APPLICATION_API LogHighlighter : public QSyntaxHighlighter {
Q_OBJECT Q_OBJECT
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "cgt/painter.h" #include "cgt/painter.h"
#include "tbb/mutex.h" #include "tbb/mutex.h"
#include "application/applicationapi.h"
#include "application/tools/bufferinglog.h" #include "application/tools/bufferinglog.h"
#include "application/gui/loghighlighter.h" #include "application/gui/loghighlighter.h"
...@@ -44,7 +45,7 @@ ...@@ -44,7 +45,7 @@
namespace campvis { namespace campvis {
class LogViewerWidget : public QWidget { class CAMPVIS_APPLICATION_API LogViewerWidget : public QWidget {
Q_OBJECT; Q_OBJECT;
public: public:
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <QVariant> #include <QVariant>
#include <map> #include <map>
#include "application/applicationapi.h"
#include "application/tools/treeitem.h" #include "application/tools/treeitem.h"
#include "application/gui/qtdatahandle.h" #include "application/gui/qtdatahandle.h"
...@@ -43,7 +44,7 @@ namespace campvis { ...@@ -43,7 +44,7 @@ namespace campvis {
// = TreeModel items ============================================================================== // = TreeModel items ==============================================================================
/// Base class for LuaTableTreeWidget items /// Base class for LuaTableTreeWidget items
class LuaTreeItem : public TreeItem { class CAMPVIS_APPLICATION_API LuaTreeItem : public TreeItem {
public: public:
enum ModelStyle { FULL_MODEL, COMPLETER_MODEL }; enum ModelStyle { FULL_MODEL, COMPLETER_MODEL };
...@@ -65,7 +66,7 @@ namespace campvis { ...@@ -65,7 +66,7 @@ namespace campvis {
}; };
/// The Root Item /// The Root Item
class LuaTreeRootItem : public TreeItem { class CAMPVIS_APPLICATION_API LuaTreeRootItem : public TreeItem {
public: public:
LuaTreeRootItem(TreeItem* parent = 0); LuaTreeRootItem(TreeItem* parent = 0);
virtual ~LuaTreeRootItem(); virtual ~LuaTreeRootItem();
...@@ -75,7 +76,7 @@ namespace campvis { ...@@ -75,7 +76,7 @@ namespace campvis {
}; };
/// Specialization for normal leafs /// Specialization for normal leafs
class LuaTreeItemLeaf : public LuaTreeItem { class CAMPVIS_APPLICATION_API LuaTreeItemLeaf : public LuaTreeItem {
public: public:
/** /**
* Creates a new TreeItem for a QtDataHandle * Creates a new TreeItem for a QtDataHandle
...@@ -94,7 +95,7 @@ namespace campvis { ...@@ -94,7 +95,7 @@ namespace campvis {
}; };
/// Specialization for normal table items /// Specialization for normal table items
class LuaTreeItemTable : public LuaTreeItem { class CAMPVIS_APPLICATION_API LuaTreeItemTable : public LuaTreeItem {
public: public:
/** /**
* Creates a new TreeItem for a QtDataHandle * Creates a new TreeItem for a QtDataHandle
...@@ -122,7 +123,7 @@ namespace campvis { ...@@ -122,7 +123,7 @@ namespace campvis {
/** /**
* QItemModel for displaying a list of pipelines and their processors in the LuaTableTreeWidget. * QItemModel for displaying a list of pipelines and their processors in the LuaTableTreeWidget.
*/ */
class LuaTableTreeModel : public QAbstractItemModel { class CAMPVIS_APPLICATION_API LuaTableTreeModel : public QAbstractItemModel {
Q_OBJECT Q_OBJECT
public: public:
...@@ -159,7 +160,7 @@ namespace campvis { ...@@ -159,7 +160,7 @@ namespace campvis {
/** /**
* Qt widget for showing a list of pipelines and their processors in a QTreeView. * Qt widget for showing a list of pipelines and their processors in a QTreeView.
*/ */
class LuaTableTreeWidget : public QTreeView { class CAMPVIS_APPLICATION_API LuaTableTreeWidget : public QTreeView {
Q_OBJECT; Q_OBJECT;
public: public:
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#define CAMPVISMAINWINDOW_H__ #define CAMPVISMAINWINDOW_H__
#include "sigslot/sigslot.h" #include "sigslot/sigslot.h"
#include "application/applicationapi.h"
#include "application/campvisapplication.h" #include "application/campvisapplication.h"
#include "application/gui/mdi/mdidockarea.h" #include "application/gui/mdi/mdidockarea.h"
#include "application/gui/pipelinetreewidget.h" #include "application/gui/pipelinetreewidget.h"
...@@ -54,7 +55,7 @@ namespace campvis { ...@@ -54,7 +55,7 @@ namespace campvis {
* Main Window for the CAMPVis application. * Main Window for the CAMPVis application.
* Wraps a nice Qt GUI around the CampVisApplication instance given during creation. * Wraps a nice Qt GUI around the CampVisApplication instance given during creation.
*/ */
class MainWindow : public QMainWindow, public sigslot::has_slots { class CAMPVIS_APPLICATION_API MainWindow : public QMainWindow, public sigslot::has_slots {
Q_OBJECT Q_OBJECT
public: public:
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "mdidockedwindow.h" #include "mdidockedwindow.h"
#include "mdifloatingwindow.h" #include "mdifloatingwindow.h"
#include "application/gui/qtcolortools.h"
#include <QWidget> #include <QWidget>
namespace campvis { namespace campvis {
...@@ -41,7 +42,7 @@ namespace campvis { ...@@ -41,7 +42,7 @@ namespace campvis {
* window) of the widget it's passed and seamlessly switching between them in response to the * window) of the widget it's passed and seamlessly switching between them in response to the
* user's actions (window dragging, key presses, etc). * user's actions (window dragging, key presses, etc).
*/ */
class MdiDockableWindow : public QWidget { class CAMPVIS_APPLICATION_API MdiDockableWindow : public QWidget {
Q_OBJECT Q_OBJECT
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#define MDIDOCKAREA_H__ #define MDIDOCKAREA_H__
#include "mdidockablewindow.h" #include "mdidockablewindow.h"
#include "application/gui/qtcolortools.h"
#include <QMdiArea> #include <QMdiArea>
...@@ -41,7 +42,7 @@ namespace campvis { ...@@ -41,7 +42,7 @@ namespace campvis {
* - dockable windows can be created using the addWidget method, which returns an * - dockable windows can be created using the addWidget method, which returns an
* MdiDockableWindow instance * MdiDockableWindow instance
*/ */
class MdiDockArea : public QMdiArea { class CAMPVIS_APPLICATION_API MdiDockArea : public QMdiArea {
Q_OBJECT Q_OBJECT
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#ifndef MDIDOCKEDWINDOW_H__ #ifndef MDIDOCKEDWINDOW_H__
#define MDIDOCKEDWINDOW_H__ #define MDIDOCKEDWINDOW_H__
#include "application/gui/qtcolortools.h"
#include <QMdiSubWindow> #include <QMdiSubWindow>
namespace campvis { namespace campvis {
...@@ -38,7 +39,7 @@ namespace campvis { ...@@ -38,7 +39,7 @@ namespace campvis {
* MdiDockedWindow implements additional methods (stopWindowDrag) that should be used to * MdiDockedWindow implements additional methods (stopWindowDrag) that should be used to
* coordinate its detaching with respect to grabbing/releasing the mouse input. * coordinate its detaching with respect to grabbing/releasing the mouse input.
*/ */
class MdiDockedWindow : public QMdiSubWindow { class CAMPVIS_APPLICATION_API MdiDockedWindow : public QMdiSubWindow {
Q_OBJECT Q_OBJECT
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#ifndef MDIFLOATINGWINDOW_H__ #ifndef MDIFLOATINGWINDOW_H__
#define MDIFLOATINGWINDOW_H__ #define MDIFLOATINGWINDOW_H__
#include "application/gui/qtcolortools.h"
#include <QWidget> #include <QWidget>
namespace campvis { namespace campvis {
...@@ -41,7 +42,7 @@ namespace campvis { ...@@ -41,7 +42,7 @@ namespace campvis {
* that should be used to coordinate its creation/disposal with respect to grabbing/releasing * that should be used to coordinate its creation/disposal with respect to grabbing/releasing
* the mouse input. * the mouse input.
*/ */
class MdiFloatingWindow : public QWidget { class CAMPVIS_APPLICATION_API MdiFloatingWindow : public QWidget {
Q_OBJECT Q_OBJECT
......
...@@ -33,7 +33,10 @@ ...@@ -33,7 +33,10 @@
#include "core/datastructures/datacontainer.h" #include "core/datastructures/datacontainer.h"
#include "core/pipeline/abstractpipeline.h" #include "core/pipeline/abstractpipeline.h"
#include "core/pipeline/abstractprocessor.h" #include "core/pipeline/abstractprocessor.h"
#include "application/applicationapi.h"
#include "application/tools/treeitem.h" #include "application/tools/treeitem.h"
#include <vector> #include <vector>
namespace campvis { namespace campvis {
...@@ -43,7 +46,7 @@ namespace campvis { ...@@ -43,7 +46,7 @@ namespace campvis {
/** /**
* Specialization for root TreeItems. * Specialization for root TreeItems.
*/ */
class PipelineTreeRootItem : public TreeItem { class CAMPVIS_APPLICATION_API PipelineTreeRootItem : public TreeItem {
public: public:
explicit PipelineTreeRootItem(TreeItem* parent = 0); explicit PipelineTreeRootItem(TreeItem* parent = 0);
virtual ~PipelineTreeRootItem(); virtual ~PipelineTreeRootItem();
...@@ -55,7 +58,7 @@ namespace campvis { ...@@ -55,7 +58,7 @@ namespace campvis {
/** /**
* Specialization for TreeItems hosting an AbstracPipeline. * Specialization for TreeItems hosting an AbstracPipeline.
*/ */
class DataContainerTreeItem : public TreeItem { class CAMPVIS_APPLICATION_API DataContainerTreeItem : public TreeItem {
public: public:
DataContainerTreeItem(DataContainer* dc, TreeItem* parent); DataContainerTreeItem(DataContainer* dc, TreeItem* parent);
virtual ~DataContainerTreeItem(); virtual ~DataContainerTreeItem();
...@@ -73,7 +76,7 @@ namespace campvis { ...@@ -73,7 +76,7 @@ namespace campvis {
/** /**
* Specialization for TreeItems hosting an AbstracPipeline. * Specialization for TreeItems hosting an AbstracPipeline.
*/ */
class PipelineTreeItem : public TreeItem { class CAMPVIS_APPLICATION_API PipelineTreeItem : public TreeItem {
public: public:
PipelineTreeItem(AbstractPipeline* pipeline, TreeItem* parent); PipelineTreeItem(AbstractPipeline* pipeline, TreeItem* parent);
virtual ~PipelineTreeItem(); virtual ~PipelineTreeItem();
...@@ -91,7 +94,7 @@ namespace campvis { ...@@ -91,7 +94,7 @@ namespace campvis {
/** /**
* Specialization for TreeItems hosting an AbstractProcessor. * Specialization for TreeItems hosting an AbstractProcessor.
*/ */
class ProcessorTreeItem : public TreeItem { class CAMPVIS_APPLICATION_API ProcessorTreeItem : public TreeItem {
public: public:
ProcessorTreeItem(AbstractProcessor* processor, TreeItem* parent); ProcessorTreeItem(AbstractProcessor* processor, TreeItem* parent);
virtual ~ProcessorTreeItem(); virtual ~ProcessorTreeItem();
...@@ -111,7 +114,7 @@ namespace campvis { ...@@ -111,7 +114,7 @@ namespace campvis {
/** /**
* QItemModel for displaying a list of pipelines and their processors in the PipelineTreeWidget. * QItemModel for displaying a list of pipelines and their processors in the PipelineTreeWidget.
*/ */
class PipelineTreeModel : public QAbstractItemModel { class CAMPVIS_APPLICATION_API PipelineTreeModel : public QAbstractItemModel {
Q_OBJECT Q_OBJECT
public: public:
...@@ -147,7 +150,7 @@ namespace campvis { ...@@ -147,7 +150,7 @@ namespace campvis {
/** /**
* Qt widget for showing a list of pipelines and their processors in a QTreeView. * Qt widget for showing a list of pipelines and their processors in a QTreeView.
*/ */
class PipelineTreeWidget : public QTreeView { class CAMPVIS_APPLICATION_API PipelineTreeWidget : public QTreeView {
Q_OBJECT; Q_OBJECT;
public: public:
......
...@@ -27,6 +27,9 @@ ...@@ -27,6 +27,9 @@
#include "sigslot/sigslot.h" #include "sigslot/sigslot.h"
#include "tbb/atomic.h" #include "tbb/atomic.h"
#include "application/applicationapi.h"
#include <QBoxLayout> #include <QBoxLayout>
#include <QLabel> #include <QLabel>
#include <QWidget> #include <QWidget>
...@@ -38,7 +41,7 @@ namespace campvis { ...@@ -38,7 +41,7 @@ namespace campvis {
/** /**
* Abstract base class for property widgets. * Abstract base class for property widgets.
*/ */
class AbstractPropertyWidget : public QWidget, public sigslot::has_slots { class CAMPVIS_APPLICATION_API AbstractPropertyWidget : public QWidget, public sigslot::has_slots {
Q_OBJECT; Q_OBJECT;
public: public:
......