dtkWidgetsWorkspace.h 922 Bytes
Newer Older
1 2 3 4 5
#pragma once

#include <dtkWidgetsExport>

#include <dtkCore>
6
#include <QtWidgets/QWidget>
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

class DTKWIDGETS_EXPORT dtkWidgetsWorkspace: public QWidget
{
    Q_OBJECT

public:
    dtkWidgetsWorkspace(QWidget *parent = nullptr);

public:
    virtual void enter(void) = 0;
    virtual void leave(void) = 0;

public slots:
    virtual void apply(void) = 0;
};

// ///////////////////////////////////////////////////////////////////
// Give the concept the plugin machinery
// ///////////////////////////////////////////////////////////////////

DTK_DECLARE_OBJECT        (dtkWidgetsWorkspace *)
DTK_DECLARE_PLUGIN        (dtkWidgetsWorkspace, DTKWIDGETS_EXPORT)
DTK_DECLARE_PLUGIN_FACTORY(dtkWidgetsWorkspace, DTKWIDGETS_EXPORT)
DTK_DECLARE_PLUGIN_MANAGER(dtkWidgetsWorkspace, DTKWIDGETS_EXPORT)

namespace dtk {
    namespace widgets {
        DTK_DECLARE_CONCEPT(dtkWidgetsWorkspace, DTKWIDGETS_EXPORT, workspace);
    }
}