void setWorkbenchLayout ( Layout layout ) { validateNotNull ( layout , "layout" ) ; if ( this . layout == layout ) { return ; } requestTabIndex = getCurrentRequestTabIndex ( ) ; Layout previousLayout = this . layout ; this . layout = layout ; componentMaximiser . unmaximiseComponent ( ) ; removeAll ( ) ; List < AbstractPanel > visiblePanels ; switch ( layout ) { case FULL : visiblePanels = getTabbedStatus ( ) . getVisiblePanels ( ) ; getTabbedStatus ( ) . hideAllTabs ( ) ; visiblePanels . addAll ( getTabbedWork ( ) . getVisiblePanels ( ) ) ; getTabbedWork ( ) . hideAllTabs ( ) ; visiblePanels . addAll ( getTabbedSelect ( ) . getVisiblePanels ( ) ) ; getTabbedSelect ( ) . hideAllTabs ( ) ; getTabbedFull ( ) . setVisiblePanels ( visiblePanels ) ; updateFullLayout ( ) ; this . add ( getFullLayoutPanel ( ) ) ; break ; case EXPAND_SELECT : case EXPAND_STATUS : default : this . add ( layout == Layout . EXPAND_STATUS ? createStatusPanelsSplit ( ) : createSelectPanelsSplit ( ) ) ; if ( previousLayout == Layout . FULL ) { visiblePanels = getTabbedFull ( ) . getVisiblePanels ( ) ; getTabbedFull ( ) . hideAllTabs ( ) ; getTabbedStatus ( ) . setVisiblePanels ( visiblePanels ) ; getTabbedWork ( ) . setVisiblePanels ( visiblePanels ) ; getTabbedSelect ( ) . setVisiblePanels ( visiblePanels ) ; setResponsePanelPosition ( responsePanelPosition ) ; } break ; } this . validate ( ) ; this . repaint ( ) ; }
Sets the layout of the workbench panel .