summaryrefslogtreecommitdiff
path: root/endless/eospagemanager.h
blob: 40de4bc7da289e9a9324dc7f187b9daadd47f96d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/* Copyright 2013 Endless Mobile, Inc. */

#ifndef EOS_PAGE_MANAGER_H
#define EOS_PAGE_MANAGER_H

#if !(defined(_EOS_SDK_INSIDE_ENDLESS_H) || defined(COMPILING_EOS_SDK))
#error "Please do not include this header file directly."
#endif

#include "eostypes.h"

#include <gtk/gtk.h>

G_BEGIN_DECLS

#define EOS_TYPE_PAGE_MANAGER eos_page_manager_get_type()

#define EOS_PAGE_MANAGER(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
  EOS_TYPE_PAGE_MANAGER, EosPageManager))

#define EOS_PAGE_MANAGER_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST ((klass), \
  EOS_TYPE_PAGE_MANAGER, EosPageManagerClass))

#define EOS_IS_PAGE_MANAGER(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
  EOS_TYPE_PAGE_MANAGER))

#define EOS_IS_PAGE_MANAGER_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
  EOS_TYPE_PAGE_MANAGER))

#define EOS_PAGE_MANAGER_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
  EOS_TYPE_PAGE_MANAGER, EosPageManagerClass))

typedef struct _EosPageManager EosPageManager;
typedef struct _EosPageManagerClass EosPageManagerClass;
typedef struct _EosPageManagerPrivate EosPageManagerPrivate;

/**
 * EosPageManager:
 *
 * This structure contains no public members.
 */
struct _EosPageManager
{
  GtkContainer parent;

  EosPageManagerPrivate *priv;
};

struct _EosPageManagerClass
{
  GtkContainerClass parent_class;

  /* For further expansion */
  gpointer _padding[8];
};

EOS_SDK_ALL_API_VERSIONS
GType        eos_page_manager_get_type                       (void) G_GNUC_CONST;

EOS_SDK_ALL_API_VERSIONS
GtkWidget   *eos_page_manager_new                            (void);

EOS_SDK_ALL_API_VERSIONS
GtkWidget   *eos_page_manager_get_visible_page               (EosPageManager *self);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_set_visible_page               (EosPageManager *self,
                                                              GtkWidget      *page);

EOS_SDK_ALL_API_VERSIONS
const gchar *eos_page_manager_get_visible_page_name          (EosPageManager *self);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_set_visible_page_name          (EosPageManager *self,
                                                              const gchar    *page_name);

EOS_SDK_ALL_API_VERSIONS
const gchar *eos_page_manager_get_visible_page_background    (EosPageManager *self);

EOS_SDK_ALL_API_VERSIONS
const gchar *eos_page_manager_get_page_name                  (EosPageManager *self,
                                                              GtkWidget      *page);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_set_page_name                  (EosPageManager *self,
                                                              GtkWidget      *page,
                                                              const gchar    *name);

EOS_SDK_ALL_API_VERSIONS
gboolean     eos_page_manager_get_page_actions               (EosPageManager *self,
                                                              GtkWidget      *page);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_set_page_actions               (EosPageManager *self,
                                                              GtkWidget      *page,
                                                              gboolean        actions_visible);

EOS_SDK_ALL_API_VERSIONS
GtkWidget   *eos_page_manager_get_page_custom_toolbox_widget (EosPageManager *self,
                                                              GtkWidget      *page);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_set_page_custom_toolbox_widget (EosPageManager *self,
                                                              GtkWidget      *page,
                                                              GtkWidget      *custom_toolbox_widget);

EOS_SDK_ALL_API_VERSIONS
const gchar *eos_page_manager_get_page_background            (EosPageManager *self,
                                                              GtkWidget      *page);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_set_page_background            (EosPageManager *self,
                                                              GtkWidget      *page,
                                                              const gchar    *background);

EOS_SDK_ALL_API_VERSIONS
void         eos_page_manager_remove_page_by_name            (EosPageManager *self,
                                                              const gchar    *name);

G_END_DECLS

#endif /* EOS_PAGE_MANAGER_H */