Class ComboBoxEditor

All Implemented Interfaces:
InplaceEditor, Extension

@API(type=INTERNAL, src=PUBLIC) public class ComboBoxEditor extends AbstractInplaceEditor
Combo box value editor.
  • Constructor Details

    • ComboBoxEditor

      public ComboBoxEditor()
      Constructor.
  • Method Details

    • getEditorComponent

      public Object getEditorComponent(AuthorInplaceContext context, Rectangle allocation, Point mouseLocation)
      Description copied from interface: InplaceEditor
      Prepare and return the editor component.
      Parameters:
      context - The context where the editor will be used.
      allocation - The bounds where the editor will be shown. This is normally the bounds of the box in which the value being edited is rendered. If the editor requires to be presented in different bounds it should alter this parameter. The X,Y coordinates are relative to the parent in which the editor will be added.
      mouseLocation - if the editor was requested using the mouse this parameter represents the X,Y location where the event took place. It is relative to the parent in which the editor will be added. null if the editor wasn't requested through mouse interaction.

      OBS: This is the very first call received by an editor. This ensures that the editor is properly initialized for the subsequent calls (like a InplaceEditor.requestFocus() call).
      OBS: An editor implementation will have to add listeners onto itself like:
      Returns:
      The component that performs the editing. For the Standalone distribution this should be a java.awt.JComponent implementation. For the Eclipse plugin distribution, an org.eclipse.swt.widgets.Control is expected.
      See Also:
    • getComboBox

      public ro.sync.exml.editor.helpers.attributes.AttrValueComboBoxEditor getComboBox()
      Returns:
      Returns the comboBox.
    • getValue

      public Object getValue()
      Description copied from interface: InplaceEditor
      Gets the value that the user entered.
      Returns:
      The value that the user entered.
      See Also:
    • requestFocus

      public void requestFocus()
      Description copied from interface: InplaceEditor
      Requests focus inside the editing component.
      See Also:
    • stopEditing

      public void stopEditing()
      Description copied from interface: InplaceEditor
      Stops the editing and commits the current value. The editor should release any held resources and notify InplaceEditingListener.editingStopped(EditingEvent). OBS: The current value will be committed only if at least one InplaceEditingListener.editingOccured() event was issued before this moment.
      See Also:
    • commitValue

      public void commitValue()
      Description copied from interface: InplaceEditor
      Commit the given value inside the document without stopping the editing. Will only commit if a new string value is provided and only if the value that must be committed is different from the current value.
      Specified by:
      commitValue in interface InplaceEditor
      Overrides:
      commitValue in class AbstractInplaceEditor
      See Also:
    • cancelEditing

      public void cancelEditing()
      Description copied from interface: InplaceEditor
      Cancels the editing process. The editor should release any held resources and notify InplaceEditingListener.editingCanceled().
      See Also:
    • getDescription

      public String getDescription()
      Returns:
      The description of the extension.
      See Also:
    • getScrollRectangle

      public Rectangle getScrollRectangle()
      Description copied from interface: InplaceEditor
      Returns a rectangle that should be made visible after the editor is shown. The coordinate should be relative to the editor itself. The default behavior is to make the entire editor visible but if the editor is bigger than the viewport the visible part might not be the right one. For example is the editor is a text field the caret might not be visible. This is when this method is useful. The caret rectangle should be returned so that the part of the editor with the caret is presented.
      Returns:
      A rectangle to be made visible or null to make the entire editor visible.
      See Also:
    • refresh

      public void refresh(AuthorInplaceContext context)
      Description copied from interface: InplaceEditor
      While this editor is inside an editing session a document change was detected that didn't originated form this editor. In this situation it might be good for the editor to refresh the presented data.

      Currently this method is called if:
      • This editor edits an attribute and the same attribute was externally modified. In this situation is recommended for the editor to update the current value.
      Specified by:
      refresh in interface InplaceEditor
      Overrides:
      refresh in class AbstractInplaceEditor
      Parameters:
      context - An updated editing context for this editor.
      See Also:
    • insertContent

      public boolean insertContent(String content)
      Description copied from interface: InplaceEditor
      An insert text event was received by the author page and redirected to this currently active form control. The form control should insert this text as it sees fit. For example a text field might insert it at the caret position. An example when this event comes is when the user uses the Character Map Dialog to insert characters directly into a form control.
      Specified by:
      insertContent in interface InplaceEditor
      Overrides:
      insertContent in class AbstractInplaceEditor
      Parameters:
      content - Content to be inserted.
      Returns:
      true if the event was handled or false if the form control can do nothing with the string. For example a text field can insert the text inside it but a check box form control can do nothing with it. If false is returned the form control editing session will be stopped and the author page will handle the event instead.
      See Also: