Converted from Glade to GtkBuilder
[rox-filer.git] / ROX-Filer / src / gui_support.h
blob4303fc8fe56951668476705f5ef7841525e24dc9
1 /*
2 * ROX-Filer, filer for the ROX desktop project
3 * By Thomas Leonard, <tal197@users.sourceforge.net>.
4 */
6 #ifndef _GUI_SUPPORT_H
7 #define _GUI_SUPPORT_H
9 #include <gtk/gtk.h>
11 #define WIN_STATE_STICKY (1<<0) /* Fixed relative to screen */
12 #define WIN_STATE_HIDDEN (1<<4) /* Not on taskbar but window visible */
13 #define WIN_STATE_FIXED_POSITION (1<<8) /* Window is fixed in position even */
14 #define WIN_STATE_ARRANGE_IGNORE (1<<9) /* Ignore for auto arranging */
16 #define WIN_HINTS_SKIP_FOCUS (1<<0) /* Do not focus */
17 #define WIN_HINTS_SKIP_WINLIST (1<<1) /* Not in win list */
18 #define WIN_HINTS_SKIP_TASKBAR (1<<2) /* Not on taskbar */
20 typedef struct _Radios Radios;
22 extern GdkFont *fixed_font;
23 extern gint screen_width, screen_height;
25 /* Useful atoms (set by gui_support_init()) */
26 extern GdkAtom xa__NET_WORKAREA;
27 extern GdkAtom xa__NET_WM_DESKTOP;
28 extern GdkAtom xa__NET_CURRENT_DESKTOP;
29 extern GdkAtom xa__NET_NUMBER_OF_DESKTOPS;
31 /* For Xinerama */
32 extern gint n_monitors;
33 extern GdkRectangle *monitor_geom;
34 /* Smallest monitor - use for sizing windows */
35 extern gint monitor_width, monitor_height;
36 typedef struct {
37 gboolean left, right, top, bottom;
38 } MonitorAdjacent;
39 extern MonitorAdjacent *monitor_adjacent;
41 typedef void (*HelpFunc)(gpointer data);
42 typedef const char *ParseFunc(gchar *line);
44 void gui_store_screen_geometry(GdkScreen *screen);
46 void gui_support_init(void);
47 int get_choice(const char *title,
48 const char *message,
49 int number_of_buttons, ...);
50 void report_error(const char *message, ...);
51 void info_message(const char *message, ...);
52 void set_cardinal_property(GdkWindow *window, GdkAtom prop, gulong value);
53 gboolean get_cardinal_property(GdkWindow *window, GdkAtom prop, gulong length,
54 gulong *data, gint *actual_length);
55 int get_current_desktop(void);
56 int get_number_of_desktops(void);
57 void get_work_area(int *x, int *y, int *width, int *height);
58 void make_panel_window(GtkWidget *widget);
59 void delayed_error(const char *error, ...);
60 gboolean load_file(const char *pathname, char **data_out, long *length_out);
61 GtkWidget *new_help_button(HelpFunc show_help, gpointer data);
62 void parse_file(const char *path, ParseFunc *parse_line);
63 gboolean get_pointer_xy(int *x, int *y);
64 int get_monitor_under_pointer(void);
65 void centre_window(GdkWindow *window, int x, int y);
66 void wink_widget(GtkWidget *widget);
67 void destroy_on_idle(GtkWidget *widget);
68 gint rox_spawn(const gchar *dir, const gchar **argv);
69 GtkWidget *button_new_mixed(const char *stock, const char *message);
70 GtkWidget *button_new_image_text(GtkWidget *image, const char *message);
71 void entry_set_error(GtkWidget *entry, gboolean error);
72 void window_put_just_above(GdkWindow *higher, GdkWindow *lower);
73 void fixed_move_fast(GtkFixed *fixed, GtkWidget *widget, int x, int y);
74 void tooltip_show(guchar *text);
75 void tooltip_prime(GtkFunction callback, GObject *object);
76 void widget_modify_font(GtkWidget *widget, PangoFontDescription *font_desc);
77 gboolean confirm(const gchar *message, const gchar *stock, const gchar *action);
79 Radios *radios_new(void (*changed)(Radios *, gpointer data), gpointer data);
80 void radios_add(Radios *radios, const gchar *tip, gint value,
81 const gchar *label, ...);
82 void radios_pack(Radios *radios, GtkBox *box);
83 void radios_set_value(Radios *radios, gint value);
84 gint radios_get_value(Radios *radios);
85 GList *uri_list_to_glist(const char *uri_list);
86 GtkWidget *simple_image_new(GdkPixbuf *pixbuf);
87 void render_pixbuf(GdkPixbuf *pixbuf, GdkDrawable *target, GdkGC *gc,
88 int x, int y, int width, int height);
89 /* gdk_window_set_keep_below() only exists in GTK >= 2.4 and is broken until
90 * 2.4.6 */
91 void keep_below(GdkWindow *window, gboolean setting);
92 GdkPixbuf * rox_pixbuf_new_from_file_at_scale (const char *filename,
93 int width,
94 int height,
95 gboolean preserve_aspect_ratio,
96 GError **error);
97 void make_heading(GtkWidget *label, double scale_factor);
98 void launch_uri(GObject *button, const char *uri);
99 void allow_right_click(GtkWidget *button);
100 gint current_event_button(void);
101 GdkPixbuf *create_spotlight_pixbuf(GdkPixbuf *src, GdkColor *color);
102 GtkBuilder *get_gtk_builder(gchar **ids);
103 void add_stock_to_menu_item(GtkWidget *item, const char *stock);
105 #endif /* _GUI_SUPPORT_H */