TabView::TabView(TraceItemView* parentView, QWidget* parent, const char* name) : QWidget(parent), TraceItemView(parentView) { setFocusPolicy(Qt::StrongFocus); setObjectName(name); _isCollapsed = true; QVBoxLayout* vbox = new QVBoxLayout( this ); vbox->setSpacing( 6 ); vbox->setMargin( 6 ); _nameLabel = new QLabel(this); //KSqueezedTextLabel( this); _nameLabel->setSizePolicy(QSizePolicy( QSizePolicy::Ignored, QSizePolicy::Fixed )); _nameLabel->setObjectName( "nameLabel" ); _nameLabel->setText(tr("(No profile data file loaded)")); vbox->addWidget( _nameLabel ); updateNameLabel(tr("(No profile data file loaded)")); _mainSplitter = new QSplitter(Qt::Horizontal, this); _leftSplitter = new Splitter(Qt::Vertical, _mainSplitter, "Left"); vbox->addWidget( _mainSplitter ); _rightTW = new TabWidget(this, _mainSplitter, "Right"); connect(_rightTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_rightTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); _topTW = new TabWidget(this, _leftSplitter, "Top"); connect(_topTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_topTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); _bottomSplitter = new Splitter(Qt::Horizontal, _leftSplitter, "Bottom"); _leftTW = new TabWidget(this, _bottomSplitter, "Left"); _leftTW->setTabPosition(QTabWidget::Bottom); connect(_leftTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_leftTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); _bottomTW = new TabWidget(this, _bottomSplitter, "Bottom"); _bottomTW->setTabPosition(QTabWidget::Bottom); connect(_bottomTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_bottomTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); CallView* callerView = new CallView(true, this); CallView* calleeView = new CallView(false, this); CoverageView * allCallerView = new CoverageView(true, this); CoverageView * allCalleeView = new CoverageView(false, this); // Options of visualization views are stored by their view name callerView->setObjectName("CallerView"); calleeView->setObjectName("CalleeView"); allCallerView->setObjectName("AllCallerView"); allCalleeView->setObjectName("AllCalleeView"); // default positions... // Keep following order in sync with DEFAULT_xxxTABS defines! addTop( addTab( tr("Types"), new EventTypeView(this, 0, "EventTypeView"))); addTop( addTab( tr("Callers"), callerView) ); addTop( addTab( tr("All Callers"), allCallerView) ); addTop( addTab( tr("Callee Map"), new CallMapView(false, this, 0, "CalleeMapView"))); addTop( addTab( tr("Source Code"), new SourceView(this, 0, "SourceView"))); addBottom( addTab( tr("Parts"), new PartView(this, 0, "PartView"))); addBottom( addTab( tr("Callees"), calleeView) ); addBottom( addTab( tr("Call Graph"), new CallGraphView(this, 0, "CallGraphView"))); addBottom( addTab( tr("All Callees"), allCalleeView) ); addBottom( addTab( tr("Caller Map"), new CallMapView(true, this, 0, "CallerMapView"))); addBottom( addTab( tr("Machine Code"), new InstrView(this, 0, "InstrView"))); // after all child widgets are created... _lastFocus = 0; _active = false; installFocusFilters(); updateVisibility(); this->setWhatsThis( whatsThis() ); }
TabView::TabView(TraceItemView* parentView, QWidget* parent, const char* name) : QWidget(parent, name), TraceItemView(parentView) { setFocusPolicy(QWidget::StrongFocus); _isCollapsed = true; QVBoxLayout* vbox = new QVBoxLayout( this, 6, 6); _nameLabel = new KSqueezedTextLabel( this, "nameLabel" ); _nameLabel->setText(i18n("(No profile data file loaded)")); vbox->addWidget( _nameLabel ); _mainSplitter = new QSplitter(Qt::Horizontal, this); _leftSplitter = new Splitter(Qt::Vertical, _mainSplitter, "Left"); vbox->addWidget( _mainSplitter ); _rightTW = new TabWidget(this, _mainSplitter, "Right"); connect(_rightTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_rightTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); _topTW = new TabWidget(this, _leftSplitter, "Top"); connect(_topTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_topTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); _bottomSplitter = new Splitter(Qt::Horizontal, _leftSplitter, "Bottom"); _leftTW = new TabWidget(this, _bottomSplitter, "Left"); _leftTW->setTabPosition(QTabWidget::Bottom); connect(_leftTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_leftTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); _bottomTW = new TabWidget(this, _bottomSplitter, "Bottom"); _bottomTW->setTabPosition(QTabWidget::Bottom); connect(_bottomTW, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChanged(QWidget*))); connect(_bottomTW, SIGNAL(visibleRectChanged(TabWidget*)), this, SLOT(visibleRectChangedSlot(TabWidget*))); // default positions... addTop( addTab( i18n("Types"), new CostTypeView(this, _topTW, "CostTypeView"))); addTop( addTab( i18n("Callers"), new CallView(true, this, _topTW, "CallerView"))); addTop( addTab( i18n("All Callers"), new CoverageView(true, this, _topTW, "AllCallerView"))); addTop( addTab( i18n("Caller Map"), new CallMapView(true, this, _bottomTW, "CallerMapView"))); addTop( addTab( i18n("Source"), new SourceView(this, _topTW, "SourceView"))); addBottom( addTab( i18n("Parts"), new PartView(this, _bottomTW, "PartView"))); addBottom( addTab( i18n("Call Graph"), new CallGraphView(this, _bottomTW, "CallGraphView"))); addBottom( addTab( i18n("Callees"), new CallView(false, this, _bottomTW, "CalleeView"))); addBottom( addTab( i18n("All Callees"), new CoverageView(false, this, _bottomTW, "AllCalleeView"))); addBottom( addTab( i18n("Callee Map"), new CallMapView(false, this, _topTW, "CalleeMapView"))); addBottom( addTab( i18n("Assembler"), new InstrView(this, _bottomTW, "InstrView"))); // after all child widgets are created... _lastFocus = 0; _active = false; installFocusFilters(); updateVisibility(); QWhatsThis::add( this, whatsThis() ); }