4848#include " ads_globals.h"
4949#include " DockSplitter.h"
5050
51- #include < QElapsedTimer >
51+ #include < iostream >
5252
5353
5454namespace ads
@@ -755,9 +755,13 @@ void DockContainerWidgetPrivate::dumpRecursive(int level, QWidget* widget)
755755 {
756756 qDebug (" %sSplitter %s v: %s c: %s" ,
757757 (const char *)buf,
758- (Splitter->orientation () == Qt::Vertical) ? " -" : " |" ,
759- Splitter->isVisibleTo (Splitter-> parentWidget ()) ? " 1 " : " 0 " ,
758+ (Splitter->orientation () == Qt::Vertical) ? " -- " : " |" ,
759+ Splitter->isHidden () ? " " : " v " ,
760760 QString::number (Splitter->count ()).toStdString ().c_str ());
761+ std::cout << (const char *)buf << " Splitter "
762+ << ((Splitter->orientation () == Qt::Vertical) ? " --" : " |" ) << " "
763+ << (Splitter->isHidden () ? " " : " v" ) << " "
764+ << QString::number (Splitter->count ()).toStdString () << std::endl;
761765 for (int i = 0 ; i < Splitter->count (); ++i)
762766 {
763767 dumpRecursive (level + 1 , Splitter->widget (i));
@@ -771,6 +775,19 @@ void DockContainerWidgetPrivate::dumpRecursive(int level, QWidget* widget)
771775 return ;
772776 }
773777 qDebug (" %sDockArea" , (const char *)buf);
778+ std::cout << (const char *)buf
779+ << (DockArea->isHidden () ? " " : " v" )
780+ << (DockArea->openDockWidgetsCount () > 0 ? " " : " c" )
781+ << " DockArea" << std::endl;
782+ buf.fill (' ' , (level + 1 ) * 4 );
783+ for (int i = 0 ; i < DockArea->dockWidgetsCount (); ++i)
784+ {
785+ std::cout << (const char *)buf << (i == DockArea->currentIndex () ? " *" : " " );
786+ CDockWidget* DockWidget = DockArea->dockWidget (i);
787+ std::cout << (DockWidget->isHidden () ? " " : " v" );
788+ std::cout << (DockWidget->isClosed () ? " c" : " " ) << " " ;
789+ std::cout << DockWidget->windowTitle ().toStdString () << std::endl;
790+ }
774791 }
775792#else
776793 Q_UNUSED (level);
@@ -922,10 +939,10 @@ void CDockContainerWidget::removeDockArea(CDockAreaWidget* area)
922939 d->DockAreas .removeAll (area);
923940 CDockSplitter* Splitter = internal::findParent<CDockSplitter*>(area);
924941
925- // Remove are from parent splitter and hide splitter if it has no visible
926- // content
942+ // Remove are from parent splitter and recursively hide tree of parent
943+ // splitters if it has no visible content
927944 area->setParent (0 );
928- Splitter-> setVisible (Splitter-> hasVisibleContent () );
945+ internal::hideEmptyParentSplitters (Splitter);
929946
930947 // If splitter has more than 1 widgets, we are finished and can leave
931948 if (Splitter->count () > 1 )
@@ -1040,9 +1057,6 @@ int CDockContainerWidget::visibleDockAreaCount() const
10401057void CDockContainerWidget::dropFloatingWidget (CFloatingDockContainer* FloatingWidget,
10411058 const QPoint& TargetPos)
10421059{
1043- QElapsedTimer Timer;
1044- Timer.start ();
1045-
10461060 qDebug () << " CDockContainerWidget::dropFloatingWidget" ;
10471061 CDockAreaWidget* DockArea = dockAreaAt (TargetPos);
10481062 auto dropArea = InvalidDockWidgetArea;
@@ -1203,8 +1217,10 @@ void CDockContainerWidget::dumpLayout()
12031217{
12041218#if (ADS_DEBUG_LEVEL > 0)
12051219 qDebug (" \n\n Dumping layout --------------------------" );
1220+ std::cout << " \n\n Dumping layout --------------------------" << std::endl;
12061221 d->dumpRecursive (0 , d->RootSplitter );
12071222 qDebug (" --------------------------\n\n " );
1223+ std::cout << " --------------------------\n\n " << std::endl;
12081224#endif
12091225}
12101226
0 commit comments