Package com.iizix.swt
Class CustomSashForm
- All Implemented Interfaces:
Drawable
- Direct Known Subclasses:
TablePanel
A SashForm that allows hide/restore controls on sash. It only works with one sash (two children). It doesn't make sense for the arrows when there is more than one sash. Things get confusing for a restore position.
Nested Class Summary
Field Summary
Modifier and TypeFieldDescriptionprotected final ApplicationUI
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected Color
protected Color
protected com.iizix.swt.CustomSashForm.SashInfo
protected List<CustomSashForm.ICustomSashFormListener>
protected static final int
protected static final int
protected static final int
protected static final int
protected boolean
static final int
Custom style bits.static final int
Custom style bits.static final int
Custom style bits.static final int
Custom style bits.protected boolean
protected boolean
protected boolean[]
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
Fields inherited from class org.eclipse.swt.custom.SashForm
SASH_WIDTH
Constructor Summary
ConstructorDescriptionCustomSashForm
(Composite parent, int style) Constructor for CustomSashForm.CustomSashForm
(Composite parent, int style, int customStyle) Constructor taking a custom style too.Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a custom sashform listener.protected void
downHideClicked
(com.iizix.swt.CustomSashForm.SashInfo sashinfo) protected void
downRestoreClicked
(com.iizix.swt.CustomSashForm.SashInfo sashinfo) protected void
protected void
drawDownHideArrow
(GC gc, int x, int y) protected void
drawDownRestoreArrow
(GC gc, int x, int y) protected void
drawLeftHideArrow
(GC gc, int x, int y) protected void
drawLeftRestoreArrow
(GC gc, int x, int y) protected void
drawRightHideArrow
(GC gc, int x, int y) protected void
drawRightRestoreArrow
(GC gc, int x, int y) protected void
drawSashBorder
(GC gc, Sash sash, boolean leftBorder) protected void
drawUpHideArrow
(GC gc, int x, int y) protected void
drawUpRestoreArrow
(GC gc, int x, int y) protected void
protected void
getNewSashArray
(com.iizix.swt.CustomSashForm.SashInfo sashInfo, int[] addArrowTypes, int[] drawArrowTypes) int
protected Sash
getSash()
Point[]
int[]
Get heights for save.void
hideDown()
Call to set to hide downvoid
hideLeft()
Call to set to hide leftvoid
Call to set to hide rightvoid
hideUp()
Call to set to hide upboolean
Returns if the first sash part is visible.protected boolean
isFocusAncestorA
(Control control) boolean
Returns thenoHideDown
setting for vertical CustomSashForm.boolean
Returns thenoHideLeft
setting for horizontal CustomSashForm.boolean
Returns thenoHideRight
setting for horizontal CustomSashForm.boolean
Returns thenoHideUp
setting for vertical CustomSashForm.boolean
Returns if the second sash part is visible.void
layout
(boolean changed) protected void
void
Removes the custom sashform listener.boolean
Makes the first sash visible if it is not.void
setNoHideDown
(boolean bHide) Sets thenoHideDown
setting for vertical CustomSashForm.void
setNoHideLeft
(boolean bHide) Sets thenoHideLeft
setting for horizontal CustomSashForm.void
setNoHideRight
(boolean bHide) Sets thenoHideRight
setting for horizontal CustomSashForm.void
setNoHideUp
(boolean bHide) Sets thenoHideUp
setting for vertical CustomSashForm.void
setRestoreWeight
(int weight) void
setSashBorders
(boolean[] sashBorders) Set the need sash borders for the controls.boolean
Makes the first sash visible if it is not.void
setWeights
(int... rc) protected void
upHideClicked
(com.iizix.swt.CustomSashForm.SashInfo sashinfo) protected void
upRestoreClicked
(com.iizix.swt.CustomSashForm.SashInfo sashinfo) Methods inherited from class org.eclipse.swt.custom.SashForm
getMaximizedControl, getOrientation, getSashWidth, getStyle, getWeights, setBackground, setForeground, setLayout, setMaximizedControl, setOrientation, setSashWidth, setToolTipText
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, computeSize, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, redraw, setBackgroundMode, setFocus, 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, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, 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, 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
Field Details
NO_HIDE_LEFT
public static final int NO_HIDE_LEFTCustom style bits. They set whether hide to one side of the other is not permitted. For example, if NO_HIDE_UP, then there will be only one arrow. When not hidden, it will point down (and will do a hide down), and when hidden down, it will point up (and will do a restore to the previous weight). There won't be a hide to the top arrow.- See Also:
NO_HIDE_UP
public static final int NO_HIDE_UPCustom style bits. They set whether hide to one side of the other is not permitted. For example, if NO_HIDE_UP, then there will be only one arrow. When not hidden, it will point down (and will do a hide down), and when hidden down, it will point up (and will do a restore to the previous weight). There won't be a hide to the top arrow.- See Also:
NO_HIDE_RIGHT
public static final int NO_HIDE_RIGHTCustom style bits. They set whether hide to one side of the other is not permitted. For example, if NO_HIDE_UP, then there will be only one arrow. When not hidden, it will point down (and will do a hide down), and when hidden down, it will point up (and will do a restore to the previous weight). There won't be a hide to the top arrow.- See Also:
NO_HIDE_DOWN
public static final int NO_HIDE_DOWNCustom style bits. They set whether hide to one side of the other is not permitted. For example, if NO_HIDE_UP, then there will be only one arrow. When not hidden, it will point down (and will do a hide down), and when hidden down, it will point up (and will do a restore to the previous weight). There won't be a hide to the top arrow.- See Also:
appUI
currentSashInfo
protected com.iizix.swt.CustomSashForm.SashInfo currentSashInfoinMouseClick
protected boolean inMouseClicksashBorders
protected boolean[] sashBordersnoHideUp
protected boolean noHideUpnoHideDown
protected boolean noHideDowncustomSashFormListeners
UP_RESTORE_ARROW
protected static final int UP_RESTORE_ARROW- See Also:
UP_HIDE_ARROW
protected static final int UP_HIDE_ARROW- See Also:
DOWN_RESTORE_ARROW
protected static final int DOWN_RESTORE_ARROW- See Also:
DOWN_HIDE_ARROW
protected static final int DOWN_HIDE_ARROW- See Also:
HIDE_ARROWS
protected static final int HIDE_ARROWS- See Also:
ARROW_TYPE_INDEX
protected static final int ARROW_TYPE_INDEX- See Also:
ARROW_DRAWN_INDEX
protected static final int ARROW_DRAWN_INDEX- See Also:
X_INDEX
protected static final int X_INDEX- See Also:
Y_INDEX
protected static final int Y_INDEX- See Also:
WIDTH_INDEX
protected static final int WIDTH_INDEX- See Also:
HEIGHT_INDEX
protected static final int HEIGHT_INDEX- See Also:
ARROW_WIDTH
protected static final int ARROW_WIDTH- See Also:
ARROW_HEIGHT
protected static final int ARROW_HEIGHT- See Also:
ARROW_MARGIN
protected static final int ARROW_MARGIN- See Also:
arrowColor
borderColor
Constructor Details
CustomSashForm
Constructor for CustomSashForm.- Parameters:
parent
-style
-
CustomSashForm
Constructor taking a custom style too. Or in the Custom style bits defined above (e.g. NO_HIDE_RIGHT,...)
Method Details
isNoHideUp
public boolean isNoHideUp()Returns thenoHideUp
setting for vertical CustomSashForm.- Returns:
- The no-hide-up flag.
isNoHideDown
public boolean isNoHideDown()Returns thenoHideDown
setting for vertical CustomSashForm.- Returns:
- The no-hide-down flag.
isNoHideLeft
public boolean isNoHideLeft()Returns thenoHideLeft
setting for horizontal CustomSashForm.- Returns:
- The no-hide-left flag.
isNoHideRight
public boolean isNoHideRight()Returns thenoHideRight
setting for horizontal CustomSashForm.- Returns:
- The no-hide-right flag.
setNoHideUp
public void setNoHideUp(boolean bHide) Sets thenoHideUp
setting for vertical CustomSashForm.- Parameters:
bHide
-
setNoHideDown
public void setNoHideDown(boolean bHide) Sets thenoHideDown
setting for vertical CustomSashForm.- Parameters:
bHide
-
setNoHideLeft
public void setNoHideLeft(boolean bHide) Sets thenoHideLeft
setting for horizontal CustomSashForm.- Parameters:
bHide
-
setNoHideRight
public void setNoHideRight(boolean bHide) Sets thenoHideRight
setting for horizontal CustomSashForm.- Parameters:
bHide
-
hideUp
public void hideUp()Call to set to hide uphideLeft
public void hideLeft()Call to set to hide lefthideDown
public void hideDown()Call to set to hide downhideRight
public void hideRight()Call to set to hide rightsetSashBorders
public void setSashBorders(boolean[] sashBorders) Set the need sash borders for the controls.layout
public void layout(boolean changed) recomputeSashInfo
protected void recomputeSashInfo()upRestoreClicked
protected void upRestoreClicked(com.iizix.swt.CustomSashForm.SashInfo sashinfo) upHideClicked
protected void upHideClicked(com.iizix.swt.CustomSashForm.SashInfo sashinfo) downRestoreClicked
protected void downRestoreClicked(com.iizix.swt.CustomSashForm.SashInfo sashinfo) isFirstSashVisible
public boolean isFirstSashVisible()Returns if the first sash part is visible.isSecondSashVisible
public boolean isSecondSashVisible()Returns if the second sash part is visible.setFirstSashVisible
public boolean setFirstSashVisible()Makes the first sash visible if it is not.- Returns:
- true for success, false for no change.
setSecondSashVisible
public boolean setSecondSashVisible()Makes the first sash visible if it is not.- Returns:
- true for success, false for no change.
downHideClicked
protected void downHideClicked(com.iizix.swt.CustomSashForm.SashInfo sashinfo) isFocusAncestorA
getNewSashArray
protected void getNewSashArray(com.iizix.swt.CustomSashForm.SashInfo sashInfo, int[] addArrowTypes, int[] drawArrowTypes) drawSashBorder
drawArrow
drawUpRestoreArrow
drawUpHideArrow
drawDownRestoreArrow
drawDownHideArrow
drawLeftRestoreArrow
drawLeftHideArrow
drawRightRestoreArrow
drawRightHideArrow
getRestoreWeight
public int getRestoreWeight()getSash
setRestoreWeight
public void setRestoreWeight(int weight) getSavedSizes
addCustomSashFormListener
Adds a custom sashform listener. This listener will be removed when this control is disposed.- Parameters:
listener
-- Since:
- 1.2.0
removeCustomSashFormListener
Removes the custom sashform listener.- Parameters:
listener
-- Since:
- 1.2.0
fireDividerMoved
protected void fireDividerMoved()setWeights
public void setWeights(int... rc) - Overrides:
setWeights
in classSashForm
getWeightsForSave
public int[] getWeightsForSave()Get heights for save. Negative value indicates it's been hidden.