/** * @RDE_HEADER@ * TabBar with special stylesheet settings * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #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 }; }