## BtInteractionControllerMenu

BtInteractionControllerMenu — class for the interaction controller assignment popup menu

## Synopsis

    #include "bt-edit.h"

                        BtInteractionControllerMenu;
    enum                BtInteractionControllerMenuType;
    BtInteractionControllerMenu * bt_interaction_controller_menu_new
                                                            (const BtEditApplication *app,
                                                             BtInteractionControllerMenuType type);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkMenuShell
                                     +----GtkMenu
                                           +----BtInteractionControllerMenu

## Implemented Interfaces

BtInteractionControllerMenu implements AtkImplementorIface and GtkBuildable.

## Properties

      "app"                      BtEditApplication*    : Read / Write / Construct Only
      "item-unbind"              GtkWidget*            : Read
      "item-unbind-all"          GtkWidget*            : Read
      "selected-control"         BtIcControl*          : Read / Write
      "type"                     BtInteractionControllerMenuType  : Read / Write / Construct Only

## Description

Build a menu with available interaction controllers of a type.

## Details

### BtInteractionControllerMenu

    typedef struct _BtInteractionControllerMenu BtInteractionControllerMenu;

the machine selection sub-menu for the canvas page context menu

### enum BtInteractionControllerMenuType

    typedef enum {
      BT_INTERACTION_CONTROLLER_RANGE_MENU=0,
      BT_INTERACTION_CONTROLLER_TRIGGER_MENU,
    } BtInteractionControllerMenuType;

BtInteractionControllerMenu can generate a menu showing different controller types.

`BT_INTERACTION_CONTROLLER_RANGE_MENU` | range controllers
`BT_INTERACTION_CONTROLLER_TRIGGER_MENU` | trigger controllers

### bt_interaction_controller_menu_new ()

    BtInteractionControllerMenu * bt_interaction_controller_menu_new
                                                            (const BtEditApplication *app,
                                                             BtInteractionControllerMenuType type);

Create a new instance

`app` : | the application the menu belongs to
`type` : | for which kind of controllers make a menu
Returns : | the new instance or `NULL` in case of an error

## Property Details

### The `"app"` property

      "app"                      BtEditApplication*    : Read / Write / Construct Only

set application object, the menu belongs to.

### The `"item-unbind"` property

      "item-unbind"              GtkWidget*            : Read

menu item for unbind command.

### The `"item-unbind-all"` property

      "item-unbind-all"          GtkWidget*            : Read

menu item for unbind-all command.

### The `"selected-control"` property

      "selected-control"         BtIcControl*          : Read / Write

control after menu selection.

### The `"type"` property

      "type"                     BtInteractionControllerMenuType  : Read / Write / Construct Only

control types to list in the menu.

Default value: BT_INTERACTION_CONTROLLER_RANGE_MENU