/**
** This file is owned by VisualGear Technology Co., Ltd.
** Unauthorized copying of this file, via any medium is strictly prohibited
** Otherwise VisualGear Technology Co., Ltd. will have the right to pursue
** maximum responsibilities within scope of legal.
**
** Copyright 2018-2020 VisualGear All rights reserved.
**/

#pragma once

#include <QtWidgets/QWidget>
#include "UIGQMacro.h"
#include "UIGQWidgetBase.h"

namespace UIGQtLib
{
    class UIGQWindowDesignerImpl;

    class UIGEARSQTLIB_EXPORT UIGQWindowDesigner : public QWidget, public IUIGQWidgetBase
    {
        Q_OBJECT

        UIG_QT_CTRL_DEF("qtwindow", UIGQWindowDesigner)

    public:
        UIGQWindowDesigner(QWidget *parent = nullptr);
        virtual ~UIGQWindowDesigner();

        void resizeEvent(QResizeEvent *event);
        bool eventFilter(QObject *watched, QEvent *event);
        void moveEvent(QMoveEvent *event);
       // void dragLeaveEvent(QDragLeaveEvent *event);
       // void dragEnterEvent(QDragEnterEvent *event);

    private:
        UIGQWindowDesignerImpl* _ctrlImpl;

        UIGQT_GET_CONTROLBASE
    };
}  

