52 lines
1.2 KiB
C++
Executable File
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
|
|
|
|
};
|
|
|
|
}
|