2 * This file is a part of hildon
4 * Copyright (C) 2008 Nokia Corporation, all rights reserved.
6 * Contact: Karl Lattimer <karl.lattimer@nokia.com>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser Public License as published by
10 * the Free Software Foundation; version 2 of the license.
12 * This program 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
15 * GNU Lesser Public License for more details.
19 #ifndef __HILDON_BUTTON_H__
20 #define __HILDON_BUTTON_H__
26 #define HILDON_TYPE_BUTTON \
27 (hildon_button_get_type())
29 #define HILDON_BUTTON(obj) \
30 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
31 HILDON_TYPE_BUTTON, HildonButton))
33 #define HILDON_BUTTON_CLASS(klass) \
34 (G_TYPE_CHECK_CLASS_CAST ((klass), \
35 HILDON_TYPE_BUTTON, HildonButtonClass))
37 #define HILDON_IS_BUTTON(obj) \
38 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), HILDON_TYPE_BUTTON))
40 #define HILDON_IS_BUTTON_CLASS(klass) \
41 (G_TYPE_CHECK_CLASS_TYPE ((klass), HILDON_TYPE_BUTTON))
43 #define HILDON_BUTTON_GET_CLASS(obj) \
44 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
45 HILDON_TYPE_BUTTON, HildonButtonClass))
47 typedef struct _HildonButton HildonButton;
49 typedef struct _HildonButtonClass HildonButtonClass;
51 struct _HildonButtonClass
53 GtkButtonClass parent_class;
62 HILDON_BUTTON_WITH_HORIZONTAL_VALUE = 1, /* adds second Label horizontally */
63 HILDON_BUTTON_WITH_VERTICAL_VALUE = 2, /* adds second Label vertically */
64 HILDON_BUTTON_AUTO_WIDTH = 0 << 2, /* leave width unset */
65 HILDON_BUTTON_HALFSCREEN_WIDTH = 1 << 2, /* set to 50% screen width */
66 HILDON_BUTTON_FULLSCREEN_WIDTH = 2 << 2, /* set to 100% screen width */
67 HILDON_BUTTON_AUTO_HEIGHT = 0 << 4, /* leave height unset */
68 HILDON_BUTTON_FINGER_HEIGHT = 1 << 4, /* set to finger height */
69 HILDON_BUTTON_THUMB_HEIGHT = 2 << 4, /* set to thumb height */
73 hildon_button_get_type (void) G_GNUC_CONST;
76 hildon_button_new (HildonButtonFlags flags,
81 hildon_button_new_full (HildonButtonFlags flags,
84 GtkSizeGroup *title_size_group,
85 GtkSizeGroup *value_size_group);
88 hildon_button_set_title (HildonButton *button,
92 hildon_button_set_value (HildonButton *button,
96 hildon_button_get_title (HildonButton *button);
99 hildon_button_get_value (HildonButton *button);
102 hildon_button_set_title_and_value (HildonButton *button,
107 hildon_button_set_size_groups (HildonButton *button,
108 GtkSizeGroup *title_size_group,
109 GtkSizeGroup *value_size_group);
113 #endif /* __HILDON_BUTTON_H__ */