Package org.eclipse.ui.forms.widgets
Class ScrolledPageBook
-
- All Implemented Interfaces:
Drawable
public class ScrolledPageBook extends SharedScrolledComposite
ScrolledPageBook is a class that is capable of stacking several composites (pages), while showing one at a time. The content is scrolled if there is not enough space to fit it in the client area.- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description ScrolledPageBook(Composite parent)
Creates a new instance in the provided parentScrolledPageBook(Composite parent, int style)
Creates a new instance in the provided parent and with the provided style.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Point
computeSize(int wHint, int hHint, boolean changed)
Removes the default size of the composite, allowing the control to shrink to the trim.Composite
createPage(Object key)
Creates a new page for the provided key.Composite
getContainer()
Returns the page book container.Control
getCurrentPage()
Returns the page currently showing.boolean
hasPage(Object key)
Tests if the page under the provided key is currently in the book.void
registerPage(Object key, Control page)
Registers a page under the privided key to be managed by the page book.void
removePage(Object key)
Removes the page under the provided key from the page book.void
removePage(Object key, boolean showEmptyPage)
Removes the page under the provided key from the page book.boolean
setFocus()
Sets focus on the current page if shown.void
showEmptyPage()
Shows a page with no children to be used if the desire is to not show any registered page.void
showPage(Object key)
Shows the page with the provided key and hides the page previously showing.-
Methods inherited from class org.eclipse.ui.forms.widgets.SharedScrolledComposite
isDelayedReflow, layout, reflow, setBackground, setContent, setDelayedReflow, setExpandHorizontal, setExpandVertical, setFont, setForeground
-
Methods inherited from class org.eclipse.swt.custom.ScrolledComposite
getAlwaysShowScrollBars, getContent, getExpandHorizontal, getExpandVertical, getMinHeight, getMinWidth, getOrigin, getShowFocusedControl, setAlwaysShowScrollBars, setLayout, setMinHeight, setMinSize, setMinSize, setMinWidth, setOrigin, setOrigin, setShowFocusedControl, showControl
-
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setLayoutDeferred, setTabList, toString
-
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
-
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
-
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.swt.graphics.Drawable
isAutoScalable
-
-
-
-
Constructor Detail
-
ScrolledPageBook
public ScrolledPageBook(Composite parent)
Creates a new instance in the provided parent- Parameters:
parent
- the parent composite
-
ScrolledPageBook
public ScrolledPageBook(Composite parent, int style)
Creates a new instance in the provided parent and with the provided style.- Parameters:
parent
- the control parentstyle
- the style to use
-
-
Method Detail
-
computeSize
public Point computeSize(int wHint, int hHint, boolean changed)
Removes the default size of the composite, allowing the control to shrink to the trim.- Overrides:
computeSize
in classControl
- Parameters:
wHint
- the width hinthHint
- the height hintchanged
- iftrue
, do not use cached values- Returns:
- the preferred size of the control.
- See Also:
Layout
,Control.getBorderWidth()
,Control.getBounds()
,Control.getSize()
,Control.pack(boolean)
, "computeTrim, getClientArea for controls that implement them"
-
hasPage
public boolean hasPage(Object key)
Tests if the page under the provided key is currently in the book.- Parameters:
key
- the page key- Returns:
true
if page exists,false
otherwise.
-
createPage
public Composite createPage(Object key)
Creates a new page for the provided key. Use the returned composite to create children in it.- Parameters:
key
- the page key- Returns:
- the newly created page composite
-
getContainer
public Composite getContainer()
Returns the page book container.- Returns:
- the page book container
-
registerPage
public void registerPage(Object key, Control page)
Registers a page under the privided key to be managed by the page book. The page must be a direct child of the page book container.- Parameters:
key
- the page keypage
- the page composite to register- See Also:
createPage(Object)
,getContainer()
-
removePage
public void removePage(Object key)
Removes the page under the provided key from the page book. Does nothing if page with that key does not exist.- Parameters:
key
- the page key.
-
removePage
public void removePage(Object key, boolean showEmptyPage)
Removes the page under the provided key from the page book. Does nothing if page with that key does not exist.- Parameters:
key
- the page key.showEmptyPage
- iftrue
, shows the empty page after page removal.
-
showPage
public void showPage(Object key)
Shows the page with the provided key and hides the page previously showing. Does nothing if the page with that key does not exist.- Parameters:
key
- the page key
-
showEmptyPage
public void showEmptyPage()
Shows a page with no children to be used if the desire is to not show any registered page.
-
setFocus
public boolean setFocus()
Sets focus on the current page if shown.- Overrides:
setFocus
in classSharedScrolledComposite
- Returns:
true
if the control got focus, andfalse
if it was unable to.- See Also:
Control.forceFocus()
-
getCurrentPage
public Control getCurrentPage()
Returns the page currently showing.- Returns:
- the current page
-
-