/**
** 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-2026 VisualGear All rights reserved.
**/

#pragma once

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

namespace UIGQtLib
{
	class UIGQSpacerImpl;

	class UIGEARSQTLIB_EXPORT UIGQSpacer : public QWidget, public IUIGQWidgetBase
	{
		Q_OBJECT

	public:
		enum Direction
		{
			kAuto = 0,
			kHorizontal,
			kVertical
		};

		UIGQSpacer(QWidget* pParent = nullptr);
		~UIGQSpacer();

		UIG_QT_CTRL_DEF("qtspacer", UIGQSpacer);

		void setDirection(Direction direction);
		Direction getDirection() const;

		void setThickness(int thickness);
		int getThickness() const;

	protected:
		void paintEvent(QPaintEvent* evt) override;

	private:
		UIGQSpacerImpl* _ctrlImpl;

		UIGQT_GET_CONTROLBASE;
	};
}
