Package snap.text

Class SourceTextModel

All Implemented Interfaces:
CharSequence, Cloneable, PropChange.DoChange, CharSequenceX, XMLArchiver.Archivable
Direct Known Subclasses:
TextModelX

public class SourceTextModel extends TextModel
This TextModel subclass embeds a source text to forward all changes and to update from when needed.
  • Field Details

    • _sourceText

      protected TextModel _sourceText
  • Constructor Details

    • SourceTextModel

      public SourceTextModel()
      Constructor.
    • SourceTextModel

      public SourceTextModel(boolean isRichText)
      Constructor with option for rich text.
    • SourceTextModel

      public SourceTextModel(TextModel sourceText)
      Constructor for source text.
  • Method Details

    • getSourceText

      public TextModel getSourceText()
      Returns the source text model.
    • setSourceText

      public void setSourceText(TextModel sourceText)
      Sets the source TextModel.
    • setRichText

      public void setRichText(boolean aValue)
      Sets whether text supports multiple styles.
      Overrides:
      setRichText in class TextModel
    • setDefaultTextStyle

      public void setDefaultTextStyle(TextStyle textStyle)
      Sets the default text style.
      Overrides:
      setDefaultTextStyle in class TextModel
    • setDefaultLineStyle

      public void setDefaultLineStyle(TextLineStyle lineStyle)
      Sets the default line style.
      Overrides:
      setDefaultLineStyle in class TextModel
    • setTextModified

      public void setTextModified(boolean aValue)
      Sets whether text is modified.
      Overrides:
      setTextModified in class TextModel
    • addCharsWithStyle

      public void addCharsWithStyle(CharSequence theChars, TextStyle theStyle, int anIndex)
      Adds characters with given style to this text at given index.
      Overrides:
      addCharsWithStyle in class TextModel
    • addCharsToLine

      protected void addCharsToLine(CharSequence theChars, TextStyle theStyle, int charIndex, TextLine textLine, boolean charsHaveNewline)
      Override to do wrapping.
      Overrides:
      addCharsToLine in class TextModel
    • removeChars

      public void removeChars(int aStartCharIndex, int anEndCharIndex)
      Removes characters in given range.
      Overrides:
      removeChars in class TextModel
    • setTextStyle

      public void setTextStyle(TextStyle textStyle, int aStart, int anEnd)
      Sets the given text style for given range.
      Overrides:
      setTextStyle in class TextModel
    • setLineStyle

      public void setLineStyle(TextLineStyle aStyle, int aStart, int anEnd)
      Sets a given style to a given range.
      Overrides:
      setLineStyle in class TextModel
    • setLineStyleRich

      protected void setLineStyleRich(TextLineStyle aStyle, int aStart, int anEnd)
      Sets a given style to a given range.
      Overrides:
      setLineStyleRich in class TextModel
    • setLineStyleValueRich

      protected void setLineStyleValueRich(String aKey, Object aValue, int aStart, int anEnd)
      Sets a given style to a given range.
      Overrides:
      setLineStyleValueRich in class TextModel
    • createTokensForTextLine

      protected TextToken[] createTokensForTextLine(TextLine aTextLine)
      Creates TextTokens for a TextLine.
      Overrides:
      createTokensForTextLine in class TextModel
    • copyForRange

      public TextModel copyForRange(int aStart, int aEnd)
      Returns a copy of this text for given char range.
      Overrides:
      copyForRange in class TextModel
    • readTextFromSourceFile

      public void readTextFromSourceFile(WebFile sourceFile)
      Override to forward to SourceText.
      Overrides:
      readTextFromSourceFile in class TextModel
    • writeTextToSourceFile

      public void writeTextToSourceFile()
      Override to forward to SourceText.
      Overrides:
      writeTextToSourceFile in class TextModel
    • syncTextModelToSourceFile

      public void syncTextModelToSourceFile()
      Override to forward to SourceText.
      Overrides:
      syncTextModelToSourceFile in class TextModel
    • toXML

      public XMLElement toXML(XMLArchiver anArchiver)
      XMLArchiver.Archivable archival.
      Specified by:
      toXML in interface XMLArchiver.Archivable
      Overrides:
      toXML in class TextModel
    • reloadTextFromSourceText

      protected void reloadTextFromSourceText()
      Reloads text from SourceText.