Class ButtonInput

java.lang.Object
de.willuhn.jameica.gui.input.AbstractInput
de.willuhn.jameica.gui.input.ButtonInput
All Implemented Interfaces:
Input, Part
Direct Known Subclasses:
ColorInput, DialogInput, DirectoryInput, FileInput, FontInput

public abstract class ButtonInput extends AbstractInput
Eingabefeld, welches jedoch noch einen Button hinten dran besitzt.
Author:
willuhn
  • Field Details

    • clientControl

      protected org.eclipse.swt.widgets.Control clientControl
    • value

      protected String value
    • clientControlEnabled

      protected boolean clientControlEnabled
    • buttonEnabled

      protected boolean buttonEnabled
  • Constructor Details

    • ButtonInput

      public ButtonInput()
  • Method Details

    • getClientControl

      public abstract org.eclipse.swt.widgets.Control getClientControl(org.eclipse.swt.widgets.Composite parent)
      Liefert das einzubettende Eingabefeld.
      Parameters:
      parent - Composite, in dem sich das ClientControl malen soll.
      Returns:
      das fertig gemalte Control.
    • getControl

      public final org.eclipse.swt.widgets.Control getControl()
      Description copied from interface: Input
      Liefert das eigentliche Eingabecontrol. Es muss von jeder abgeleiteten Klasse implementiert werden und das Eingabe-Feld zurueckliefern.

      Da der Implementierer das Composite benoetigt, in dem das Control positioniert werden soll, kann er sich der Methode AbstractInput.getParent() in dieser Klasse bedienen.

      Returns:
      das zu zeichnende Control.
    • setButtonText

      public final void setButtonText(String text)
      Definiert den auf dem Button anzuzeigenden Text.

      Leider kann auf dem Button nicht Image und Text angezeigt werden. Wenn also sowohl setButtonText(String) und setButtonImage(Image) gesetzt werden, wird nur das Image angezeigt.

      Wird nichts von beiden gesetzt, wird ein Image mit einer Lupe angezeigt.

      Parameters:
      text - auf dem Button anzuzeigender Text.
    • setButtonImage

      public final void setButtonImage(org.eclipse.swt.graphics.Image image)
      Definiert das auf dem Button anzuzeigende Image.
      Parameters:
      image - anzuzeigendes Image.
    • addButtonListener

      protected final void addButtonListener(org.eclipse.swt.widgets.Listener l)
      Fuegt zum Button einen Listener hinzu.
      Parameters:
      l - Listener.
    • focus

      public final void focus()
      Description copied from interface: Input
      Gibt diesem Eingabefeld den Focus.
    • disable

      public final void disable()
      Description copied from interface: Input
      Deaktiviert das Eingabefeld.
    • enable

      public final void enable()
      Description copied from interface: Input
      Aktiviert das Eingabefeld.
    • setEnabled

      public void setEnabled(boolean enabled)
      Description copied from interface: Input
      Aktiviert oder deaktiviert das Eingabe-Feld.
      Parameters:
      enabled - true, wenn es aktiv sein soll.
    • enableClientControl

      public final void enableClientControl()
      Aktiviert nur das ClientControl.
    • enableButton

      public final void enableButton()
      Aktiviert nur den Button.
    • disableClientControl

      public final void disableClientControl()
      Deaktiviert nur das ClientControl.
    • disableButton

      public final void disableButton()
      Deaktiviert nur den Button.
    • isEnabled

      public boolean isEnabled()
      Description copied from interface: Input
      Prueft, ob das Eingabe-Feld aktiv ist.
      Returns:
      true, wenn es aktiv ist.
    • update

      protected void update() throws OperationCanceledException
      Description copied from class: AbstractInput
      Wird immer dann aufgerufen, wenn eines der Controls des Eingabe-Feldes aktualisiert wird. Hier kann dann z.Bsp. geprueft werden, ob der Inhalt des Feldes korrekt ist und ggf. die Hintergrund-Farbe angepasst werden.
      Overrides:
      update in class AbstractInput
      Throws:
      OperationCanceledException