---
name: "PadComp"
section: "3"
platform: "linux"
package: "ivtools-dev"
version: "1.1.3-4"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/PadComp"
---

# PadComp(3)

pad connector subject, view, structured graphic, and PostScript external representation

## NAME

PadComp, PadView, PadGraphic, PSPad - pad connector subject, view, structured graphic, and PostScript external representation

## SYNOPSIS

**#include \<Unidraw/Components/pad.h\>**

## DESCRIPTION

PadComp is a Connector subclass that supports connectivity with two degrees of freedom.  It uses a PadGraphic to store its graphical attributes.  PadView is a GraphicView for displaying the pad.  PSPad is a PostScriptView that externalizes the subject's information in PostScript form.

## PADCOMP PUBLIC OPERATIONS

- **PadComp(PadGraphic\* = nil)**

  The constructor takes an optional PadGraphic that defines the pad's graphical attributes.

- **virtual void Interpret(Command\*)**

  - **virtual void Uninterpret(Command\*)**

  PadComp (un)interprets a subset of commands that connectors can generally interpret, namely MoveCmd, BrushCmd, AlignCmd, MobilityCmd, DeleteCmd, and CutCmd.

- **virtual Mobility GetMobility()**

  - **virtual void SetMobility(Mobility)**

  PadComp redefines these functions to return and assign its *\_mobility* protected member.  The pad has fixed mobility initially.

- **Pad\* GetPad()**

  Return the Pad graphic that defines the line's attributes.  GetPad is simply a more specific form of the GetGraphic operation.

## PADVIEW PUBLIC OPERATIONS

- **PadView(PadComp\* = nil)**

  Create an PadView, optionally supplying the subject.

- **virtual void Interpret(Command\*)**

  PadView interprets AlignToGridCmd to align its lower left to the grid.

- **virtual Manipulator\* CreateManipulator(**

  - **Viewer\*, Event&, Transformer\*, Tool\***

  - **)**

  - **virtual void InterpretManipulator(Manipulator\*)**

  PadViews respond only to manipulation by GraphicCompTools, MoveTools, and ConnectTools. PadView inherits its MoveTool response from ConnectorView.  GraphicCompTool will let the user sweep out a rectangle that reflects the pad's size.  Creation will be influenced by gravity, if any. PadView creates a ConnectManip in response to the ConnectTool, which will exhibit a gravational attraction to potential target connectors.  PadView will produce a ConnectCmd to connect the pad to its target. A pad connected in this way will receive floating mobility.

- **PadComp\* GetPadComp()**

  Return the subject.

## PADVIEW PROTECTED OPERATIONS

- **PadGraphic\* GetPad()**

  Return the PadGraphic that defines the pad's attributes.  GetPad is simply a more specific form of the GetGraphic operation.

- **virtual PadComp\* NewSubject(PadGraphic\*)**

  A helper function that creates a PadComp subject with the given pad graphic. This function produces the proper subject when the GraphicCompTool's manipulator is interpreted.  Subclasses can redefine this operation to return a PadComp subclass, thus eliminating the need to reimplement InterpretManipulator.

- **Manipulator\* CreateGraphicCompManip(**

  - **Viewer\*, Event&, Transformer\*, Tool\***

  - **)**

  - **Manipulator\* CreateConnectManip(**

  - **Viewer\*, Event&, Transformer\*, Tool\***

  - **)**

  - **Command\* InterpretGraphicCompManip(Manipulator\*)**

  - **Command\* InterpretConnectManip(Manipulator\*)**

  Helper functions used by CreateManipulator and InterpretManipulator to create and interpret the manipulators associated with GraphicCompTool and ConnectTool.

## PADGRAPHIC PUBLIC OPERATIONS

- **PadGraphic(**

  - **Coord = 0, Coord = 0, Coord = 0, Coord = 0,**

  - **Graphic\* = nil**

  - **)**

  Create a PadGraphic, optionally specifying lower-left and upper-right corners and a graphic from which to obtain its default graphics attributes.

- **void GetOriginal(Coord&, Coord&, Coord&, Coord&)**

  Return the PadGraphic's original coordinates as specified in the constructor.

## PSPAD PUBLIC OPERATIONS

- **PSPad(PadComp\* = nil)**

  Construct a PostScript external representation of the given subject, if any.

## SEE ALSO

BrushCmd(3U), ConnectTool(3U), Connector(3U), ConnectorView3U), Event(3I), Graphic(3U), GraphicCompTool(3U), Grid(3U), MoveTool(3U), PatternCmd(3U), PostScriptView(3U), Transformer(3I), Viewer(3U), align(3U), edit(3U), manips(3U), transforms(3U)
