1 /***************************************************************************
2 * Copyright 2006-2007 Alexander Dymo <adymo@kdevelop.org> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU Library General Public License as *
6 * published by the Free Software Foundation; either version 2 of the *
7 * License, or (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU Library General Public *
15 * License along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
19 #ifndef SUBLIMECONTAINER_H
20 #define SUBLIMECONTAINER_H
22 #include <ktabwidget.h>
24 #include "sublimeexport.h"
34 @short Container for the widgets.
36 This container is placed inside mainwindow splitters to show widgets
37 for views in the area.
39 class SUBLIME_EXPORT Container
: public KTabWidget
{
42 Container(QWidget
*parent
= 0);
45 /**Adds the widget for given @p view to the container.*/
46 void addWidget(View
*view
);
47 /**Removes the widget from the container.*/
48 void removeWidget(QWidget
*w
);
49 /** @return true if widget is placed inside this container.*/
50 bool hasWidget(QWidget
*w
);
52 View
*viewForWidget(QWidget
*w
) const;
54 virtual void paintEvent(QPaintEvent
*ev
);
56 void setTabBarHidden(bool hide
);
58 using KTabWidget::tabBar
;
61 using KTabWidget::addTab
;
62 using KTabWidget::insertTab
;
63 using KTabWidget::removeTab
;
66 void activateView(Sublime::View
* view
);
69 void widgetActivated(int idx
);
70 void documentTitleChanged(Sublime::Document
* doc
);
73 struct ContainerPrivate
* const d
;