@@ -385,8 +385,6 @@ CDockWidget::CDockWidget(CDockManager *manager, const QString &title, QWidget* p
385385 setWindowTitle (title);
386386 setObjectName (title);
387387
388- d->TabWidget = d->componentsFactory ()->createDockWidgetTab (this );
389-
390388 d->ToggleViewAction = new QAction (title, this );
391389 d->ToggleViewAction ->setCheckable (true );
392390 connect (d->ToggleViewAction , SIGNAL (triggered (bool )), this ,
@@ -513,6 +511,10 @@ QWidget* CDockWidget::widget() const
513511// ============================================================================
514512CDockWidgetTab* CDockWidget::tabWidget () const
515513{
514+ if (!d->TabWidget )
515+ {
516+ d->TabWidget = d->componentsFactory ()->createDockWidgetTab (const_cast <CDockWidget*>(this ));
517+ }
516518 return d->TabWidget ;
517519}
518520
@@ -545,7 +547,7 @@ void CDockWidget::setFeatures(DockWidgetFeatures features)
545547void CDockWidget::notifyFeaturesChanged ()
546548{
547549 Q_EMIT featuresChanged (d->Features );
548- d-> TabWidget ->onDockWidgetFeaturesChanged ();
550+ tabWidget () ->onDockWidgetFeaturesChanged ();
549551 if (CDockAreaWidget* DockArea = dockAreaWidget ())
550552 {
551553 DockArea->onDockWidgetFeaturesChanged ();
@@ -724,7 +726,7 @@ void CDockWidget::setToggleViewActionMode(eToggleViewActionMode Mode)
724726 else
725727 {
726728 d->ToggleViewAction ->setCheckable (false );
727- d->ToggleViewAction ->setIcon (d-> TabWidget ->icon ());
729+ d->ToggleViewAction ->setIcon (tabWidget () ->icon ());
728730 }
729731}
730732
@@ -941,7 +943,7 @@ void CDockWidget::setTabToolTip(const QString &text)
941943// ============================================================================
942944void CDockWidget::setIcon (const QIcon& Icon)
943945{
944- d-> TabWidget ->setIcon (Icon);
946+ tabWidget () ->setIcon (Icon);
945947
946948 if (d->SideTabWidget )
947949 {
@@ -958,7 +960,7 @@ void CDockWidget::setIcon(const QIcon& Icon)
958960// ============================================================================
959961QIcon CDockWidget::icon () const
960962{
961- return d-> TabWidget ->icon ();
963+ return tabWidget () ->icon ();
962964}
963965
964966
@@ -1141,7 +1143,7 @@ void CDockWidget::setFloating()
11411143 }
11421144 else
11431145 {
1144- d-> TabWidget ->detachDockWidget ();
1146+ tabWidget () ->detachDockWidget ();
11451147 }
11461148}
11471149
0 commit comments