Package com.iizix.swt

Class CustomSashForm

All Implemented Interfaces:
Drawable
Direct Known Subclasses:
TablePanel

public class CustomSashForm extends SashForm
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.
  • Field Details

    • NO_HIDE_LEFT

      public static final int NO_HIDE_LEFT
      Custom 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_UP
      Custom 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_RIGHT
      Custom 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_DOWN
      Custom 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

      protected final ApplicationUI appUI
    • currentSashInfo

      protected com.iizix.swt.CustomSashForm.SashInfo currentSashInfo
    • inMouseClick

      protected boolean inMouseClick
    • sashBorders

      protected boolean[] sashBorders
    • noHideUp

      protected boolean noHideUp
    • noHideDown

      protected boolean noHideDown
    • customSashFormListeners

      protected List<CustomSashForm.ICustomSashFormListener> customSashFormListeners
    • 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

      protected Color arrowColor
    • borderColor

      protected Color borderColor
  • Constructor Details

    • CustomSashForm

      public CustomSashForm(Composite parent, int style)
      Constructor for CustomSashForm.
      Parameters:
      parent -
      style -
    • CustomSashForm

      public CustomSashForm(Composite parent, int style, int customStyle)
      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 the noHideUp setting for vertical CustomSashForm.
      Returns:
      The no-hide-up flag.
    • isNoHideDown

      public boolean isNoHideDown()
      Returns the noHideDown setting for vertical CustomSashForm.
      Returns:
      The no-hide-down flag.
    • isNoHideLeft

      public boolean isNoHideLeft()
      Returns the noHideLeft setting for horizontal CustomSashForm.
      Returns:
      The no-hide-left flag.
    • isNoHideRight

      public boolean isNoHideRight()
      Returns the noHideRight setting for horizontal CustomSashForm.
      Returns:
      The no-hide-right flag.
    • setNoHideUp

      public void setNoHideUp(boolean bHide)
      Sets the noHideUp setting for vertical CustomSashForm.
      Parameters:
      bHide -
    • setNoHideDown

      public void setNoHideDown(boolean bHide)
      Sets the noHideDown setting for vertical CustomSashForm.
      Parameters:
      bHide -
    • setNoHideLeft

      public void setNoHideLeft(boolean bHide)
      Sets the noHideLeft setting for horizontal CustomSashForm.
      Parameters:
      bHide -
    • setNoHideRight

      public void setNoHideRight(boolean bHide)
      Sets the noHideRight setting for horizontal CustomSashForm.
      Parameters:
      bHide -
    • hideUp

      public void hideUp()
      Call to set to hide up
    • hideLeft

      public void hideLeft()
      Call to set to hide left
    • hideDown

      public void hideDown()
      Call to set to hide down
    • hideRight

      public void hideRight()
      Call to set to hide right
    • setSashBorders

      public void setSashBorders(boolean[] sashBorders)
      Set the need sash borders for the controls.
    • layout

      public void layout(boolean changed)
      Overrides:
      layout in class Composite
      See Also:
    • 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

      protected boolean isFocusAncestorA(Control control)
    • getNewSashArray

      protected void getNewSashArray(com.iizix.swt.CustomSashForm.SashInfo sashInfo, int[] addArrowTypes, int[] drawArrowTypes)
    • drawSashBorder

      protected void drawSashBorder(GC gc, Sash sash, boolean leftBorder)
    • drawArrow

      protected void drawArrow(GC gc, int[] sashLoc, boolean selected)
    • drawUpRestoreArrow

      protected void drawUpRestoreArrow(GC gc, int x, int y)
    • drawUpHideArrow

      protected void drawUpHideArrow(GC gc, int x, int y)
    • drawDownRestoreArrow

      protected void drawDownRestoreArrow(GC gc, int x, int y)
    • drawDownHideArrow

      protected void drawDownHideArrow(GC gc, int x, int y)
    • drawLeftRestoreArrow

      protected void drawLeftRestoreArrow(GC gc, int x, int y)
    • drawLeftHideArrow

      protected void drawLeftHideArrow(GC gc, int x, int y)
    • drawRightRestoreArrow

      protected void drawRightRestoreArrow(GC gc, int x, int y)
    • drawRightHideArrow

      protected void drawRightHideArrow(GC gc, int x, int y)
    • getRestoreWeight

      public int getRestoreWeight()
    • getSash

      protected Sash getSash()
    • setRestoreWeight

      public void setRestoreWeight(int weight)
    • getSavedSizes

      public Point[] getSavedSizes()
    • addCustomSashFormListener

      public void addCustomSashFormListener(CustomSashForm.ICustomSashFormListener listener)
      Adds a custom sashform listener. This listener will be removed when this control is disposed.
      Parameters:
      listener -
      Since:
      1.2.0
    • removeCustomSashFormListener

      public void removeCustomSashFormListener(CustomSashForm.ICustomSashFormListener listener)
      Removes the custom sashform listener.
      Parameters:
      listener -
      Since:
      1.2.0
    • fireDividerMoved

      protected void fireDividerMoved()
    • setWeights

      public void setWeights(int... rc)
      Overrides:
      setWeights in class SashForm
    • getWeightsForSave

      public int[] getWeightsForSave()
      Get heights for save. Negative value indicates it's been hidden.