---
name: "Embperl::Form::Control"
section: "3pm"
platform: "linux"
package: "libembperl-perl"
version: "2.5.0-17"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/Embperl::Form::Control"
---

# Embperl::Form::Control(3pm)

Base class for controls inside an Embperl Form

## NAME

Embperl::Form::Control - Base class for controls inside an Embperl Form

## SYNOPSIS

Do not use directly, instead derive a class

## DESCRIPTION

This class is not used directly, it is used as a base class for all controls inside an Embperl Form. It provides a set of methods that could be overwritten to customize the behaviour of your controls.

## METHODS

### new

Create a new control

### init

Init the new control

### noframe

Do not draw frame border if this is the only control

### is\_disabled

Do not display this control at all.

### is\_readonly

Could value of this control be changed ?

### label\_text

Returns the text of the label

### show

Output the control

### get\_on\_show\_code

Returns JavaScript code that should be executed when the form becomes visible

### get\_active\_id

Get the id of the value which is currently active

### form

Return the form object of this control

### show\_sub\_begin

Output begin of sub form

### show\_sub\_end

Output end of sub form

### show\_label

Output the label of the control

### show\_label\_icon

Output the icon after the label

### show\_label\_cell

Output the table cell in which the label will be displayed

Must return the columns it spans (default: 1)

### show\_control

Output the control itself

### show\_control\_readonly

Output the control itself as readonly

### show\_control\_addons

output additional things after the control

### show\_control\_cell

Output the table cell in which the control will be displayed

Gets the x position as argument

## PARAMETERS

*name*

Specifies the name of the control

*text*

Will be used as label for the control, if not given 'name' is used as default.

Normally the the name and text parameters are processed by the method `"convert_label"` of the `"Embperl::Form"` object. This method can be overwritten, to allow translation etc.

If the parameter `"showtext"` is given a true value, `"convert_label"` is not called and the text is displayed as it is.

*showtext*

Display label without passing it through `"convert_label"`. See `"text"`.

### labelnowrap

If set, the text label will not be line wrapped.

### labelclass

If set, will be used as additional CSS classes for the label text cell.

### readonly

If set, displays a readonly version of the control.

### disable

If set, the control will not be displayed at all.

### newline

If set to 1, forces a new line before the control. If set to -1, forces a new line after the control.

### width

Gives the widths of the control. The value is `"1/width"` of the the whole width of the form. So if you want to have four controls in one line set `"width"` to 4. The default value is 2.

### width\_percent

With this parameter you can also specify the width of the control in percent. This parameter take precedence over `"width"`

### default

Default value of the control

### imagedir

Basepath where to find images, in case the control uses images. Default value is /images

### trigger

When set will trigger state changes of other controls. See "state".

### state

Can be used to hide/show disable/enable the control trigger by other controls.

Checkbox define the following states:

- •

  \<id-of-checkbox\>-show

  Show control if checkbox checked

- •

  \<id-of-checkbox\>-hide

  Hide control if checkbox checked

- •

  \<id-of-checkbox\>-enable

  Enable control if checkbox checked

- •

  \<id-of-checkbox\>-disable

  Disable control if checkbox checked

## AUTHOR

G. Richter (richter at embperl dot org)

## SEE ALSO

[**perl**(1)](/perl/1.md), Embperl, Embperl::Form
