TextView(3) multiline text component

Other Alias

TextComp, TextGraphic, PSText

SYNOPSIS

#include <Unidraw/Components/text.h>

DESCRIPTION

TextComp is a GraphicComp that defines a piece of multiline text. It uses a TextGraphic (a subclass of Label) to store its graphical attributes. TextView is a GraphicView for displaying the text. PSText is a PostScriptView that externalizes the subject's information in PostScript form.

TEXTCOMP PUBLIC OPERATIONS

TextComp(TextGraphic* = nil)
The constructor takes an optional TextGraphic that defines the attributes of the text.
virtual void Interpret(Command*)
virtual void Uninterpret(Command*)
TextComp redefines (Un)interpret to ignore BrushCmd and PatternCmd and to (un)interpret FontCmd.
TextGraphic* GetText()
Return the TextGraphic that defines the text component's attributes. GetText is simply a more specific form of the GetGraphic operation.

TEXTVIEW PUBLIC OPERATIONS

TextView(TextComp* = nil)
Create an TextView, optionally supplying the subject.
virtual void Interpret(Command*)
TextView interprets AlignToGridCmd to align its lower-left to the grid.
virtual Manipulator* CreateManipulator(
Viewer*, Event&, Transformer*, Tool*
)
virtual void InterpretManipulator(Manipulator*)
TextView redefines its response to manipulation with a GraphicCompTool. GraphicCompTool will let the user position and type out the component's text using TextManip. Positioning of the text will be influenced by gravity, if any. TextView also defines a response to the ReshapeTool to let the user edit the text. The subject is actually replaced (via ReplaceCmd) with a new TextComp subject positioned at the original TextComp's location but reflecting the edited text.
TextComp* GetTextComp()
Return the subject.

TEXTVIEW PROTECTED OPERATIONS

virtual boolean TextChanged()
Return whether the text in the subject is any different from that in the view.

TEXTGRAPHIC PUBLIC OPERATIONS

TextGraphic(const char*, int h, Graphic* = nil)
TextGraphic(const char*, Graphic*)
Create a TextGraphic, specifying its text, optional inter-line spacing, and optional graphic from which to obtain default graphics attributes. TextGraphic stores a copy of the given string (behavior it inherits from Label). If inter-line spacing is not specified, then lines will be separated to reflect the font height reported by PSFont.
void SetLineHeight(int)
int GetLineHeight()
Explicitly set and get the inter-line spacing.
virtual boolean operator == (TextGraphic&)
virtual boolean operator != (TextGraphic&)
Report whether the given graphic contains or does not contain an identical copy of the text in this

PSTEXT PUBLIC OPERATIONS

PSText(TextComp* = nil)
Construct a PostScript external representation of the given subject, if any.

PSTEXT PROTECTED OPERATIONS

const char* Filter(const char* string, int length)
Filter excapes embedded control or other special characters that would cause syntax errors in the PostScript output.