1 /* GTK - The GIMP Toolkit
2  * gtkrecentchoosermenu.h - Recently used items menu widget
3  * Copyright (C) 2006, Emmanuele Bassi
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library 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 GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef __GTK_RECENT_CHOOSER_MENU_H__
20 #define __GTK_RECENT_CHOOSER_MENU_H__
21 
22 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
23 #error "Only <gtk/gtk.h> can be included directly."
24 #endif
25 
26 #include <gtk/gtkmenu.h>
27 #include <gtk/gtkrecentchooser.h>
28 
29 G_BEGIN_DECLS
30 
31 #define GTK_TYPE_RECENT_CHOOSER_MENU		(gtk_recent_chooser_menu_get_type ())
32 #define GTK_RECENT_CHOOSER_MENU(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RECENT_CHOOSER_MENU, GtkRecentChooserMenu))
33 #define GTK_IS_RECENT_CHOOSER_MENU(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RECENT_CHOOSER_MENU))
34 #define GTK_RECENT_CHOOSER_MENU_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RECENT_CHOOSER_MENU, GtkRecentChooserMenuClass))
35 #define GTK_IS_RECENT_CHOOSER_MENU_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RECENT_CHOOSER_MENU))
36 #define GTK_RECENT_CHOOSER_MENU_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RECENT_CHOOSER_MENU, GtkRecentChooserMenuClass))
37 
38 typedef struct _GtkRecentChooserMenu		GtkRecentChooserMenu;
39 typedef struct _GtkRecentChooserMenuClass	GtkRecentChooserMenuClass;
40 typedef struct _GtkRecentChooserMenuPrivate	GtkRecentChooserMenuPrivate;
41 
42 struct _GtkRecentChooserMenu
43 {
44   GtkMenu parent_instance;
45 
46   /*< private >*/
47   GtkRecentChooserMenuPrivate *priv;
48 };
49 
50 struct _GtkRecentChooserMenuClass
51 {
52   GtkMenuClass parent_class;
53 
54   /* padding for future expansion */
55   void (* gtk_recent1) (void);
56   void (* gtk_recent2) (void);
57   void (* gtk_recent3) (void);
58   void (* gtk_recent4) (void);
59 };
60 
61 GDK_AVAILABLE_IN_ALL
62 GType      gtk_recent_chooser_menu_get_type         (void) G_GNUC_CONST;
63 
64 GDK_AVAILABLE_IN_ALL
65 GtkWidget *gtk_recent_chooser_menu_new              (void);
66 GDK_AVAILABLE_IN_ALL
67 GtkWidget *gtk_recent_chooser_menu_new_for_manager  (GtkRecentManager     *manager);
68 
69 GDK_AVAILABLE_IN_ALL
70 gboolean   gtk_recent_chooser_menu_get_show_numbers (GtkRecentChooserMenu *menu);
71 GDK_AVAILABLE_IN_ALL
72 void       gtk_recent_chooser_menu_set_show_numbers (GtkRecentChooserMenu *menu,
73 						     gboolean              show_numbers);
74 
75 G_END_DECLS
76 
77 #endif /* ! __GTK_RECENT_CHOOSER_MENU_H__ */
78