TextComp3
Multiline text component subject, view, structured graphic, and postscript external representation
Usage
#include <Unidraw/Components/text.h>
Overview
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.
Releases
Unchanged in 2 releases since Debian 2.2 (Potato).