#include <goffice/goffice-config.h>
#include "goffice-gtk.h"
#include <goffice/utils/go-file.h>
#include <goffice/goffice-priv.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <atk/atkrelation.h>
#include <atk/atkrelationset.h>
#include <glib/gi18n-lib.h>
#include <glib/gstdio.h>
#include <gsf/gsf-input-stdio.h>
#include <gsf/gsf-input-textline.h>
#include <string.h>
#include <errno.h>
Classes | |
struct | CBHelpPaths |
Defines | |
#define | PREVIEW_HSIZE 150 |
#define | PREVIEW_VSIZE 150 |
#define | _VPRINTF_MESSAGE(format, args, msg) |
#define | VPRINTF_MESSAGE(format, args, msg) |
#define | MAYBE_SWAP(ifirst, ilast) |
Functions | |
GtkWidget * | go_gtk_button_new_with_stock (char const *text, char const *stock_id) |
go_gtk_button_new_with_stock | |
GtkWidget * | go_gtk_dialog_add_button (GtkDialog *dialog, char const *text, char const *stock_id, gint response_id) |
go_gtk_dialog_add_button : : dialog you want to add a button : button label : stock icon id : respond id when button clicked | |
static void | cb_activate_default (GtkWindow *window) |
void | go_gtk_editable_enters (GtkWindow *window, GtkWidget *w) |
go_gtk_editable_enters: : : | |
GdkPixbuf * | go_pixbuf_intelligent_scale (GdkPixbuf *buf, guint width, guint height) |
void | go_gtk_widget_disable_focus (GtkWidget *w) |
int | go_pango_measure_string (PangoContext *context, PangoFontDescription const *font_desc, char const *str) |
static void | cb_parent_mapped (GtkWidget *parent, GtkWindow *window) |
void | go_gtk_window_set_transient (GtkWindow *toplevel, GtkWindow *window) |
go_gtk_window_set_transient : The calling window : the transient window | |
static gint | cb_non_modal_dialog_keypress (GtkWidget *w, GdkEventKey *e) |
void | go_gtk_nonmodal_dialog (GtkWindow *toplevel, GtkWindow *dialog) |
static void | fsel_response_cb (GtkFileChooser *dialog, G_GNUC_UNUSED gint response_id, gboolean *result) |
static gint | gu_delete_handler (GtkDialog *dialog, G_GNUC_UNUSED GdkEventAny *event, G_GNUC_UNUSED gpointer data) |
gboolean | go_gtk_file_sel_dialog (GtkWindow *toplevel, GtkWidget *w) |
static gboolean | filter_images (const GtkFileFilterInfo *filter_info, G_GNUC_UNUSED gpointer data) |
static void | update_preview_cb (GtkFileChooser *chooser) |
static GtkFileChooser * | gui_image_chooser_new (gboolean is_save) |
char * | go_gtk_select_image (GtkWindow *toplevel, char const *initial) |
static void | add_atk_relation (GtkWidget *w0, GtkWidget *w1, AtkRelationType type) |
gui_get_image_save_info: : a GtkWindow : a GSList of supported file formats : default file format : export resolution | |
void | go_atk_setup_label (GtkWidget *label, GtkWidget *target) |
go_atk_setup_label : : GtkWidget : GtkWidget | |
static void | go_help_display (CBHelpPaths const *paths) |
static void | cb_help (CBHelpPaths const *paths) |
void | go_gtk_help_button_init (GtkWidget *w, char const *data_dir, char const *app, char const *linkk) |
gboolean | go_gtk_url_is_writeable (GtkWindow *parent, char const *uri, gboolean overwrite_by_default) |
go_gtk_url_is_writeable: : GtkWindow : : | |
gint | go_gtk_dialog_run (GtkDialog *dialog, GtkWindow *parent) |
go_gtk_dialog_run | |
void | go_gtk_notice_dialog (GtkWindow *parent, GtkMessageType type, char const *format,...) |
void | go_gtk_notice_nonmodal_dialog (GtkWindow *parent, GtkWidget **ref, GtkMessageType type, char const *format,...) |
gboolean | go_gtk_query_yes_no (GtkWindow *parent, gboolean default_answer, char const *format,...) |
in the goffice_icon_dir. | |
GdkPixbuf * | go_pixbuf_new_from_file (char const *filename) |
static gint | gtk_dialog_get_response_for_widget (GtkDialog *dialog, GtkWidget *widget) |
void | go_dialog_guess_alternative_button_order (GtkDialog *dialog) |
go_dialog_guess_alternative_button_order: : | |
Variables | |
static gboolean | have_pixbufexts = FALSE |
static GSList * | pixbufexts = NULL |
#define _VPRINTF_MESSAGE | ( | format, | ||
args, | ||||
msg | ||||
) |
Referenced by go_gtk_query_yes_no().
#define MAYBE_SWAP | ( | ifirst, | ||
ilast | ||||
) |
if (ifirst >= 0 && ilast >= 0 && ifirst > ilast) { \ int tmp; \ \ tmp = new_order[ifirst]; \ new_order[ifirst] = new_order[ilast]; \ new_order[ilast] = tmp; \ \ tmp = ifirst; \ ifirst = ilast; \ ilast = tmp; \ \ again = TRUE; \ any = TRUE; \ }
Referenced by go_dialog_guess_alternative_button_order().
#define PREVIEW_HSIZE 150 |
Referenced by gui_image_chooser_new(), and update_preview_cb().
#define PREVIEW_VSIZE 150 |
Referenced by update_preview_cb().
#define VPRINTF_MESSAGE | ( | format, | ||
args, | ||||
msg | ||||
) |
_VPRINTF_MESSAGE (format, args, msg); \ g_return_if_fail (msg != NULL);
Referenced by go_gtk_notice_dialog(), and go_gtk_notice_nonmodal_dialog().
static void add_atk_relation | ( | GtkWidget * | w0, | |
GtkWidget * | w1, | |||
AtkRelationType | type | |||
) | [static] |
gui_get_image_save_info: : a GtkWindow : a GSList of supported file formats : default file format : export resolution
Opens a file chooser and let user choose file URI and format in a list of supported ones.
returns: file URI string, file GOImageFormat stored in , and export resolution in .
Referenced by go_atk_setup_label().
static void cb_activate_default | ( | GtkWindow * | window | ) | [static] |
Referenced by go_gtk_editable_enters().
static void cb_help | ( | CBHelpPaths const * | paths | ) | [static] |
References go_help_display().
Referenced by go_gtk_help_button_init().
static gint cb_non_modal_dialog_keypress | ( | GtkWidget * | w, | |
GdkEventKey * | e | |||
) | [static] |
References GDK_KEY_Escape.
Referenced by go_gtk_nonmodal_dialog().
static void cb_parent_mapped | ( | GtkWidget * | parent, | |
GtkWindow * | window | |||
) | [static] |
References gtk_widget_get_mapped().
Referenced by go_gtk_window_set_transient().
static gboolean filter_images | ( | const GtkFileFilterInfo * | filter_info, | |
G_GNUC_UNUSED gpointer | data | |||
) | [static] |
References gchar.
Referenced by gui_image_chooser_new().
static void fsel_response_cb | ( | GtkFileChooser * | dialog, | |
G_GNUC_UNUSED gint | response_id, | |||
gboolean * | result | |||
) | [static] |
Referenced by go_gtk_file_sel_dialog().
void go_atk_setup_label | ( | GtkWidget * | label, | |
GtkWidget * | target | |||
) |
go_atk_setup_label : : GtkWidget : GtkWidget
A convenience routine to setup label-for/labeled-by relationship between a pair of widgets
void go_dialog_guess_alternative_button_order | ( | GtkDialog * | dialog | ) |
go_dialog_guess_alternative_button_order: :
This function inspects the buttons in the dialog and comes up with a reasonable alternative dialog order.
Referenced by centerDialog().
GtkWidget* go_gtk_button_new_with_stock | ( | char const * | text, | |
char const * | stock_id | |||
) |
go_gtk_button_new_with_stock
Code from gedit
Creates a new GtkButton with custom label and stock image.
text : button label stock_id : id for stock icon
return : newly created button
Referenced by go_color_palette_setup(), and go_gtk_dialog_add_button().
GtkWidget* go_gtk_dialog_add_button | ( | GtkDialog * | dialog, | |
char const * | text, | |||
char const * | stock_id, | |||
gint | response_id | |||
) |
go_gtk_dialog_add_button : : dialog you want to add a button : button label : stock icon id : respond id when button clicked
Creates and adds a button with stock image to the action area of an existing dialog. Code from gedit
return : newly created button
References go_gtk_button_new_with_stock(), and gtk_widget_set_can_default().
gint go_gtk_dialog_run | ( | GtkDialog * | dialog, | |
GtkWindow * | parent | |||
) |
go_gtk_dialog_run
Pop up a dialog as child of a window.
Referenced by go_gtk_notice_dialog(), go_gtk_query_yes_no(), and go_gtk_url_is_writeable().
void go_gtk_editable_enters | ( | GtkWindow * | window, | |
GtkWidget * | w | |||
) |
go_gtk_editable_enters: : :
Normally if there's an editable widget (such as GtkEntry) in your dialog, pressing Enter will activate the editable rather than the default dialog button. However, in most cases, the user expects to type something in and then press enter to close the dialog. This function enables that behavior.
gboolean go_gtk_file_sel_dialog | ( | GtkWindow * | toplevel, | |
GtkWidget * | w | |||
) |
Referenced by go_gtk_select_image().
void go_gtk_help_button_init | ( | GtkWidget * | w, | |
char const * | data_dir, | |||
char const * | app, | |||
char const * | linkk | |||
) |
void go_gtk_nonmodal_dialog | ( | GtkWindow * | toplevel, | |
GtkWindow * | dialog | |||
) |
void go_gtk_notice_dialog | ( | GtkWindow * | parent, | |
GtkMessageType | type, | |||
char const * | format, | |||
... | ||||
) |
References gchar, go_gtk_dialog_run(), and VPRINTF_MESSAGE.
Referenced by go_gtk_url_is_writeable(), and go_help_display().
void go_gtk_notice_nonmodal_dialog | ( | GtkWindow * | parent, | |
GtkWidget ** | ref, | |||
GtkMessageType | type, | |||
char const * | format, | |||
... | ||||
) |
References gchar, and VPRINTF_MESSAGE.
gboolean go_gtk_query_yes_no | ( | GtkWindow * | parent, | |
gboolean | default_answer, | |||
char const * | format, | |||
... | ||||
) |
References _VPRINTF_MESSAGE, gchar, and go_gtk_dialog_run().
char* go_gtk_select_image | ( | GtkWindow * | toplevel, | |
char const * | initial | |||
) |
gboolean go_gtk_url_is_writeable | ( | GtkWindow * | parent, | |
char const * | uri, | |||
gboolean | overwrite_by_default | |||
) |
go_gtk_url_is_writeable: : GtkWindow : :
Check if it makes sense to try saving. If it's an existing file and writable for us, ask if we want to overwrite. We check for other problems, but if we miss any, the saver will report. So it doesn't have to be bulletproof.
FIXME: The message boxes should really be children of the file selector, not the workbook.
void go_gtk_widget_disable_focus | ( | GtkWidget * | w | ) |
Referenced by go_gtk_widget_disable_focus().
void go_gtk_window_set_transient | ( | GtkWindow * | toplevel, | |
GtkWindow * | window | |||
) |
go_gtk_window_set_transient : The calling window : the transient window
Make the window a child of the workbook in the command context, if there is one. The function duplicates the positioning functionality in gnome_dialog_set_parent, but does not require the transient window to be a GnomeDialog.
Referenced by go_gtk_dialog_run(), go_gtk_file_sel_dialog(), and go_gtk_nonmodal_dialog().
static void go_help_display | ( | CBHelpPaths const * | paths | ) | [static] |
References CBHelpPaths::app, CBHelpPaths::data_dir, gchar, go_gtk_notice_dialog(), id, and CBHelpPaths::link.
Referenced by cb_help().
int go_pango_measure_string | ( | PangoContext * | context, | |
PangoFontDescription const * | font_desc, | |||
char const * | str | |||
) |
GdkPixbuf* go_pixbuf_intelligent_scale | ( | GdkPixbuf * | buf, | |
guint | width, | |||
guint | height | |||
) |
Referenced by update_preview_cb().
GdkPixbuf* go_pixbuf_new_from_file | ( | char const * | filename | ) |
static gint gtk_dialog_get_response_for_widget | ( | GtkDialog * | dialog, | |
GtkWidget * | widget | |||
) | [static] |
Referenced by go_dialog_guess_alternative_button_order().
static gint gu_delete_handler | ( | GtkDialog * | dialog, | |
G_GNUC_UNUSED GdkEventAny * | event, | |||
G_GNUC_UNUSED gpointer | data | |||
) | [static] |
Referenced by go_gtk_file_sel_dialog().
static GtkFileChooser* gui_image_chooser_new | ( | gboolean | is_save | ) | [static] |
References _, filter_images(), gtk_box_new(), PREVIEW_HSIZE, and update_preview_cb().
Referenced by go_gtk_select_image().
static void update_preview_cb | ( | GtkFileChooser * | chooser | ) | [static] |
References _, gchar, go_pixbuf_intelligent_scale(), label, PREVIEW_HSIZE, PREVIEW_VSIZE, and size.
Referenced by gui_image_chooser_new().
gboolean have_pixbufexts = FALSE [static] |
GSList* pixbufexts = NULL [static] |