summaryrefslogtreecommitdiff
path: root/endless/eoswindow.h
blob: bbbf2b5bc22eebff04a4bf4e5fd31ecd8022176a (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
/* Copyright 2013 Endless Mobile, Inc. */

#ifndef EOS_WINDOW_H
#define EOS_WINDOW_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 "eosapplication.h"
#include "eospagemanager.h"

G_BEGIN_DECLS

#define EOS_TYPE_WINDOW eos_window_get_type()

#define EOS_WINDOW(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
  EOS_TYPE_WINDOW, EosWindow))

#define EOS_WINDOW_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST ((klass), \
  EOS_TYPE_WINDOW, EosWindowClass))

#define EOS_IS_WINDOW(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
  EOS_TYPE_WINDOW))

#define EOS_IS_WINDOW_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
  EOS_TYPE_WINDOW))

#define EOS_WINDOW_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
  EOS_TYPE_WINDOW, EosWindowClass))

typedef struct _EosWindow EosWindow;
typedef struct _EosWindowClass EosWindowClass;
typedef struct _EosWindowPrivate EosWindowPrivate;

/**
 * EosWindow:
 *
 * This class structure contains no public members.
 */
struct _EosWindow
{
  /*< private >*/
  GtkApplicationWindow parent;

  EosWindowPrivate *priv;
};

struct _EosWindowClass
{
  GtkApplicationWindowClass parent_class;

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

EOS_SDK_ALL_API_VERSIONS
GType           eos_window_get_type         (void) G_GNUC_CONST;

EOS_SDK_ALL_API_VERSIONS
GtkWidget      *eos_window_new              (EosApplication *application);

EOS_SDK_ALL_API_VERSIONS
EosPageManager *eos_window_get_page_manager (EosWindow      *self);

EOS_SDK_ALL_API_VERSIONS
void            eos_window_set_page_manager (EosWindow      *self,
                                             EosPageManager *page_manager);

G_END_DECLS

#endif /* EOS_WINDOW_H */