org.gjt.sp.jedit
Class Registers

java.lang.Object
  extended byorg.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.StringRegister 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.StringRegister, on Unix under Java 2 version 1.4, a Registers.ClipboardRegister.

Version:
$Id: Registers.java,v 1.21 2004/05/29 01:55:24 spestov Exp $
Author:
Slava Pestov, John Gellene (API documentation)

Nested Class Summary
static class Registers.ClipboardRegister
          A clipboard register.
static interface Registers.Register
          A register.
static class Registers.StringRegister
          Register that stores a string.
 
Method Summary
static void append(JEditTextArea 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(JEditTextArea textArea, char register, java.lang.String separator)
          Appends the text selected in the text area to the specified register.
static void append(JEditTextArea 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(JEditTextArea textArea, char register)
          Copies the text selected in the text area into the specified register.
static void cut(JEditTextArea textArea, char register)
          Copies the text selected in the text area into the specified register, and then removes it from the buffer.
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 java.lang.String getRegisterStatusPrompt(java.lang.String action)
          Returns the status prompt for the given register action.
static void paste(JEditTextArea textArea, char register)
          Insets the contents of the specified register into the text area.
static void paste(JEditTextArea textArea, char register, boolean vertical)
          Inserts the contents of the specified register into the text area.
static void saveRegisters()
           
static void setRegister(char name, Registers.Register newRegister)
          Sets the specified register.
static void setRegister(char name, java.lang.String value)
          Sets the specified register.
 
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(JEditTextArea 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(JEditTextArea 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(JEditTextArea 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(JEditTextArea 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(JEditTextArea 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(JEditTextArea 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(JEditTextArea 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

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

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.


getRegisterStatusPrompt

public static java.lang.String getRegisterStatusPrompt(java.lang.String action)
Returns the status prompt for the given register action. Only intended to be called from actions.xml.

Since:
jEdit 4.2pre2

getRegisterNameString

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()