PowerMaster/include/customTabBar.h

48 lines
995 B
C
Raw Normal View History

#ifndef CUSTOMTABBAR_H
#define CUSTOMTABBAR_H
#include <QScrollArea>
2024-11-14 09:19:14 +08:00
class DashboardFrame;
class QBoxLayout;
class CustomTab;
class CustomTabBar : public QScrollArea
{
Q_OBJECT
public:
CustomTabBar(QWidget *parent = nullptr);
virtual ~CustomTabBar();
2024-11-14 09:19:14 +08:00
void setFrame(DashboardFrame*);
DashboardFrame* frame();
2024-11-07 12:08:56 +08:00
void insertTab(int, CustomTab*);
void addTab(CustomTab*);
void removeTab(CustomTab*);
CustomTab* tab(int);
protected:
void dragEnterEvent(QDragEnterEvent* event) override;
void dragMoveEvent(QDragMoveEvent* event) override;
void dragLeaveEvent(QDragLeaveEvent* event) override;
void dropEvent(QDropEvent* event) override;
private:
int count();
public slots:
void onTabClicked();
signals:
void tabMoved(int, int);
private:
2024-11-14 09:19:14 +08:00
DashboardFrame* m_pFrame;
QWidget* m_pTabsContainerWidget;
QBoxLayout* m_pTabsLayout;
int m_nCurrentIndex;
QWidget* m_pPosMarking;
};
#endif