Add HildonAppMenu::changed signal
[hildon] / hildon / hildon-time-picker-private.h
1 /*
2  * This file is a part of hildon
3  *
4  * Copyright (C) 2005, 2006 Nokia Corporation, all rights reserved.
5  *
6  * Contact: Rodrigo Novo <rodrigo.novo@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; version 2.1 of
11  * the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  *
23  */
24
25 #ifndef                                         __HILDON_TIME_PICKER_PRIVATE_H__
26 #define                                         __HILDON_TIME_PICKER_PRIVATE_H__
27
28 G_BEGIN_DECLS
29
30 typedef struct                                  _HildonTimePickerPrivate HildonTimePickerPrivate;
31
32 #define                                         HILDON_TIME_PICKER_GET_PRIVATE(obj) \
33                                                 (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
34                                                 HILDON_TYPE_TIME_PICKER, HildonTimePickerPrivate))
35
36 enum
37 {
38     WIDGET_GROUP_HOURS,
39     WIDGET_GROUP_10_MINUTES,
40     WIDGET_GROUP_1_MINUTES,
41     WIDGET_GROUP_AMPM,
42
43     WIDGET_GROUP_COUNT
44 };
45
46 enum
47 {
48     BUTTON_UP,
49     BUTTON_DOWN,
50
51     BUTTON_COUNT
52 };
53
54 typedef struct
55 {
56     GtkWidget *frame;
57     GtkWidget *eventbox;
58     GtkLabel *label;
59
60     /* buttons are used for hours and minutes, but not for am/pm */
61     GtkWidget *buttons[BUTTON_COUNT];
62
63 }                                               HildonTimePickerWidgetGroup;
64
65 struct                                          _HildonTimePickerPrivate
66 {
67     HildonTimePickerWidgetGroup widgets[WIDGET_GROUP_COUNT];
68
69     gchar *am_symbol;
70     gchar *pm_symbol;
71
72     guint minutes; /* time in minutes since midnight */
73     gint mul; /* for key repeat handling */
74     guint timer_id;
75
76     guint show_ampm        : 1; /* 12 hour clock, show AM/PM */
77     guint ampm_left        : 1;
78     guint button_press     : 1;
79     guint start_key_repeat : 1;
80 };
81
82 G_END_DECLS
83
84 #endif                                          /* __HILDON_TIME_PICKER_PRIVATE_H__ */