Class TextSelectionTool

java.lang.Object
com.levigo.jadice.web.client.tool.Tool
com.levigo.jadice.web.client.tools.TextSelectionTool
All Implemented Interfaces:
MenuContributor

public final class TextSelectionTool extends Tool
  • Field Details

  • Constructor Details

    • TextSelectionTool

      public TextSelectionTool()
  • Method Details

    • getPageView

      protected com.levigo.jadice.web.client.viewer.internal.BasicPageView getPageView()
    • repaint

      protected void repaint()
    • getSelections

      public List<? extends Selection> getSelections()
      Returns:
      The list of selections. The size of the list is the amount of pages lying within the selection.
    • getActivationFeedback

      protected Tool.ActivationRequest getActivationFeedback(MouseEditEvent e)
      Description copied from class: Tool
      Provide feedback for the user about what would happen, if the mouse were pressed at the current location. This method is called while handling MouseMoveEvents. If this method returns null no feedback is provided at all. The activation request returned from this method is the same object that is used during Tool.getActivationRequestForKeyPressed(KeyEditEvent) to signal the auto-activation candidacy. This method should only return an activation request if it will actually candidate for auto-activation later on using Tool.getActivationRequestForMousePressed(MouseEditEvent) or Tool.getActivationRequestForMouseDragged(MouseEditEvent).
      Overrides:
      getActivationFeedback in class Tool
      Parameters:
      e - the MouseEditEvent
      Returns:
      the Tool.ActivationRequest
    • setManager

      protected void setManager(ToolManager manager)
      Description copied from class: Tool
      Receives the ToolManager instance, which the Tool implementation has been registered for. If the Tool is deregistered this method will be called with null.
      Overrides:
      setManager in class Tool
      Parameters:
      manager - the ToolManager
    • render

      protected void render(RenderParameters parameters, boolean isActive)
      Description copied from class: Tool
      Renders the Tool's UI onto the given Graphics2D context using the given RenderControls.

      This render method is called within the context and during the rendering of a single page. The page being rendered is passed to implementors of this method in order to be able to control and influence the page rendering.

      Overrides:
      render in class Tool
      Parameters:
      parameters - the view component which is currently being rendered
      isActive - whether the called tool is currently active
    • handleMousePressed

      protected void handleMousePressed(MouseEditEvent e, boolean isActive)
      If a correct Text Selection is detected, create a SelectTextGesture. When this gesture is stopped by releasing the left mouse button, the selected text can be copied, but not before. As fix for the problem described in JWT-501 and JSX-2139, before creating the gesture set the focus on the body-element of the whole page (not only some embedded iframe). This needs to be done so IE11 (and possible other browsers) loose the focus on the address bar, as otherwise the content of the address bar will be copied instead of the selected text.
      Overrides:
      handleMousePressed in class Tool
      Parameters:
      e - the event
      isActive - whether this tool is currently active
    • copySelectedText

      protected void copySelectedText(List<Selection> selections)
      Copy the selected text to the Clipboard so that one can paste it later on into some target application.
      Parameters:
      selections - containing selected text elements.
    • handleMouseReleased

      protected void handleMouseReleased(MouseEditEvent e, boolean isActive)
      Description copied from class: Tool
      Invoked when a mouse button has been released on a component.
      Overrides:
      handleMouseReleased in class Tool
      Parameters:
      e - the event
      isActive - whether this tool is currently active
    • clearSelection

      public void clearSelection()
      Remove previously selected items from the Clipboard.
    • setHighlightTool

      public void setHighlightTool(Class<? extends HighlightTool> highlightTool)
      Overwrite the used HighlightTool. This is for testing only.
      Parameters:
      highlightTool - the Class to use
    • getHighlightTool

      protected HighlightTool getHighlightTool()
    • setActive

      protected void setActive(boolean active)
      Description copied from class: Tool
      Receive notification from the tool manager about the tool's active state.
      Overrides:
      setActive in class Tool
      Parameters:
      active - controls whether to activate or deactivate this Tool
    • setEnabled

      protected void setEnabled(boolean enabled)
      Description copied from class: Tool
      Receive notification from the tool manager about the tool's enabled state. In general, tools need not and should not try to implement different behaviour depending on the enabled state, as this is already covered by the ToolManager calling the Tool.handleEditEvent(boolean, EditEvent) and Tool.render(RenderParameters, boolean) in the appropriate state only. However, some tools may need to perform extended actions (for example, for resource management purposes) upon a change of the enabled state.
      Overrides:
      setEnabled in class Tool
      Parameters:
      enabled - controls whether to enable or disable this Tool
    • contribute

      public void contribute(ContributionContext context, MenuBuilder menuBuilder)
      Description copied from interface: MenuContributor
      This method is called in order to give the menu contributor a chance to contribute context menu entries via the supplied MenuBuilder.
      Specified by:
      contribute in interface MenuContributor
      Overrides:
      contribute in class Tool
      Parameters:
      context - the ContributionContext which provides contribution context informations
      menuBuilder - the MenuBuilder to which the tool may contribute entries.