r3768: Updated years.
[rox-filer.git] / ROX-Filer / src / gui_support.h
blob19934cd7bf51283f8697a0069cb5ca32c833eac2
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 /* For Xinerama */
26 extern gint n_monitors;
27 extern GdkRectangle *monitor_geom;
28 /* Smallest monitor - use for sizing windows */
29 extern gint monitor_width, monitor_height;
30 typedef struct {
31 gboolean left, right, top, bottom;
32 } MonitorAdjacent;
33 extern MonitorAdjacent *monitor_adjacent;
35 typedef void (*HelpFunc)(gpointer data);
36 typedef const char *ParseFunc(gchar *line);
38 void gui_store_screen_geometry(GdkScreen *screen);
40 void gui_support_init(void);
41 int get_choice(const char *title,
42 const char *message,
43 int number_of_buttons, ...);
44 void report_error(const char *message, ...);
45 void info_message(const char *message, ...);
46 void set_cardinal_property(GdkWindow *window, GdkAtom prop, guint32 value);
47 void make_panel_window(GtkWidget *widget);
48 void delayed_error(const char *error, ...);
49 gboolean load_file(const char *pathname, char **data_out, long *length_out);
50 GtkWidget *new_help_button(HelpFunc show_help, gpointer data);
51 void parse_file(const char *path, ParseFunc *parse_line);
52 gboolean get_pointer_xy(int *x, int *y);
53 void centre_window(GdkWindow *window, int x, int y);
54 void wink_widget(GtkWidget *widget);
55 void destroy_on_idle(GtkWidget *widget);
56 gint rox_spawn(const gchar *dir, const gchar **argv);
57 GtkWidget *button_new_mixed(const char *stock, const char *message);
58 GtkWidget *button_new_image_text(GtkWidget *image, const char *message);
59 void entry_set_error(GtkWidget *entry, gboolean error);
60 void window_put_just_above(GdkWindow *higher, GdkWindow *lower);
61 void fixed_move_fast(GtkFixed *fixed, GtkWidget *widget, int x, int y);
62 void tooltip_show(guchar *text);
63 void tooltip_prime(GtkFunction callback, GObject *object);
64 void widget_modify_font(GtkWidget *widget, PangoFontDescription *font_desc);
65 gboolean confirm(const gchar *message, const gchar *stock, const gchar *action);
67 Radios *radios_new(void (*changed)(gpointer data), gpointer data);
68 void radios_add(Radios *radios, const gchar *tip, gint value,
69 const gchar *label, ...);
70 void radios_pack(Radios *radios, GtkBox *box);
71 void radios_set_value(Radios *radios, gint value);
72 gint radios_get_value(Radios *radios);
73 GList *uri_list_to_glist(const char *uri_list);
74 GtkWidget *simple_image_new(GdkPixbuf *pixbuf);
75 void render_pixbuf(GdkPixbuf *pixbuf, GdkDrawable *target, GdkGC *gc,
76 int x, int y, int width, int height);
77 /* gdk_window_set_keep_below() only exists in GTK >= 2.4 and is broken until
78 * 2.4.6 */
79 void keep_below(GdkWindow *window, gboolean setting);
80 GdkPixbuf * rox_pixbuf_new_from_file_at_scale (const char *filename,
81 int width,
82 int height,
83 gboolean preserve_aspect_ratio,
84 GError **error);
87 #endif /* _GUI_SUPPORT_H */