1/* 2 * Copyright (C) 2012 Igalia S.L. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public License 15 * along with this library; see the file COPYING.LIB. If not, write to 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 20#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION) 21#error "Only <webkit2/webkit2.h> can be included directly." 22#endif 23 24#ifndef WebKitContextMenu_h 25#define WebKitContextMenu_h 26 27#include <glib-object.h> 28#include <webkit2/WebKitContextMenuItem.h> 29#include <webkit2/WebKitDefines.h> 30#include <webkit2/WebKitForwardDeclarations.h> 31 32G_BEGIN_DECLS 33 34#define WEBKIT_TYPE_CONTEXT_MENU (webkit_context_menu_get_type()) 35#define WEBKIT_CONTEXT_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_CONTEXT_MENU, WebKitContextMenu)) 36#define WEBKIT_IS_CONTEXT_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_CONTEXT_MENU)) 37#define WEBKIT_CONTEXT_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_CONTEXT_MENU, WebKitContextMenuClass)) 38#define WEBKIT_IS_CONTEXT_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_CONTEXT_MENU)) 39#define WEBKIT_CONTEXT_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_CONTEXT_MENU, WebKitContextMenuClass)) 40 41typedef struct _WebKitContextMenuClass WebKitContextMenuClass; 42typedef struct _WebKitContextMenuPrivate WebKitContextMenuPrivate; 43 44struct _WebKitContextMenu { 45 GObject parent; 46 47 WebKitContextMenuPrivate *priv; 48}; 49 50struct _WebKitContextMenuClass { 51 GObjectClass parent_class; 52 53 void (*_webkit_reserved0) (void); 54 void (*_webkit_reserved1) (void); 55 void (*_webkit_reserved2) (void); 56 void (*_webkit_reserved3) (void); 57}; 58 59WEBKIT_API GType 60webkit_context_menu_get_type (void); 61 62WEBKIT_API WebKitContextMenu * 63webkit_context_menu_new (void); 64 65WEBKIT_API WebKitContextMenu * 66webkit_context_menu_new_with_items (GList *items); 67 68WEBKIT_API void 69webkit_context_menu_prepend (WebKitContextMenu *menu, 70 WebKitContextMenuItem *item); 71 72WEBKIT_API void 73webkit_context_menu_append (WebKitContextMenu *menu, 74 WebKitContextMenuItem *item); 75 76WEBKIT_API void 77webkit_context_menu_insert (WebKitContextMenu *menu, 78 WebKitContextMenuItem *item, 79 gint position); 80 81WEBKIT_API void 82webkit_context_menu_move_item (WebKitContextMenu *menu, 83 WebKitContextMenuItem *item, 84 gint position); 85WEBKIT_API GList * 86webkit_context_menu_get_items (WebKitContextMenu *menu); 87 88WEBKIT_API guint 89webkit_context_menu_get_n_items (WebKitContextMenu *menu); 90 91WEBKIT_API WebKitContextMenuItem * 92webkit_context_menu_first (WebKitContextMenu *menu); 93 94WEBKIT_API WebKitContextMenuItem * 95webkit_context_menu_last (WebKitContextMenu *menu); 96 97WEBKIT_API WebKitContextMenuItem * 98webkit_context_menu_get_item_at_position (WebKitContextMenu *menu, 99 guint position); 100 101WEBKIT_API void 102webkit_context_menu_remove (WebKitContextMenu *menu, 103 WebKitContextMenuItem *item); 104 105WEBKIT_API void 106webkit_context_menu_remove_all (WebKitContextMenu *menu); 107 108G_END_DECLS 109 110#endif 111