# Ipelet Class Reference
[The Ipelet interface]

Abstract base class for Ipelets. More...

List of all members.

## Public Member Functions

- virtual ~Ipelet ()=0
- virtual int IpelibVersion () const =0
- virtual int NumFunctions () const
- virtual const char * Label () const =0
- virtual const char * SubLabel (int function) const
- virtual const char * KeySequence (int function) const
- virtual void Run (int function, IpePage *page, IpeletHelper *helper)=0
- virtual bool LockedLayerOkay (int function) const

## Detailed Description

Abstract base class for Ipelets.

## Constructor & Destructor Documentation

Ipelet::~Ipelet | ( |  | ) | `[pure virtual]`

| Pure virtual destructor.

## Member Function Documentation

virtual int Ipelet::IpelibVersion | ( |  | ) | const`[pure virtual]`

| Return the version of Ipelib the Ipelet was linked against.

int Ipelet::NumFunctions | ( |  | ) | const`[virtual]`

| Return the number of functions implemented by this Ipelet. The default implementation returns 1.

virtual const char* Ipelet::Label | ( |  | ) | const`[pure virtual]`

| Return the label of the Ipelet (to be shown in the menu).

const char * Ipelet::SubLabel | ( | int | function | ) | const`[virtual]`

| Return a label for each function implemented by this Ipelet. This is not called if NumFunctions returns 1.

const char * Ipelet::KeySequence | ( | int | function | ) | const`[virtual]`

| Return a key sequence to be used as keyboard shortcut for this ipelet. Null if no shortcut. The default implementation returns null.

virtual void Ipelet::Run | ( | int | function,
|  | IpePage * | page,
|  | IpeletHelper * | helper
| ) | `[pure virtual]`

| Run a function from the Ipelet.

bool Ipelet::LockedLayerOkay | ( | int | function | ) | const`[virtual]`

Is it okay to call this Ipelet if the current layer is locked.

It is illegal to insert objects into the current layer if that layer is locked. Many ipelets do indeed create objects in the current layer, but it's easy for an ipelet author to forget checking whether the layer is locked. This member function turns around the responsibility: when the current layer is locked, Ipe will only call an ipelet if LockedLayerOkay() returns `true`. The default implementation returns `false`, so ipelets have to deliberately override it if they want to permit being called on a locked layer.

The documentation for this class was generated from the following files:

- ipelet.h
- ipelet.cpp