Registers (jEdit API Documentation)

Package org.gjt.sp.jedit

## Class Registers

- java.lang.Object
- - org.gjt.sp.jedit.Registers

-     public class Registers
      extends java.lang.Object

  jEdit's registers are an extension of the clipboard metaphor.

  A `Registers.Register` is string of text indexed by a single character. Typically the text is taken from selected buffer text and the index character is a keyboard character selected by the user.

  This class defines a number of static methods that give each register the properties of a virtual clipboard.

  Two classes implement the `Registers.Register` interface. A `Registers.ClipboardRegister` is tied to the contents of the system clipboard. jEdit assigns a `Registers.ClipboardRegister` to the register indexed under the character `$`. A `Registers.DefaultRegister` is created for registers assigned by the user. In addition, jEdit assigns `%` to the last text segment selected in the text area. On Windows this is a `Registers.DefaultRegister`, on Unix under Java 2 version 1.4, a `Registers.ClipboardRegister`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Registers.ClipboardRegister` | A clipboard register.
    `static interface` | `Registers.Register` | A register.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `append​(TextArea textArea, char register)` | Appends the text selected in the text area to the specified register, with a newline between the old and new text.
    `static void` | `append​(TextArea textArea, char register, java.lang.String separator)` | Appends the text selected in the text area to the specified register.
    `static void` | `append​(TextArea textArea, char register, java.lang.String separator, boolean cut)` | Appends the text selected in the text area to the specified register.
    `static void` | `clearRegister​(char name)` | Sets the value of the specified register to `null`.
    `static void` | `copy​(TextArea textArea, char register)` | Copies the text selected in the text area into the specified register.
    `static void` | `cut​(TextArea textArea, char register)` | Copies the text selected in the text area into the specified register, and then removes it from the buffer.
    `protected static void` | `debugListDataFlavors​(java.awt.datatransfer.Transferable transferable)` |
    `static Registers.Register` | `getRegister​(char name)` | Returns the specified register.
    `static java.lang.String` | `getRegisterNameString()` | Returns a string of all defined registers, used by the status bar (eg, "a b $ % ^").
    `static Registers.Register[]` | `getRegisters()` | Returns an array of all available registers.
    `static boolean` | `isLoading()` |
    `static void` | `paste​(TextArea textArea, char register)` | Insets the contents of the specified register into the text area.
    `static void` | `paste​(TextArea textArea, char register, boolean vertical)` | Inserts the contents of the specified register into the text area.
    `static void` | `paste​(TextArea textArea, char register, boolean vertical, java.awt.datatransfer.DataFlavor preferredDataFlavor)` | Inserts the contents of the specified register into the text area.
    `static void` | `paste​(TextArea textArea, char register, java.awt.datatransfer.DataFlavor preferredDataFlavor)` | Insets the contents of the specified register into the text area.
    `static void` | `saveRegisters()` |
    `static void` | `setListener​(RegistersListener listener)` |
    `static void` | `setLoading​(boolean loading)` |
    `static void` | `setRegister​(char name, java.awt.datatransfer.Transferable transferable)` | Sets the specified register.
    `static void` | `setRegister​(char name, java.lang.String value)` | Sets the specified register.
    `static void` | `setRegister​(char name, Registers.Register newRegister)` | Sets the specified register.
    `static void` | `setSaver​(RegisterSaver saver)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### copy

          public static void copy​(TextArea textArea,
                                  char register)

      Copies the text selected in the text area into the specified register. This will replace the existing contents of the designated register.
      Parameters:
        `textArea` - The text area
        `register` - The register
      Since:
        jEdit 2.7pre2

    - #### cut

          public static void cut​(TextArea textArea,
                                 char register)

      Copies the text selected in the text area into the specified register, and then removes it from the buffer.
      Parameters:
        `textArea` - The text area
        `register` - The register
      Since:
        jEdit 2.7pre2

    - #### append

          public static void append​(TextArea textArea,
                                    char register)

      Appends the text selected in the text area to the specified register, with a newline between the old and new text.
      Parameters:
        `textArea` - The text area
        `register` - The register

    - #### append

          public static void append​(TextArea textArea,
                                    char register,
                                    java.lang.String separator)

      Appends the text selected in the text area to the specified register.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `separator` - The separator to insert between the old and new text

    - #### append

          public static void append​(TextArea textArea,
                                    char register,
                                    java.lang.String separator,
                                    boolean cut)

      Appends the text selected in the text area to the specified register.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `separator` - The text to insert between the old and new text
        `cut` - Should the current selection be removed?
      Since:
        jEdit 3.2pre1

    - #### paste

          public static void paste​(TextArea textArea,
                                   char register)

      Insets the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
      Since:
        jEdit 2.7pre2

    - #### paste

          public static void paste​(TextArea textArea,
                                   char register,
                                   java.awt.datatransfer.DataFlavor preferredDataFlavor)

      Insets the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `preferredDataFlavor` - the preferred dataflavor. If not available `DataFlavor.stringFlavor` will be used
      Since:
        jEdit 4.4pre1

    - #### paste

          public static void paste​(TextArea textArea,
                                   char register,
                                   boolean vertical)

      Inserts the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `vertical` - Vertical (columnar) paste
      Since:
        jEdit 4.1pre1

    - #### paste

          public static void paste​(TextArea textArea,
                                   char register,
                                   boolean vertical,
                                   java.awt.datatransfer.DataFlavor preferredDataFlavor)

      Inserts the contents of the specified register into the text area.
      Parameters:
        `textArea` - The text area
        `register` - The register
        `vertical` - Vertical (columnar) paste
        `preferredDataFlavor` - the preferred dataflavor. If not available `DataFlavor.stringFlavor` will be used
      Since:
        jEdit 4.4pre1

    - #### getRegister

          public static Registers.Register getRegister​(char name)

      Returns the specified register.
      Parameters:
        `name` - The name

    - #### setRegister

          public static void setRegister​(char name,
                                         Registers.Register newRegister)

      Sets the specified register.
      Parameters:
        `name` - The name
        `newRegister` - The new value

    - #### setRegister

          public static void setRegister​(char name,
                                         java.lang.String value)

      Sets the specified register.
      Parameters:
        `name` - The name
        `value` - The new value

    - #### setRegister

          public static void setRegister​(char name,
                                         java.awt.datatransfer.Transferable transferable)

      Sets the specified register.
      Parameters:
        `name` - The name
        `transferable` - the transferable

    - #### clearRegister

          public static void clearRegister​(char name)

      Sets the value of the specified register to `null`.
      Parameters:
        `name` - The register name

    - #### getRegisters

          public static Registers.Register[] getRegisters()

      Returns an array of all available registers. Some of the elements of this array might be `null`.

    - #### getRegisterNameString

          @Nullable
          public static java.lang.String getRegisterNameString()

      Returns a string of all defined registers, used by the status bar (eg, "a b $ % ^").
      Since:
        jEdit 4.2pre2

    - #### saveRegisters

          public static void saveRegisters()

    - #### setListener

          public static void setListener​(RegistersListener listener)

    - #### setSaver

          public static void setSaver​(RegisterSaver saver)

    - #### isLoading

          public static boolean isLoading()

    - #### setLoading

          public static void setLoading​(boolean loading)

    - #### debugListDataFlavors

          protected static void debugListDataFlavors​(java.awt.datatransfer.Transferable transferable)