GimpChainButton

GimpChainButton — Widget to visually connect two entry widgets.

Functions

Properties

gboolean active Read / Write / Construct
GtkIconSize icon-size Read / Write / Construct
GimpChainPosition position Read / Write / Construct Only

Signals

void toggled Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkObject
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkTable
                        ╰── GimpChainButton

Implemented Interfaces

GimpChainButton implements AtkImplementorIface and GtkBuildable.

Description

This widget provides a button showing either a linked or a broken chain that can be used to link two entries, spinbuttons, colors or other GUI elements and show that they may be locked. Use it for example to connect X and Y ratios to provide the possibility of a constrained aspect ratio.

The GimpChainButton only gives visual feedback, it does not really connect widgets. You have to take care of locking the values yourself by checking the state of the GimpChainButton whenever a value changes in one of the connected widgets and adjusting the other value if necessary.

Functions

gimp_chain_button_new ()

GtkWidget *
gimp_chain_button_new (GimpChainPosition position);

Creates a new GimpChainButton widget.

This returns a button showing either a broken or a linked chain and small clamps attached to both sides that visually group the two widgets you want to connect. This widget looks best when attached to a table taking up two columns (or rows respectively) next to the widgets that it is supposed to connect. It may work for more than two widgets, but the look is optimized for two.

Parameters

position

The position you are going to use for the button with respect to the widgets you want to chain.

 

Returns

Pointer to the new GimpChainButton, which is inactive by default. Use gimp_chain_button_set_active() to change its state.


gimp_chain_button_get_icon_size ()

GtkIconSize
gimp_chain_button_get_icon_size (GimpChainButton *button);

Gets the icon size of the GimpChainButton.

Parameters

button

Pointer to a GimpChainButton.

 

Returns

The icon size.

Since: 2.10.10


gimp_chain_button_set_icon_size ()

void
gimp_chain_button_set_icon_size (GimpChainButton *button,
                                 GtkIconSize size);

Sets the icon size of the GimpChainButton.

Parameters

button

Pointer to a GimpChainButton.

 

size

The new icon size.

 

Since: 2.10.10


gimp_chain_button_set_active ()

void
gimp_chain_button_set_active (GimpChainButton *button,
                              gboolean active);

Sets the state of the GimpChainButton to be either locked (TRUE) or unlocked (FALSE) and changes the showed pixmap to reflect the new state.

Parameters

button

Pointer to a GimpChainButton.

 

active

The new state.

 

gimp_chain_button_get_active ()

gboolean
gimp_chain_button_get_active (GimpChainButton *button);

Checks the state of the GimpChainButton.

Parameters

button

Pointer to a GimpChainButton.

 

Returns

TRUE if the GimpChainButton is active (locked).

Types and Values

GimpChainButton

typedef struct _GimpChainButton GimpChainButton;

enum GimpChainPosition

Possible chain positions for GimpChainButton.

Members

GIMP_CHAIN_TOP

the chain is on top

 

GIMP_CHAIN_LEFT

the chain is to the left

 

GIMP_CHAIN_BOTTOM

the chain is on bottom

 

GIMP_CHAIN_RIGHT

the chain is to the right

 

Property Details

The “active” property

  “active”                   gboolean

The toggled state of the chain button.

Owner: GimpChainButton

Flags: Read / Write / Construct

Default value: FALSE

Since: 2.10.10


The “icon-size” property

  “icon-size”                GtkIconSize

The chain button icon size.

Owner: GimpChainButton

Flags: Read / Write / Construct

Default value: GTK_ICON_SIZE_BUTTON

Since: 2.10.10


The “position” property

  “position”                 GimpChainPosition

The position in which the chain button will be used.

Owner: GimpChainButton

Flags: Read / Write / Construct Only

Default value: GIMP_CHAIN_TOP

Since: 2.4

Signal Details

The “toggled” signal

void
user_function (GimpChainButton *gimpchainbutton,
               gpointer         user_data)

Flags: Run First

See Also

You may want to use the convenience function gimp_coordinates_new() to set up two GimpSizeEntries (see GimpSizeEntry) linked with a GimpChainButton.