]> git.mxchange.org Git - simgear.git/blobdiff - simgear/canvas/layout/Layout.cxx
canvas::NasalWidget: check for empty setGeometry callback.
[simgear.git] / simgear / canvas / layout / Layout.cxx
index b7e29c361c43c52d11c919513ca0df5918ad6308..ece4ddabe67ce35305a3ea51358f91ff3a5e26f7 100644 (file)
@@ -45,11 +45,11 @@ namespace canvas
   //----------------------------------------------------------------------------
   void Layout::setGeometry(const SGRecti& geom)
   {
-    if( geom == _geometry )
-      return;
-
-    _geometry = geom;
-    _flags |= LAYOUT_DIRTY;
+    if( geom != _geometry )
+    {
+      _geometry = geom;
+      _flags |= LAYOUT_DIRTY;
+    }
 
     update();
   }
@@ -67,6 +67,13 @@ namespace canvas
     }
   }
 
+  //----------------------------------------------------------------------------
+  void Layout::clear()
+  {
+    while( itemAt(0) )
+      takeAt(0);
+  }
+
   //----------------------------------------------------------------------------
   void Layout::ItemData::reset()
   {
@@ -117,7 +124,11 @@ namespace canvas
 
     SG_LOG( SG_GUI,
             SG_DEBUG,
-            "Layout::distribute(" << num_children << " items)" );
+            "Layout::distribute(" << space.size << "px for "
+                                  << num_children << " items, s.t."
+                                  << " min=" << space.min_size
+                                  << ", hint=" << space.size_hint
+                                  << ", max=" << space.max_size << ")" );
 
     if( space.size < space.min_size )
     {