## XfceArrowButton

XfceArrowButton — Toggle button with arrow

## Functions

GtkWidget * | xfce_arrow_button_new ()
GtkArrowType | xfce_arrow_button_get_arrow_type ()
void | xfce_arrow_button_set_arrow_type ()
gboolean | xfce_arrow_button_get_blinking ()
void | xfce_arrow_button_set_blinking ()

## Properties

GtkArrowType | arrow-type | Read / Write

## Signals

void | arrow-type-changed | Run Last

## Types and Values

struct | XfceArrowButton

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── GtkButton
                            ╰── GtkToggleButton
                                ╰── XfceArrowButton

## Implemented Interfaces

XfceArrowButton implements AtkImplementorIface, GtkBuildable, GtkActionable and GtkActivatable.

## Includes

    #include <libxfce4panel/libxfce4panel.h>

## Description

Toggle button with (optional) arrow. The arrow direction will be inverted when the button is toggled. Since 4.8 it is also possible to make the button blink and pack additional widgets in the button, using `gtk_container_add()`.

## Functions

### xfce_arrow_button_new ()

    GtkWidget *
    xfce_arrow_button_new (GtkArrowType arrow_type);

Creates a new XfceArrowButton widget.

#### Parameters

arrow_type | GtkArrowType for the arrow button |

#### Returns

The newly created XfceArrowButton widget.

### xfce_arrow_button_get_arrow_type ()

    GtkArrowType
    xfce_arrow_button_get_arrow_type (XfceArrowButton *button);

Returns the value of the ::arrow-type property.

#### Parameters

button | a XfceArrowButton |

#### Returns

the GtkArrowType of `button` .

### xfce_arrow_button_set_arrow_type ()

    void
    xfce_arrow_button_set_arrow_type (XfceArrowButton *button,
                                      GtkArrowType arrow_type);

Sets the arrow type for `button` .

#### Parameters

button | a XfceArrowButton |
arrow_type | a valid GtkArrowType |

### xfce_arrow_button_get_blinking ()

    gboolean
    xfce_arrow_button_get_blinking (XfceArrowButton *button);

Whether the button is blinking. If the blink timeout is finished and the button is still highlighted, this functions returns `FALSE`.

#### Parameters

button | a XfceArrowButton |

#### Returns

`TRUE` when `button` is blinking.

Since: 4.8

### xfce_arrow_button_set_blinking ()

    void
    xfce_arrow_button_set_blinking (XfceArrowButton *button,
                                    gboolean blinking);

Make the button blink.

#### Parameters

button | a XfceArrowButton |
blinking | `TRUE` when the button should start blinking, `FALSE` to stop the blinking. |

Since: 4.8

## Types and Values

### struct XfceArrowButton

    struct XfceArrowButton;

This struct contain private data only and should be accessed by the functions below.

## Property Details

### The `“arrow-type”` property

      “arrow-type”               GtkArrowType

The arrow type of the button. This value also determines the direction of the popup menu.

Flags: Read / Write

Default value: GTK_ARROW_UP

## Signal Details

### The `“arrow-type-changed”` signal

    void
    user_function (XfceArrowButton *button,
                   GtkArrowType     type,
                   gpointer         user_data)

Emitted when the arrow direction of the menu button changes. This value also determines the direction of the popup menu.

#### Parameters

button | the object which emitted the signal |
type | the new GtkArrowType of the button |
user_data | user data set when the signal handler was connected. |

Flags: Run Last