00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
#ifndef UTABWIDGET_HPP
00029
#define UTABWIDGET_HPP
00030
00031
#include "uwidget.hpp"
00032
00033
namespace ufo {
00034
00035
class UStackWidget;
00036
class UTabBar;
00037
00045 class UFO_EXPORT UTabWidget :
public UWidget {
00046 UFO_DECLARE_CLASS(UTabWidget)
00047
public:
00048 UTabWidget();
00049
virtual ~UTabWidget();
00050
00051
public:
00052
void addTab(
UWidget * child,
const std::string & label);
00053
void removeTab(
int index);
00054
00058 std::string getTabText(
int index)
const;
00062
UWidget * getTabWidget(
int index)
const;
00063
00067
int getTabIndex(
const std::string & label)
const;
00069
int getTabIndex(
UWidget * child)
const;
00070
00071
void setSelectedIndex(
int index);
00072
int getSelectedIndex()
const;
00073
00074
int getTabCount()
const;
00075
00076
protected:
00077
virtual void slotTabSelected(
UTabBar * bar);
00078
00079
public:
00080 USignal1<UTabWidget*> & sigSelectionChanged();
00081
00082
private:
00083 USignal1<UTabWidget*> m_sigSelectionChanged;
00084
00085
private:
00086
UStackWidget * m_stackWidget;
00087
UTabBar * m_tabBar;
00088 };
00089
00090
00091
00092
00093
00094
inline USignal1<UTabWidget*> &
00095 UTabWidget::sigSelectionChanged() {
00096
return m_sigSelectionChanged;
00097 }
00098
00099 }
00100
00101
#endif // UTABWIDGET_HPP