void JXDockDirector::BuildWindow ( const JCharacter* title, const JBoolean splitHoriz ) { const JCoordinate kSize = 300; JArray<JCoordinate> sizes; sizes.AppendElement(kSize); sizes.AppendElement(kSize); JArray<JCoordinate> minSizes; minSizes.AppendElement(JXDockWidget::kDefaultMinSize); minSizes.AppendElement(JXDockWidget::kDefaultMinSize); const JCoordinate w = 2*kSize + (splitHoriz ? JPartition::kDragRegionSize : 0); const JCoordinate h = 2*kSize + (splitHoriz ? 0 : JPartition::kDragRegionSize); JXWindow* window = jnew JXWindow(this, w, h, title); assert( window != NULL ); JXImage* icon; if ((JXGetDockManager())->CreateIcon(&icon)) { window->SetIcon(icon); } if (splitHoriz) { itsHorizPartition = jnew JXHorizDockPartition(this, NULL, sizes, 0, minSizes, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, w,h); assert( itsHorizPartition != NULL ); } else { itsVertPartition = jnew JXVertDockPartition(this, NULL, sizes, 0, minSizes, window, JXWidget::kHElastic, JXWidget::kVElastic, 0,0, w,h); assert( itsVertPartition != NULL ); } window->SetMinSize(100,100); window->SetWMClass("Dock", JXGetDockWindowClass()); }
void JXDockManager::SetDefaultDock ( const JCharacter* windowType, const JXDockWidget* dock ) { if (dock == NULL || strcmp(windowType, JXGetDockWindowClass()) == 0) { itsWindowTypeMap->RemoveElement(windowType); } else { itsWindowTypeMap->SetElement(windowType, dock->GetID()); } }