9#ifndef INTERFACES_IHAVETABS_H
10#define INTERFACES_IHAVETABS_H
380Q_DECLARE_OPERATORS_FOR_FLAGS (LC::TabFeatures)
382Q_DECLARE_INTERFACE (
ITabWidget,
"org.Deviant.LeechCraft.ITabWidget/1.0")
383Q_DECLARE_INTERFACE (
IHaveTabs,
"org.Deviant.LeechCraft.IHaveTabs/1.0")
Interface for plugins that have one or more tabs.
virtual LC::TabClasses_t GetTabClasses() const =0
Returns the list of tab classes provided by this plugin.
virtual void TabOpenRequested(const QByteArray &tabClass)=0
Opens the new tab from the given tabClass.
TabFeature
Defines different behavior features of tab classes.
@ TFSuggestOpening
The tab is to be suggested in a quick launch area.
@ TFSingle
There could be only one instance of this tab.
@ TFOpenableByRequest
This tab could be opened by user request.
@ TFEmpty
No special features.
@ TFOverridesTabClose
The tab uses the standard tab close shortcut (Ctrl+W).
@ TFByDefault
The tab should be opened by default.
Q_DECLARE_FLAGS(TabFeatures, LC::TabFeature)
QList< TabClassInfo > TabClasses_t
The structure describing a single tab class.
QString VisibleName_
Visible name for the given tab class.
TabFeatures Features_
The features of this tab class.
QByteArray TabClass_
The tab class ID, which should be globally unique.
QString Description_
The description of the given tab class.
QIcon Icon_
The icon for the given tab class.
quint16 Priority_
The priority of this tab class.