Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

graphiccomptool(3u) [bsd man page]

GraphicCompTool(3U)					    InterViews Reference Manual 				       GraphicCompTool(3U)

NAME
GraphicCompTool - tool for instantiating graphical components SYNOPSIS
#include <Unidraw/Tools/grcomptool.h> DESCRIPTION
A GraphicCompTool lets the user instantiate graphical components by direct manipulation. The GraphicCompTool keeps a prototypical compo- nent that defines the type of component it can instantiate. PUBLIC OPERATIONS
GraphicCompTool(ControlInfo*, GraphicComp* prototype) GraphicCompTool() Create a new GraphicCompTool, supplying the prototypical GraphicComp. (You should not normally call the parameterless constructor, which Creator requires.) The first constructor creates a graphical view of the prototype for internal use. virtual Manipulator* CreateManipulator( Viewer*, Event&, Transformer* ) virtual void InterpretManipulator(Manipulator*) CreateManipulator clears the editor's selection and delegates manipulator creation and interpretation to the graphical view of the prototype. GraphicComp* GetPrototype() Return the prototypical GraphicComp. SEE ALSO
GraphicComp(3U), Tool(3U) Unidraw 24 January 1991 GraphicCompTool(3U)

Check Out this Related Man Page

LinkComp(3U)						    InterViews Reference Manual 					      LinkComp(3U)

NAME
LinkComp, LinkView, PSLink - component subject, view, and PostScript external representation for lines with connectable endpoints SYNOPSIS
#include <Unidraw/Components/link.h> DESCRIPTION
LinkComp is a GraphicComp defining a line with two pins on each end. The line's endpoints will always coincide with the pins, even if they are moved, thereby maintaining a graphical link between the objects to which it is connected. LinkComp uses an Line graphic to define its initial geometry and graphical attributes. LinkView is a GraphicView for displaying the link. PSLink is a PostScriptView that external- izes the subject's information in PostScript form. LINKCOMP PUBLIC OPERATIONS
LinkComp(Line* = nil) The constructor takes an optional line graphic to define its initial appearance. virtual void Interpret(Command*) virtual void Uninterpret(Command*) In addition to (un)interpreting the commands GraphicComp (un)interprets, LinkComp also (un)interprets DeleteCmd and CutCmd by pass- ing these commands to its pins for (un)interpretation. virtual void Update() When the LinkComp's pins move to maintain connectivity, LinkComp will reorient the line so that its endpoints and the pins coincide. virtual void First(Iterator&) virtual void Last(Iterator&) virtual void Next(Iterator&) virtual void Prev(Iterator&) virtual boolean Done(Iterator) GraphicComp* GetComp(Iterator) void SetComp(GraphicComp*, Iterator&) LinkComp redefines GraphicComp's traversal operations to make its pins accessible to the Unidraw library. Thus Unidraw can deter- mine the connectors that belong to the component and call its Update operation only once for efficiency. The traversal does not include the line. Line* GetLine() Return the Line graphic that defines the link's attributes. GetLine is simply a more specific form of the GetGraphic operation. void GetConnectors(Connector*&, Connector*&) Return the LinkView's pins, which are stored in the _conn1 and _conn2 protected members. LINKVIEW PUBLIC OPERATIONS
LinkView(LinkComp* = nil) Create an LinkView, optionally supplying the subject. virtual Manipulator* CreateManipulator( Viewer*, Event&, Transformer*, Tool* ) virtual void InterpretManipulator(Manipulator*) LinkView redefines its response to manipulation with a GraphicCompTool. The user clicks to specify the first endpoint of the link and then drags to position the remaining endpoint. (Up)clicking on an existing connector will establish a connection between it and the LinkComp's first (second) pin. LinkView uses a ConnectManip to produce a gravitational attraction between existing connectors and the second pin as the user drags to position it. The endpoints will not be constrained by gravity. LinkView will use Con- nectCmds to connect the pin(s) to their target(s). Pin(s) connected in this way will receive floating mobility; unconnected pin(s) will be fixed. virtual void First(Iterator&) virtual void Last(Iterator&) virtual void Next(Iterator&) virtual void Prev(Iterator&) virtual boolean Done(Iterator) GraphicView* GetView(Iterator) void SetView(GraphicView*, Iterator&) LinkView redefines GraphicView's traversal operations to make its pins accessible to the Unidraw library. Thus Unidraw can deter- mine the connectors that belong to the component, for example, to support ConnectManip's gravitational attraction effect. virtual void GetEndpoints(Coord&, Coord&, Coord&, Coord&) Return the link's endpoints, in canvas coordinates. LinkComp* GetLinkComp() Return the subject. LINKVIEW PROTECTED OPERATIONS
virtual void CreateHandles() LinkView redefines CreateHandles to use a RubberHandles object with two handles, one at each endpoint of the link. Line* GetLine() Return the line that LinkView draws between its pins. virtual LinkComp* NewSubject(Line*) A helper function that creates a LinkComp subject with the given line graphic. This function produces the proper subject when the GraphicCompTool's manipulator is interpreted. Subclasses can redefine this operation to return a LinkComp subclass, thus eliminat- ing the need to reimplement InterpretManipulator. Manipulator* CreateLinkCompManip( Viewer*, Event&, Transformer*, Tool* ) Command* InterpretLinkCompManip(Manipulator*) Helper functions that CreateManipulator and InterpretManipulator use to create and interpret the manipulator for GraphicCompTool. PSLINK PUBLIC OPERATIONS
PSLink(LinkComp* = nil) Construct a PostScript external representation of the given subject, if any. SEE ALSO
Event(3I), Graphic(3U), GraphicComp(3U), GraphicCompTool(3U), GraphicView(3U), Grid(3U), PinComp(3U), PostScriptView(3U), Transformer(3I), align(3U), edit(3U), manips(3U) Unidraw 22 January 1991 LinkComp(3U)
Man Page