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__ */