2017-02-04 05:56:08 +08:00
|
|
|
#ifndef ContainerWidgetH
|
|
|
|
#define ContainerWidgetH
|
|
|
|
//============================================================================
|
|
|
|
/// \file ContainerWidget.h
|
|
|
|
/// \author Uwe Kindler
|
|
|
|
/// \date 03.02.2017
|
|
|
|
/// \brief Declaration of CContainerWidget
|
|
|
|
//============================================================================
|
|
|
|
|
|
|
|
//============================================================================
|
|
|
|
// INCLUDES
|
|
|
|
//============================================================================
|
2015-12-09 19:21:38 +08:00
|
|
|
#include <QFrame>
|
|
|
|
|
2016-02-02 22:01:48 +08:00
|
|
|
#include "ads/API.h"
|
2016-02-18 22:06:00 +08:00
|
|
|
#include "ads/Internal.h"
|
2016-02-02 22:01:48 +08:00
|
|
|
#include "ads/SectionContent.h"
|
|
|
|
#include "ads/FloatingWidget.h"
|
2016-04-04 14:51:38 +08:00
|
|
|
#include "ads/Serialization.h"
|
2017-01-31 05:44:27 +08:00
|
|
|
#include "ads/DropOverlay.h"
|
2015-12-09 19:21:38 +08:00
|
|
|
|
2017-02-04 05:56:08 +08:00
|
|
|
namespace ads
|
|
|
|
{
|
2016-02-26 19:43:14 +08:00
|
|
|
class SectionWidget;
|
2016-04-15 14:21:23 +08:00
|
|
|
class DropOverlay;
|
2016-02-12 15:00:31 +08:00
|
|
|
class InternalContentData;
|
|
|
|
|
2017-02-04 05:56:08 +08:00
|
|
|
/**
|
|
|
|
* @brief
|
2016-02-15 18:32:35 +08:00
|
|
|
*/
|
2017-02-04 05:56:08 +08:00
|
|
|
class CContainerWidget : public QFrame
|
2015-12-09 19:21:38 +08:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
2016-02-26 19:43:14 +08:00
|
|
|
friend class SectionContent;
|
2015-12-09 19:21:38 +08:00
|
|
|
friend class SectionWidget;
|
2016-02-02 20:49:10 +08:00
|
|
|
friend class FloatingWidget;
|
2016-02-15 18:32:35 +08:00
|
|
|
friend class SectionTitleWidget;
|
2017-01-21 05:43:18 +08:00
|
|
|
friend class ContainerWidgetPrivate;
|
2015-12-09 19:21:38 +08:00
|
|
|
|
|
|
|
public:
|
2017-02-04 05:56:08 +08:00
|
|
|
explicit CContainerWidget(QWidget *parent = nullptr);
|
|
|
|
virtual ~CContainerWidget();
|
2017-01-31 05:44:27 +08:00
|
|
|
|
2017-02-04 05:56:08 +08:00
|
|
|
protected:
|
2017-01-31 05:44:27 +08:00
|
|
|
// Layout stuff
|
|
|
|
QGridLayout* m_MainLayout = nullptr;
|
|
|
|
Qt::Orientation m_Orientation = Qt::Horizontal;
|
|
|
|
QPointer<QSplitter> m_Splitter; // $mfreiholz: I'd like to remove this variable entirely,
|
|
|
|
// because it changes during user interaction anyway.
|
|
|
|
|
|
|
|
// Drop overlay stuff.
|
|
|
|
QPointer<DropOverlay> m_SectionDropOverlay;
|
|
|
|
QPointer<DropOverlay> m_ContainerDropOverlay;
|
2015-12-09 19:21:38 +08:00
|
|
|
};
|
|
|
|
|
2017-02-04 05:56:08 +08:00
|
|
|
} // namespace ads
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
#endif // ContainerWidgetH
|