Files
qt5-legatus-legacy/Lts/Common/LtsWidgets/lts_tab_bar.h
T
2026-08-13 18:33:10 +02:00

52 lines
1.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* TabBar with special stylesheet settings
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QTabBar>
#include "lts_widgets_export.h"
namespace LtsWidgets
{
/**
* @brief The LtsTabBar class provides a QTabBar with the ability to be a master tab or a secondary tab inside a master tab. This allows tabs to be sorted
* into a group of a whole, which promotes better overview.
*/
class LTSWIDGETS_EXPORT LtsTabBar : public QTabBar
{
Q_OBJECT
Q_PROPERTY(bool secondary MEMBER m_secondary)
public:
/**
* @brief LtsTabBar creates a QTabBar
* @param isSecondary true if this is a secondary tab bar, false if this is a master tab bar
* @param width Debug value - do not use
* @param parent The parent.
*/
explicit LtsTabBar(bool isSecondary = false, QWidget *parent = nullptr);
/**
* @brief Do not use.
*/
void _internal_closeTab();
protected:
void onCustomContextMenuRequested(const QPoint pos);
void onSaveCurrentWidgetAsImage(const QPoint pos);
private:
bool m_secondary;
public slots:
void updateCloseButtonColors(int newIndex = -1); // has to be called AFTER a new Close Button was added, to set his initial status (selected yes/no) - as this does not happen automatically
};
}