Started refactoring to improve code quality, overall designa nd to gain knowledge of the impolemented functionality
This commit is contained in:
@@ -35,6 +35,7 @@ class ADS_EXPORT_API ContainerWidget : public QFrame
|
||||
friend class FloatingWidget;
|
||||
friend class SectionTitleWidget;
|
||||
friend class SectionContentWidget;
|
||||
friend class SectionWidgetTabsScrollArea;
|
||||
|
||||
public:
|
||||
explicit ContainerWidget(QWidget *parent = NULL);
|
||||
@@ -143,6 +144,9 @@ private:
|
||||
|
||||
bool takeContent(const SectionContent::RefPtr& sc, InternalContentData& data);
|
||||
|
||||
void moveFloatingWidget(const QPoint& TargetPos);
|
||||
FloatingWidget* startFloating(SectionWidget* sectionwidget, int ContentUid, const QPoint& TargetPos);
|
||||
|
||||
private slots:
|
||||
void onActiveTabChanged();
|
||||
void onActionToggleSectionContentVisibility(bool visible);
|
||||
|
||||
@@ -12,6 +12,7 @@ class ContainerWidget;
|
||||
class SectionTitleWidget;
|
||||
class SectionContentWidget;
|
||||
class InternalContentData;
|
||||
class SectionWidget;
|
||||
|
||||
// FloatingWidget holds and displays SectionContent as a floating window.
|
||||
// It can be resized, moved and dropped back into a SectionWidget.
|
||||
@@ -23,7 +24,8 @@ class FloatingWidget : public QWidget
|
||||
|
||||
public:
|
||||
FloatingWidget(ContainerWidget* container, SectionContent::RefPtr sc, SectionTitleWidget* titleWidget, SectionContentWidget* contentWidget, QWidget* parent = NULL);
|
||||
virtual ~FloatingWidget();
|
||||
FloatingWidget(SectionWidget* sectionWidget);
|
||||
virtual ~FloatingWidget();
|
||||
|
||||
SectionContent::RefPtr content() const { return _content; }
|
||||
|
||||
|
||||
@@ -21,17 +21,17 @@ class SectionTitleWidget : public QFrame
|
||||
friend class ContainerWidget;
|
||||
friend class SectionWidget;
|
||||
|
||||
SectionContent::RefPtr _content;
|
||||
SectionContent::RefPtr m_Content;
|
||||
|
||||
// Drag & Drop (Floating)
|
||||
QPointer<FloatingWidget> _fw;
|
||||
QPoint _dragStartPos;
|
||||
QPointer<FloatingWidget> m_FloatingWidget;
|
||||
QPoint m_DragStartPosition;
|
||||
|
||||
// Drag & Drop (Title/Tabs)
|
||||
bool _tabMoving;
|
||||
bool m_TabMoving;
|
||||
|
||||
// Property values
|
||||
bool _activeTab;
|
||||
bool m_IsActiveTab;
|
||||
|
||||
public:
|
||||
SectionTitleWidget(SectionContent::RefPtr content, QWidget* parent);
|
||||
@@ -45,6 +45,11 @@ protected:
|
||||
virtual void mouseReleaseEvent(QMouseEvent* ev);
|
||||
virtual void mouseMoveEvent(QMouseEvent* ev);
|
||||
|
||||
private:
|
||||
void moveFloatingWidget(QMouseEvent* ev, ContainerWidget* cw);
|
||||
void startFloating(QMouseEvent* ev, ContainerWidget* cw, SectionWidget* sectionwidget);
|
||||
void moveTab(QMouseEvent* ev);
|
||||
|
||||
signals:
|
||||
void activeTabChanged();
|
||||
void clicked();
|
||||
|
||||
@@ -14,6 +14,7 @@ class QMenu;
|
||||
#include "ads/API.h"
|
||||
#include "ads/Internal.h"
|
||||
#include "ads/SectionContent.h"
|
||||
#include "ads/FloatingWidget.h"
|
||||
|
||||
ADS_NAMESPACE_BEGIN
|
||||
class ContainerWidget;
|
||||
@@ -50,6 +51,8 @@ public:
|
||||
int currentIndex() const;
|
||||
void moveContent(int from, int to);
|
||||
|
||||
virtual bool eventFilter(QObject *watched, QEvent *event);
|
||||
|
||||
protected:
|
||||
virtual void showEvent(QShowEvent*);
|
||||
|
||||
@@ -96,7 +99,11 @@ public:
|
||||
virtual ~SectionWidgetTabsScrollArea();
|
||||
|
||||
protected:
|
||||
QPoint _dragStartPos;
|
||||
QPointer<FloatingWidget> _fw;
|
||||
virtual void wheelEvent(QWheelEvent*);
|
||||
virtual void mousePressEvent(QMouseEvent* ev);
|
||||
virtual void mouseMoveEvent(QMouseEvent* ev);
|
||||
};
|
||||
|
||||
ADS_NAMESPACE_END
|
||||
|
||||
Reference in New Issue
Block a user