## MxMenu MxMenu — a menu actor representing a list of user actions |

## Synopsis

                        MxMenu;
    struct              MxMenuClass;
    ClutterActor *      mx_menu_new                         (void);
    void                mx_menu_add_action                  (MxMenu *menu,
                                                             MxAction *action);
    void                mx_menu_remove_action               (MxMenu *menu,
                                                             MxAction *action);
    void                mx_menu_remove_all                  (MxMenu *menu);
    void                mx_menu_show_with_position          (MxMenu *menu,
                                                             gfloat x,
                                                             gfloat y);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----ClutterActor
                   +----MxWidget
                         +----MxFloatingWidget
                               +----MxMenu

## Implemented Interfaces

MxMenu implements ClutterContainer, ClutterScriptable, ClutterAnimatable, AtkImplementorIface, MxStylable and MxFocusable.

## Signals

      "action-activated"                               : Run Last

## Description

MxMenu displays a list of user actions, defined by a list of MxActions. The menu list will appear above all other actors.

## Details

### MxMenu

    typedef struct _MxMenu MxMenu;

The contents of this structure are private and should only be accessed through the public API.

### struct MxMenuClass

    struct MxMenuClass {
      MxFloatingWidgetClass parent_class;

      void (*action_activated) (MxMenu   *menu,
                                MxAction *action);

      /* padding for future expansion */
      void (*_padding_0) (void);
      void (*_padding_1) (void);
      void (*_padding_2) (void);
      void (*_padding_3) (void);
      void (*_padding_4) (void);
    };

### mx_menu_new ()

    ClutterActor *      mx_menu_new                         (void);

Create a new MxMenu

Returns : | a newly allocated MxMenu

### mx_menu_add_action ()

    void                mx_menu_add_action                  (MxMenu *menu,
                                                             MxAction *action);

Append `action` to `menu`.

`menu` : | A MxMenu
`action` : | A MxAction

### mx_menu_remove_action ()

    void                mx_menu_remove_action               (MxMenu *menu,
                                                             MxAction *action);

Remove `action` from `menu`.

`menu` : | A MxMenu
`action` : | A MxAction

### mx_menu_remove_all ()

    void                mx_menu_remove_all                  (MxMenu *menu);

Remove all the actions from `menu`.

`menu` : | A MxMenu

### mx_menu_show_with_position ()

    void                mx_menu_show_with_position          (MxMenu *menu,
                                                             gfloat x,
                                                             gfloat y);

Moves the menu to the specified position and shows it.

`menu` : | A MxMenu
`x` : | X position
`y` : | Y position

## Signal Details

### The `"action-activated"` signal

    void                user_function                      (MxMenu   *mxmenu,
                                                            MxAction *arg1,
                                                            gpointer  user_data)      : Run Last