1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2013-2014 Red Hat, Inc.
3  *
4  * Authors:
5  * - Bastien Nocera <bnocera@redhat.com>
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 /*
22  * Modified by the GTK+ Team and others 2013.  See the AUTHORS
23  * file for a list of people on the GTK+ Team.  See the ChangeLog
24  * files for a list of changes.  These files are distributed with
25  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
26  */
27 
28 #ifndef __TOTEM_MAIN_TOOLBAR_H__
29 #define __TOTEM_MAIN_TOOLBAR_H__
30 
31 #include <gtk/gtkbox.h>
32 
33 G_BEGIN_DECLS
34 
35 #define TOTEM_TYPE_MAIN_TOOLBAR                 (totem_main_toolbar_get_type ())
36 #define TOTEM_MAIN_TOOLBAR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), TOTEM_TYPE_MAIN_TOOLBAR, TotemMainToolbar))
37 #define TOTEM_MAIN_TOOLBAR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), TOTEM_TYPE_MAIN_TOOLBAR, TotemMainToolbarClass))
38 #define TOTEM_IS_MAIN_TOOLBAR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TOTEM_TYPE_MAIN_TOOLBAR))
39 #define TOTEM_IS_MAIN_TOOLBAR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), TOTEM_TYPE_MAIN_TOOLBAR))
40 #define TOTEM_MAIN_TOOLBAR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), TOTEM_TYPE_MAIN_TOOLBAR, TotemMainToolbarClass))
41 
42 typedef struct _TotemMainToolbar        TotemMainToolbar;
43 typedef struct _TotemMainToolbarPrivate TotemMainToolbarPrivate;
44 typedef struct _TotemMainToolbarClass   TotemMainToolbarClass;
45 
46 struct _TotemMainToolbar
47 {
48   /*< private >*/
49   GtkHeaderBar parent;
50 
51   TotemMainToolbarPrivate *priv;
52 };
53 
54 struct _TotemMainToolbarClass
55 {
56   GtkHeaderBarClass parent_class;
57 };
58 
59 GType           totem_main_toolbar_get_type              (void) G_GNUC_CONST;
60 GtkWidget*      totem_main_toolbar_new                   (void);
61 void            totem_main_toolbar_set_search_mode       (TotemMainToolbar *bar,
62 							  gboolean          search_mode);
63 gboolean        totem_main_toolbar_get_search_mode       (TotemMainToolbar *bar);
64 void            totem_main_toolbar_set_select_mode       (TotemMainToolbar *bar,
65 							  gboolean          select_mode);
66 gboolean        totem_main_toolbar_get_select_mode       (TotemMainToolbar *bar);
67 void            totem_main_toolbar_set_title             (TotemMainToolbar *bar,
68 							  const char       *title);
69 const char *    totem_main_toolbar_get_title             (TotemMainToolbar *bar);
70 void            totem_main_toolbar_set_subtitle          (TotemMainToolbar *bar,
71 							  const char       *subtitle);
72 const char *    totem_main_toolbar_get_subtitle          (TotemMainToolbar *bar);
73 void            totem_main_toolbar_set_search_string     (TotemMainToolbar *bar,
74 						          const char       *search_string);
75 const char *    totem_main_toolbar_get_search_string     (TotemMainToolbar *bar);
76 void            totem_main_toolbar_set_n_selected        (TotemMainToolbar *bar,
77 							  guint             n_selected);
78 guint           totem_main_toolbar_get_n_selected        (TotemMainToolbar *bar);
79 void            totem_main_toolbar_set_custom_title      (TotemMainToolbar *bar,
80 							  GtkWidget        *title_widget);
81 GtkWidget *     totem_main_toolbar_get_custom_title      (TotemMainToolbar *bar);
82 void            totem_main_toolbar_set_select_menu_model (TotemMainToolbar *bar,
83 							  GMenuModel       *model);
84 GMenuModel *    totem_main_toolbar_get_select_menu_model (TotemMainToolbar *bar);
85 void            totem_main_toolbar_pack_start            (TotemMainToolbar *bar,
86 							  GtkWidget        *child);
87 void            totem_main_toolbar_pack_end              (TotemMainToolbar *bar,
88 							  GtkWidget        *child);
89 
90 G_END_DECLS
91 
92 #endif /* __TOTEM_MAIN_TOOLBAR_H__ */
93