LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
icoretabwidget.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #ifndef INTERFACES_CORE_ICORETABWIDGET_H
10 #define INTERFACES_CORE_ICORETABWIDGET_H
11 
12 #include <QTabBar>
13 #include <QVariant>
14 
15 class QObject;
16 class QWidget;
17 class QIcon;
18 class QMenu;
19 
24 class Q_DECL_EXPORT ICoreTabWidget
25 {
26 public:
27  virtual ~ICoreTabWidget () {}
28 
36  virtual QObject* GetQObject () = 0;
37 
42  virtual int WidgetCount () const = 0;
43 
50  virtual QWidget* Widget (int index) const = 0;
51 
57  virtual int IndexOf (QWidget *page) const = 0;
58 
67  virtual QMenu* GetTabMenu (int index) = 0;
68 
74  virtual QList<QAction*> GetPermanentActions () const = 0;
75 
82  virtual QString TabText (int index) const = 0;
83 
90  virtual void SetTabText (int index, const QString& text) = 0;
91 
98  virtual QIcon TabIcon (int index) const = 0;
99 
107  virtual QWidget* TabButton (int index, QTabBar::ButtonPosition position) const = 0;
108 
113  virtual QTabBar::ButtonPosition GetCloseButtonPosition () const = 0;
114 
121  virtual void SetTabClosable (int index, bool closable, QWidget *closeButton = 0) = 0;
122 
127  virtual int CurrentIndex () const = 0;
128 
134  virtual void MoveTab (int from, int to) = 0;
135 
140  virtual void setCurrentTab (int index) = 0;
141 
146  virtual void setCurrentWidget (QWidget *widget) = 0;
147 
152  virtual QWidget* GetPreviousWidget () const = 0;
153 protected:
160  virtual void tabInserted (int index) = 0;
161 
169  virtual void currentChanged (int index) = 0;
170 
178  virtual void tabWasMoved (int from, int to) = 0;
179 };
180 
181 Q_DECLARE_INTERFACE (ICoreTabWidget, "org.Deviant.LeechCraft.ICoreTabWidget/1.0")
182 
183 #endif
QList
Definition: ianrulesstorage.h:14
ICoreTabWidget
This interface is used to represent LeechCraft's core tab widget.
Definition: icoretabwidget.h:24
ICoreTabWidget::~ICoreTabWidget
virtual ~ICoreTabWidget()
Definition: icoretabwidget.h:27