/** * Sets a {@link Component} that is displayed on top of the actual content. * Set to {@code null} to remove the header altogether. * * @param newHeader * {@link Component} to be displayed on top of the actual content * or {@code null} to remove the header. */ public void setHeader(Component newHeader) { if (header != null) { if (newHeader == null) { mainLayout.removeComponent(header); } else { mainLayout.replaceComponent(header, newHeader); } } else { if (newHeader != null) { mainLayout.addComponentAsFirst(newHeader); } } this.header = newHeader; }
/** * Sets the content to be displayed above the main content.<p> * * @param aboveContent the above content */ public void setAbove(Component aboveContent) { if (m_mainPanel.getComponentIndex(m_contentPanel) == 0) { m_mainPanel.addComponent(aboveContent, 0); } else { m_mainPanel.replaceComponent(m_mainPanel.getComponent(0), aboveContent); } }
/** * Sets the content to be displayed below the main content.<p> * @param belowContent the below content */ public void setBelow(Component belowContent) { int i = m_mainPanel.getComponentIndex(m_mainPanel); Component oldBelow = m_mainPanel.getComponent(i + 1); if (oldBelow == null) { m_mainPanel.addComponent(belowContent); } else { m_mainPanel.replaceComponent(oldBelow, belowContent); } }
private void onMove(VerticalLayout root, VerticalLayout formLayout, MoveDirection moveDirection) { int currentPosition = root.getComponentIndex(formLayout); int newPosition = moveDirection == MoveDirection.UP ? currentPosition - 1 : currentPosition + 1; if (currentPosition == 0 && moveDirection.equals(MoveDirection.UP)) { return; } if (newPosition >= root.getComponentCount() - 1) { return; } Collections.swap(formOrder, currentPosition, newPosition); root.replaceComponent(root.getComponent(currentPosition), root.getComponent(newPosition)); }