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.

RELATED TO TextComp…

FontCmd(3U), GraphicComp(3U), GraphicCompTool(3U), GraphicView(3U), Grid(3U), Label(3U), PostScriptView(3U), ReshapeTool(3U), align(3U), edit(3U), manips(3U), pspaint(3U)