Freeciv-3.1
Loading...
Searching...
No Matches
gui_stuff.h
Go to the documentation of this file.
1/***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12***********************************************************************/
13#ifndef FC__GUI_STUFF_H
14#define FC__GUI_STUFF_H
15
16#include <gtk/gtk.h>
17
18/* utility */
19#include "shared.h"
20
21GtkWidget *icon_label_button_new(const gchar *icon_name,
22 const gchar *label_text);
23void gtk_stockbutton_set_label(GtkWidget *button, const gchar *label_text);
24void gtk_expose_now(GtkWidget *w);
25void set_relative_window_position(GtkWindow *ref, GtkWindow *w, int px, int py);
26
27void intl_slist(int n, const char **s, bool *done);
28
29/* the standard GTK+ 2.0 API is braindamaged. this is slightly better! */
30
31typedef struct
32{
33 GtkTreeModel *model;
34 gboolean end;
35 GtkTreeIter it;
36} ITree;
37
38#define TREE_ITER_PTR(x) (&(x).it)
39
40void itree_begin(GtkTreeModel *model, ITree *it);
41gboolean itree_end(ITree *it);
42void itree_next(ITree *it);
43void itree_get(ITree *it, ...);
44void itree_set(ITree *it, ...);
45
46void tstore_append(GtkTreeStore *store, ITree *it, ITree *parent);
47
48gboolean itree_is_selected(GtkTreeSelection *selection, ITree *it);
49void itree_select(GtkTreeSelection *selection, ITree *it);
50void itree_unselect(GtkTreeSelection *selection, ITree *it);
51
52gint gtk_tree_selection_get_row(GtkTreeSelection *selection);
53void gtk_tree_view_focus(GtkTreeView *view);
54void setup_dialog(GtkWidget *shell, GtkWidget *parent);
55GtkTreeViewColumn *add_treeview_column(GtkWidget *view, const char *title,
56 GType gtype, int model_index);
57
58GtkWidget *gtk_aux_menu_bar_new(void);
59
64
65struct gui_dialog;
66
67typedef void (*GUI_DIALOG_RESPONSE_FUN)(struct gui_dialog *, int, gpointer);
68
69struct gui_dialog
70{
71 /* public. */
72 GtkWidget *vbox;
73 GtkWidget *action_area;
74
75 /* private. */
76 char *title;
78 int id;
80
81 int default_width;
83
84 union {
85 GtkWidget *window;
86 struct {
87 GtkWidget *label;
88 GtkWidget *notebook;
89 gulong handler_id;
90 GtkWidget *child;
91 } tab;
92 } v;
93
94 struct gui_dialog **source;
95
97 gpointer user_data;
98
99 GtkSizeGroup *gui_button;
100};
101
102void dlg_tab_provider_prepare(void);
103
104void gui_dialog_new(struct gui_dialog **pdlg, GtkNotebook *notebook,
105 gpointer user_data, bool check_top);
106void gui_dialog_set_default_response(struct gui_dialog *dlg, int response);
107GtkWidget *gui_dialog_add_button(struct gui_dialog *dlg,
108 const char *icon_name,
109 const char *text, int response);
110GtkWidget *gui_dialog_add_widget(struct gui_dialog *dlg,
111 GtkWidget *widget);
113 int width, int height);
114void gui_dialog_set_title(struct gui_dialog *dlg, const char *title);
116 int response, bool setting);
117void gui_dialog_show_all(struct gui_dialog *dlg);
118void gui_dialog_present(struct gui_dialog *dlg);
119void gui_dialog_raise(struct gui_dialog *dlg);
120void gui_dialog_alert(struct gui_dialog *dlg);
121void gui_dialog_destroy(struct gui_dialog *dlg);
122void gui_dialog_destroy_all(void);
123GtkWidget *gui_dialog_get_toplevel(struct gui_dialog *dlg);
127 struct gui_dialog *return_dialog);
128
129void gui_update_font_full(const char *font_name, const char *font_value,
130 PangoFontDescription **font_desc);
131
132void disable_gobject_callback(GObject *obj, GCallback cb);
133void enable_gobject_callback(GObject *obj, GCallback cb);
134
135#endif /* FC__GUI_STUFF_H */
#define n
Definition astring.c:77
struct canvas int int struct sprite int int int int height
Definition canvas_g.h:44
struct canvas int int struct sprite int int int width
Definition canvas_g.h:44
void gtk_tree_view_focus(GtkTreeView *view)
Definition gui_stuff.c:230
void gui_dialog_destroy(struct gui_dialog *dlg)
Definition gui_stuff.c:951
void gui_dialog_present(struct gui_dialog *dlg)
Definition gui_stuff.c:834
void gtk_stockbutton_set_label(GtkWidget *button, const gchar *label_text)
Definition gui_stuff.c:90
void gui_dialog_set_default_response(struct gui_dialog *dlg, int response)
Definition gui_stuff.c:733
void itree_get(ITree *it,...)
Definition gui_stuff.c:158
void itree_set(ITree *it,...)
Definition gui_stuff.c:146
void gui_dialog_raise(struct gui_dialog *dlg)
Definition gui_stuff.c:864
void gui_dialog_new(struct gui_dialog **pdlg, GtkNotebook *notebook, gpointer user_data, bool check_top)
Definition gui_stuff.c:504
void disable_gobject_callback(GObject *obj, GCallback cb)
Definition gui_stuff.c:1087
GtkWidget * gui_dialog_add_widget(struct gui_dialog *dlg, GtkWidget *widget)
Definition gui_stuff.c:721
gint gtk_tree_selection_get_row(GtkTreeSelection *selection)
Definition gui_stuff.c:209
void gui_dialog_set_return_dialog(struct gui_dialog *dlg, struct gui_dialog *return_dialog)
Definition gui_stuff.c:994
gui_dialog_type
Definition gui_stuff.h:59
@ GUI_DIALOG_WINDOW
Definition gui_stuff.h:60
@ GUI_DIALOG_TAB
Definition gui_stuff.h:61
void set_relative_window_position(GtkWindow *ref, GtkWindow *w, int px, int py)
Definition gui_stuff.c:58
void gui_dialog_response_set_callback(struct gui_dialog *dlg, GUI_DIALOG_RESPONSE_FUN fun)
Definition gui_stuff.c:985
void itree_begin(GtkTreeModel *model, ITree *it)
Definition gui_stuff.c:121
GtkWidget * gui_dialog_add_button(struct gui_dialog *dlg, const char *text, int response)
Definition gui_stuff.c:706
void itree_unselect(GtkTreeSelection *selection, ITree *it)
Definition gui_stuff.c:200
void enable_gobject_callback(GObject *obj, GCallback cb)
Definition gui_stuff.c:1103
void(* GUI_DIALOG_RESPONSE_FUN)(struct gui_dialog *, int, gpointer)
Definition gui_stuff.h:66
void gui_dialog_show_all(struct gui_dialog *dlg)
Definition gui_stuff.c:794
void itree_select(GtkTreeSelection *selection, ITree *it)
Definition gui_stuff.c:192
void gui_dialog_set_title(struct gui_dialog *dlg, const char *title)
Definition gui_stuff.c:932
void gui_dialog_set_default_size(struct gui_dialog *dlg, int width, int height)
Definition gui_stuff.c:916
void gui_dialog_alert(struct gui_dialog *dlg)
Definition gui_stuff.c:887
GtkTreeViewColumn * add_treeview_column(GtkWidget *view, const char *title, GType gtype, int model_index)
Definition gui_stuff.c:1120
void tstore_append(GtkTreeStore *store, ITree *it, ITree *parent)
Definition gui_stuff.c:170
void itree_next(ITree *it)
Definition gui_stuff.c:138
void gui_dialog_destroy_all(void)
Definition gui_stuff.c:971
gboolean itree_is_selected(GtkTreeSelection *selection, ITree *it)
Definition gui_stuff.c:184
GtkWidget * gtk_aux_menu_bar_new(void)
Definition gui_stuff.c:249
void setup_dialog(GtkWidget *shell, GtkWidget *parent)
Definition gui_stuff.c:281
void gui_update_font_full(const char *font_name, const char *font_value, PangoFontDescription **font_desc)
Definition gui_stuff.c:1070
void gtk_expose_now(GtkWidget *w)
Definition gui_stuff.c:50
void gui_dialog_set_response_sensitive(struct gui_dialog *dlg, int response, bool setting)
Definition gui_stuff.c:759
GtkWidget * gui_dialog_get_toplevel(struct gui_dialog *dlg)
Definition gui_stuff.c:786
void intl_slist(int n, const char **s, bool *done)
Definition gui_stuff.c:105
gboolean itree_end(ITree *it)
Definition gui_stuff.c:130
static struct gui_dialog * shell
Definition messagedlg.c:39
const char * title
Definition repodlgs.c:1313
void dlg_tab_provider_prepare(void)
Definition gui_stuff.c:1151
GtkWidget * icon_label_button_new(const gchar *icon_name, const gchar *label_text)
Definition gui_stuff.c:76
void(* GUI_DIALOG_RESPONSE_FUN)(struct gui_dialog *, int, gpointer)
Definition gui_stuff.h:66
const char * font_name
Definition gui_main_g.h:43
char * title
Definition gui_stuff.h:75
gulong handler_id
Definition gui_stuff.h:88
GtkWidget * action_area
Definition gui_stuff.h:72
union gui_dialog::@149 v
GtkSizeGroup * gui_button
Definition gui_stuff.h:98
GtkWidget * vbox
Definition gui_stuff.h:71
GUI_DIALOG_RESPONSE_FUN response_callback
Definition gui_stuff.h:95
GtkWidget * label
Definition gui_stuff.h:86
struct gui_dialog::@149::@150 tab
GtkWidget * notebook
Definition gui_stuff.h:87
int return_dialog_id
Definition gui_stuff.h:78
int default_height
Definition gui_stuff.h:81
struct gui_dialog ** source
Definition gui_stuff.h:93
gpointer user_data
Definition gui_stuff.h:96
GtkWidget * window
Definition gui_stuff.h:84
enum gui_dialog_type type
Definition gui_stuff.h:76
int default_width
Definition gui_stuff.h:80
GtkWidget * child
Definition gui_stuff.h:89