Le système de "Docking" remplace le système multi-fenêtrages classique de PowerBuilder. Il implémente une interface de navigation entre fenêtres ouvertes basé sur des onglets. Il permet également de caler les fonctions les plus utilisées sur les côtés de la fenêtre.
Autres fonctionnalités :
Note : toute fenêtre ouverte en « Docking system » doit être activée en mode invisible. Pensez à décocher la propriété Visible dans l’IDE pour toutes les fenêtres ouvertes en « Docking system ». Le fonctionnement sera également meilleur si la fenêtre ouverte est de type « child ».
//Resize Event of window that contains the control //Manually size the control in the MDI frame window uo_PowerDock.Resize(THIS.WorkSpaceWidth() - 8, THIS.WorkSpaceHeight() - MDI_1.MicroHelpHeight - uo_toolbarstrip.Height + 4) //Move event of window that contains the control //Notify Docking System that the window has moved uo_PowerDock.of_FrameMoved() //Open Event of window that contains the control //Set the menu that will display all open documents (and the "More Windows" window if needed) uo_PowerDock.of_SetMenu(m_main.m_window) //Open documents in the new container uo_PowerDock.of_OpenDocument(iuo_5, "About", 'Help!') uo_PowerDock.of_OpenDocument(iw_windowtest, "My Window", 'Window!') //Activate a document uo_PowerDock.of_ActivateDocument(iuo_5) //Add items to the dock windows uo_PowerDock.of_AddDockItem(uo_PowerDock.RIGHT, uo_mle1, "My Right Pane", 'ListBox!') uo_PowerDock.of_AddDockItem(uo_PowerDock.LEFT, uo_xplistbar, "XPListBar", 'TreeView!') uo_PowerDock.of_AddDockItem(uo_PowerDock.BOTTOM, uo_mle3, "Output", 'ListBox!') uo_PowerDock.of_AddDockItem(uo_PowerDock.TOP, uo_mle5, "Top Pane", 'ListBox!') //Set focus to specific dock items uo_PowerDock.of_SetDockItemFocus(uo_xplistbar) //Auto dock the left dock window uo_PowerDock.of_SetDock(uo_PowerDock.LEFT, TRUE) //Set some initial sizes uo_PowerDock.of_SetDockSize(uo_PowerDock.LEFT, 875) uo_PowerDock.of_SetDockSize(uo_PowerDock.RIGHT, 875) uo_PowerDock.of_SetDockSize(uo_PowerDock.TOP, 500) uo_PowerDock.of_SetDockSize(uo_PowerDock.BOTTOM, 500)