[scriptable, uuid(b5c3ffc4-f48a-4f25-86e1-4cf79db1bcbb)]
interface nsISelectionController : nsISelectionDisplay

Constants


          
const short SELECTION_NONE = 0

          
const short SELECTION_NORMAL = 1

          
const short SELECTION_SPELLCHECK = 2

          
const short SELECTION_IME_RAWINPUT = 4

          
const short SELECTION_IME_SELECTEDRAWTEXT = 8

          
const short SELECTION_IME_CONVERTEDTEXT = 16

          
const short SELECTION_IME_SELECTEDCONVERTEDTEXT = 32

          
const short SELECTION_ACCESSIBILITY = 64

          
const short SELECTION_FIND = 128

          
const short NUM_SELECTIONTYPES = 9

          
const short SELECTION_ANCHOR_REGION = 0

          
const short SELECTION_FOCUS_REGION = 1

          
const short NUM_SELECTION_REGIONS = 2

          
const short SELECTION_OFF = 0

          
const short SELECTION_HIDDEN = 1

          
const short SELECTION_ON = 2

          
const short SELECTION_DISABLED = 3

          
const short SELECTION_ATTENTION = 4

Attributes

 This is true if the caret is enabled, visible, and currently blinking.
 This is still true when the caret is enabled, visible, but in its "off"
 blink cycle.
readonly attribute boolean caretVisible

Methods

 CharacterExtendForDelete will extend the selection one character cell
 forward in the document.
 this method is used internally for handling del key.
[noscript] void characterExtendForDelete()
 CharacterMove will move the selection one character forward/backward in the document.
  this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
  the "point" of selection that is extended is considered the "focus" point. 
  or the last point adjusted by the selection.
  @param aForward forward or backward if PR_FALSE
  @param aExtend  should it collapse the selection of extend it?
void characterMove(in boolean forward, in boolean extend)
 CheckVisibility will return true if textnode and offsets are actually rendered 
  in the current precontext.
  @param aNode textNode to test
  @param aStartOffset  offset in dom to first char of textnode to test
  @param aEndOffset    offset in dom to last char of textnode to test
  @param aReturnBool   boolean returned TRUE if visible FALSE if not
boolean checkVisibility(in nsIDOMNode node, in short startOffset, in short endOffset)
 CompleteMove will move page view to the top or bottom of the document
  this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
  the "point" of selection that is extended is considered the "focus" point. 
  or the last point adjusted by the selection.
  @param aForward forward or backward if PR_FALSE
  @param aExtend  should it collapse the selection of extend it?
void completeMove(in boolean forward, in boolean extend)
 CompleteScroll will move page view to the top or bottom of the document
  @param aForward forward or backward if PR_FALSE
void completeScroll(in boolean forward)
 Gets the current state of the caret.
 @param aEnabled  [OUT] set to the current caret state, as set by SetCaretEnabled
 @return   if aOutEnabled==null, returns NS_ERROR_INVALID_ARG
           else NS_OK
boolean getCaretEnabled()
 GetDisplaySelection will get the display mode for the selection. OFF,ON,DISABLED
short getDisplaySelection()
 GetSelection will return the selection that the presentation
  shell may implement.

 @param aType will hold the type of selection //SelectionType
 @param _return will hold the return value
nsISelection getSelection(in short type)
 IntraLineMove will move the selection to the front of the line or end of the line
  in the document.
  this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
  the "point" of selection that is extended is considered the "focus" point. 
  or the last point adjusted by the selection.
  @param aForward forward or backward if PR_FALSE
  @param aExtend  should it collapse the selection of extend it?
void intraLineMove(in boolean forward, in boolean extend)
 LineMove will move the selection one line forward/backward in the document.
  this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
  the "point" of selection that is extended is considered the "focus" point. 
  or the last point adjusted by the selection.
  @param aForward forward or backward if PR_FALSE
  @param aExtend  should it collapse the selection of extend it?
void lineMove(in boolean forward, in boolean extend)
 PageMove will move the selection one page forward/backward in the document.
  this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
  the "point" of selection that is extended is considered the "focus" point. 
  or the last point adjusted by the selection.
  @param aForward forward or backward if PR_FALSE
  @param aExtend  should it collapse the selection of extend it?
void pageMove(in boolean forward, in boolean extend)
 RepaintSelection repaints the selection specified by aType.

 @param aType specifies the selection to repaint.
void repaintSelection(in short type)
 ScrolHorizontal will scroll left or right dependent on the boolean
  @param aLeft if true will scroll left. if not will scroll right.
void scrollHorizontal(in boolean left)
 ScrolLine will scroll line up or down dependent on the boolean
  @param aForward scroll forward or backwards in selection
void scrollLine(in boolean forward)
 ScrollPage will scroll the page without affecting the selection.
  @param aForward scroll forward or backwards in selection
void scrollPage(in boolean forward)
 ScrollSelectionIntoView scrolls a region of the selection,
 so that it is visible in the scrolled view.

 @param aType the selection to scroll into view. //SelectionType
 @param aRegion the region inside the selection to scroll into view. //SelectionRegion
 @param aIsSynchronous when true, scrolls the selection into view
 before returning. If false, posts a request which is processed
 at some point after the method returns.

 Note that if isSynchronous is true, then this might flush the pending
 reflow. It's dangerous for some objects. See bug 418470 comment 12.
void scrollSelectionIntoView(in short type, in short region, in boolean isSynchronous)
 SelectAll will select the whole page
void selectAll()
 Set the caret as enabled or disabled. An enabled caret will
 draw or blink when made visible. A disabled caret will never show up.
 Can be called any time.
 @param aEnable PR_TRUE to enable caret.  PR_FALSE to disable.
 @return always NS_OK
void setCaretEnabled(in boolean enabled)
 Set the caret readonly or not. An readonly caret will
 draw but not blink when made visible. 
 @param aReadOnly PR_TRUE to enable caret.  PR_FALSE to disable.
 @return always NS_OK
void setCaretReadOnly(in boolean readOnly)
 Show the caret even in selections. By default the caret is hidden unless the
 selection is collapsed. Use this function to show the caret even in selections.
 @param aVisibility PR_TRUE to show the caret in selections.  PR_FALSE to hide.
 @return always NS_OK
void setCaretVisibilityDuringSelection(in boolean visibility)
 SetDisplaySelection will set the display mode for the selection. OFF,ON,DISABLED
void setDisplaySelection(in short toggle)
 wordExtendForDelete will extend the selection one word forward/backward in the document.
  this method is used internally for handling ctrl[option]-backspace and ctrl[option]-del.
  @param aForward forward or backward if PR_FALSE
[noscript] void wordExtendForDelete(in boolean forward)
 WordMove will move the selection one word forward/backward in the document.
  this will also have the effect of collapsing the selection if the aExtend = PR_FALSE
  the "point" of selection that is extended is considered the "focus" point. 
  or the last point adjusted by the selection.
  @param aForward forward or backward if PR_FALSE
  @param aExtend  should it collapse the selection of extend it?
void wordMove(in boolean forward, in boolean extend)