1 /* HomeBank -- Free, easy, personal accounting for everyone.
2 * Copyright (C) 1995-2019 Maxime DOYEN
4 * This file is part of HomeBank.
6 * HomeBank is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * HomeBank is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef __HB_WIDGETS_GTK_H__
21 #define __HB_WIDGETS_GTK_H__
24 typedef struct _hbtk_kv_data HbKvData
;
25 typedef struct _hbtk_kiv_data HbKivData
;
27 struct _hbtk_kv_data
{
34 #define HBTK_IS_SEPARATOR -66
38 DATE_RANGE_CUSTOM_SHOW
,
39 DATE_RANGE_CUSTOM_HIDE
,
40 DATE_RANGE_CUSTOM_DISABLE
44 GtkWidget
*make_label(gchar
*str
, gfloat xalign
, gfloat yalign
);
45 GtkWidget
*make_clicklabel(gchar
*id
, gchar
*str
);
46 GtkWidget
*make_label_group(gchar
*str
);
47 GtkWidget
*make_label_widget(gchar
*str
);
48 GtkWidget
*make_text(gfloat xalign
);
49 GtkWidget
*make_search(void);
50 GtkWidget
*make_string(GtkWidget
*label
);
51 GtkWidget
*make_image_button(gchar
*icon_name
, gchar
*tooltip_text
);
53 GtkWidget
*make_memo_entry(GtkWidget
*label
);
54 GtkWidget
*make_string_maxlength(GtkWidget
*label
, guint max_length
);
55 GtkWidget
*make_amount(GtkWidget
*label
);
56 GtkWidget
*make_exchange_rate(GtkWidget
*label
);
57 GtkWidget
*make_numeric(GtkWidget
*label
, gdouble min
, gdouble max
);
58 GtkWidget
*make_scale(GtkWidget
*label
);
59 GtkWidget
*make_long(GtkWidget
*label
);
60 GtkWidget
*make_year(GtkWidget
*label
);
61 GtkWidget
*make_cycle(GtkWidget
*label
, gchar
**items
);
62 GtkWidget
*make_daterange(GtkWidget
*label
, guint dspmode
);
64 GtkWidget
*create_popover (GtkWidget
*parent
, GtkWidget
*child
, GtkPositionType pos
);
66 void ui_label_set_integer(GtkLabel
*label
, gint value
);
69 gchar
*hbtk_get_label(HbKvData
*kvdata
, guint32 key
);
70 guint32
hbtk_combo_box_get_active_id (GtkComboBoxText
*combobox
);
71 void hbtk_combo_box_set_active_id (GtkComboBoxText
*combobox
, guint32 active_id
);
72 void hbtk_combo_box_text_append (GtkComboBoxText
*combobox
, guint32 key
, gchar
*text
);
73 GtkWidget
*hbtk_combo_box_new (GtkWidget
*label
);
74 GtkWidget
*hbtk_combo_box_new_with_data (GtkWidget
*label
, HbKvData
*kvdata
);
76 gint
hbtk_radio_button_get_active (GtkContainer
*container
);
77 void hbtk_radio_button_set_active (GtkContainer
*container
, gint active
);
78 GtkWidget
*hbtk_radio_button_get_nth (GtkContainer
*container
, gint nth
);
79 void hbtk_radio_button_unblock_by_func(GtkContainer
*container
, GCallback c_handler
, gpointer data
);
80 void hbtk_radio_button_block_by_func(GtkContainer
*container
, GCallback c_handler
, gpointer data
);
81 void hbtk_radio_button_connect(GtkContainer
*container
, const gchar
*detailed_signal
, GCallback c_handler
, gpointer data
);
82 GtkWidget
*hbtk_radio_button_new (gchar
**items
, gboolean buttonstyle
);
85 void gimp_label_set_attributes (GtkLabel
*label
, ...);
88 void hb_widget_visible(GtkWidget
*widget
, gboolean visible
);
89 void hbtk_entry_tag_name_append(GtkEntry
*entry
, gchar
*tagname
);
90 void ui_gtk_entry_set_text(GtkWidget
*widget
, gchar
*text
);
91 void ui_gtk_entry_replace_text(GtkWidget
*widget
, gchar
**storage
);
94 guint make_popaccount_populate(GtkComboBox *combobox, GList *srclist);
95 GtkWidget *make_popaccount(GtkWidget *label);
97 guint make_poppayee_populate(GtkComboBox *combobox, GList *srclist);
98 GtkWidget *make_poppayee(GtkWidget *label);
100 guint make_poparchive_populate(GtkComboBox *combobox, GList *srclist);
101 GtkWidget *make_poparchive(GtkWidget *label);
103 guint make_popcategory_populate(GtkComboBox *combobox, GList *srclist);
104 GtkWidget *make_popcategory(GtkWidget *label);
108 gchar
*get_paymode_icon_name(gint index
);
111 GtkWidget
*make_paymode(GtkWidget
*label
);
112 GtkWidget
*make_paymode_nointxfer(GtkWidget
*label
);
113 GtkWidget
*make_nainex(GtkWidget
*label
);