### Class

# WebKit2WebExtension ContextMenu

#### Description [src]

    class WebKit2WebExtension.ContextMenu : GObject.Object
    {
      WebKitContextMenuPrivate* priv
    }

Represents the context menu in a `WebKitWebView`.

`WebKitContextMenu` represents a context menu containing `WebKitContextMenuItem`s in a `WebKitWebView`.

When a `WebKitWebView` is about to display the context menu, it emits the `WebKitWebView::context-menu` signal, which has the `WebKitContextMenu` as an argument. You can modify it, adding new submenus that you can create with webkit_context_menu_new(), adding new `WebKitContextMenuItem`s with webkit_context_menu_prepend(), `webkit_context_menu_append()` or webkit_context_menu_insert(), maybe after having removed the existing ones with webkit_context_menu_remove_all().

#### Ancestors

- GObject

#### Constructors

###### webkit_context_menu_new

Creates a new `WebKitContextMenu` object.

###### webkit_context_menu_new_with_items

Creates a new `WebKitContextMenu` object with the given items.

#### Instance methods

###### webkit_context_menu_append

Adds `item` at the end of the `menu`.

###### webkit_context_menu_first

Gets the first item in the `menu`.

###### webkit_context_menu_get_event

Gets the `GdkEvent` that triggered the context menu. This function only returns a valid `GdkEvent` when called for a `WebKitContextMenu` passed to `WebKitWebView::context-menu` signal; in all other cases, `NULL` is returned.

since: 2.40

###### webkit_context_menu_get_item_at_position

Gets the item at the given position in the `menu`.

###### webkit_context_menu_get_items

Returns the item list of `menu`.

###### webkit_context_menu_get_n_items

Gets the length of the `menu`.

###### webkit_context_menu_get_user_data

Gets the user data of `menu`.

since: 2.8

###### webkit_context_menu_insert

Inserts `item` into the `menu` at the given position.

###### webkit_context_menu_last

Gets the last item in the `menu`.

###### webkit_context_menu_move_item

Moves `item` to the given position in the `menu`.

###### webkit_context_menu_prepend

Adds `item` at the beginning of the `menu`.

###### webkit_context_menu_remove

Removes `item` from the `menu`.

###### webkit_context_menu_remove_all

Removes all items of the `menu`.

###### webkit_context_menu_set_user_data

Sets user data to `menu`.

since: 2.8

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct WebKit2WebExtensionContextMenuClass {
      GObjectClass parent_class;
      void (* _webkit_reserved0) (
    void
      );
      void (* _webkit_reserved1) (
    void
      );
      void (* _webkit_reserved2) (
    void
      );
      void (* _webkit_reserved3) (
    void
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`_webkit_reserved0: void (* _webkit_reserved0) ( void )`

  No description available.

`_webkit_reserved1: void (* _webkit_reserved1) ( void )`

  No description available.

`_webkit_reserved2: void (* _webkit_reserved2) ( void )`

  No description available.

`_webkit_reserved3: void (* _webkit_reserved3) ( void )`

  No description available.