VTabWidget::VTabWidget(VTabPosition p,QWidget* parent, const char* name): QWidget(parent, name) { m_position = p; Q3HBoxLayout *layout = new Q3HBoxLayout(this); m_bar = new VTabBar(p,this); m_wStack = new Q3WidgetStack(this); layout->addWidget(m_bar,0); layout->addWidget(m_wStack,5); m_autoIndexer = 0; m_wStack->hide(); connect(m_bar,SIGNAL(allTabsOff()),m_wStack,SLOT(hide())); connect(m_bar, SIGNAL(activatedTab(int)), this, SLOT(setCurrentPage(int))); connect(m_bar,SIGNAL(allTabsOff()),this,SIGNAL(widgetStackHidden())); connect(m_bar,SIGNAL(activatedTab(int)),this,SIGNAL(widgetStackShown())); }
void VTabBar::setTabState(int p_id,bool state) { VTab *c,*current; c = current = 0l; for ( c = m_tabs.first(); c; c = m_tabs.next() ) { c->blockSignals(true); if(c->id() == p_id && state == true) { current = c; current->setOn(true); } else c->setOn(false); c->blockSignals(false); } if(current) { emit activatedTab( p_id); emit activatedTab(current); m_tabsOff = false; } else { m_tabsOff = true; emit allTabsOff(); } }
void VTabBar::switchOffAllTabs() { VTab *c = m_tabs.first(); for ( ; c; c = m_tabs.next() ) { c->blockSignals(true); c->setOn(false); c->blockSignals(false); } m_tabsOff = true; emit allTabsOff(); }