1 /* 2 * This file is part of GtkHotkey. 3 * Copyright Mikkel Kamstrup Erlandsen, March, 2008 4 * 5 * GtkHotkey is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * GtkHotkey is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with GtkHotkey. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #if !defined (__GTK_HOTKEY_H__) && !defined (GTK_HOTKEY_COMPILATION) 20 #error "Only <gtkhotkey.h> can be included directly." 21 #endif 22 23 #ifndef __GTK_HOTKEY_INFO_H__ 24 #define __GTK_HOTKEY_INFO_H__ 25 26 #include <glib.h> 27 #include <glib-object.h> 28 #include <gio/gio.h> 29 #include <stdlib.h> 30 #include <string.h> 31 32 G_BEGIN_DECLS 33 34 35 #define GTK_HOTKEY_TYPE_INFO (gtk_hotkey_info_get_type ()) 36 #define GTK_HOTKEY_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_HOTKEY_TYPE_INFO, GtkHotkeyInfo)) 37 #define GTK_HOTKEY_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_HOTKEY_TYPE_INFO, GtkHotkeyInfoClass)) 38 #define GTK_HOTKEY_IS_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_HOTKEY_TYPE_INFO)) 39 #define GTK_HOTKEY_IS_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_HOTKEY_TYPE_INFO)) 40 #define GTK_HOTKEY_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_HOTKEY_TYPE_INFO, GtkHotkeyInfoClass)) 41 42 typedef struct _GtkHotkeyInfo GtkHotkeyInfo; 43 typedef struct _GtkHotkeyInfoClass GtkHotkeyInfoClass; 44 45 struct _GtkHotkeyInfo { 46 GObject parent_instance; 47 }; 48 struct _GtkHotkeyInfoClass { 49 GObjectClass parent_class; 50 }; 51 52 gboolean gtk_hotkey_info_bind (GtkHotkeyInfo* self, GError **error); 53 54 gboolean gtk_hotkey_info_unbind (GtkHotkeyInfo* self, GError **error); 55 56 gboolean gtk_hotkey_info_is_bound (GtkHotkeyInfo* self); 57 58 const gchar* gtk_hotkey_info_get_application_id (GtkHotkeyInfo* self); 59 60 const gchar* gtk_hotkey_info_get_key_id (GtkHotkeyInfo* self); 61 62 GAppInfo* gtk_hotkey_info_get_app_info (GtkHotkeyInfo* self); 63 64 const gchar* gtk_hotkey_info_get_application_id (GtkHotkeyInfo* self); 65 66 const gchar* gtk_hotkey_info_get_signature (GtkHotkeyInfo* self); 67 68 const gchar* gtk_hotkey_info_get_key_id (GtkHotkeyInfo* self); 69 70 const gchar* gtk_hotkey_info_get_description (GtkHotkeyInfo* self); 71 72 void gtk_hotkey_info_set_description (GtkHotkeyInfo* self, const gchar *description); 73 74 gboolean gtk_hotkey_info_equals (GtkHotkeyInfo *hotkey1, GtkHotkeyInfo *hotkey2, gboolean sloppy_equals); 75 76 void gtk_hotkey_info_activated (GtkHotkeyInfo* self, guint event_time); 77 78 GtkHotkeyInfo* gtk_hotkey_info_new (const gchar *app_id, 79 const gchar *key_id, 80 const gchar *signature, 81 GAppInfo *app_info); 82 83 GType gtk_hotkey_info_get_type (void); 84 85 G_END_DECLS 86 87 #endif 88