AbiWidget Header
From AbiWiki
The header file abiwidget.h, shows all the methods and signals currently, (as of January 27th, 2007), available to AbiWidget.
/* The AbiWord Widget * * Copyright (C) 2001 AbiSource, Inc. * Copyright (C) 2001,2002 Dom Lachowicz <cinamod@hotmail.com> * Copyright (C) 2002 Martin Sevior <msevior@physics.unimelb.edu.au> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. */ #ifndef ABI_WIDGET_H #define ABI_WIDGET_H #include <gtk/gtk.h> #include <gsf/gsf-input.h> #include <gsf/gsf-output.h> #ifdef HAVE_BONOBO #include <libbonoboui.h> #include <bonobo/bonobo-macros.h> #include <bonobo/bonobo-object.h> #endif G_BEGIN_DECLS #define ABI_TYPE_WIDGET (abi_widget_get_type ()) #define ABI_WIDGET(obj) (GTK_CHECK_CAST((obj), ABI_TYPE_WIDGET, [[AbiWidget|AbiWidget]])) #define IS_ABI_WIDGET(obj) (GTK_CHECK_TYPE((obj), ABI_TYPE_WIDGET)) #define IS_ABI_WIDGET_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), ABI_TYPE_WIDGET)) #define ABI_WIDGET_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), ABI_TYPE_WIDGET, AbiWidgetClass)) /* forward declarations */ typedef struct _AbiWidget AbiWidget; typedef struct _AbiWidgetClass AbiWidgetClass; typedef struct _AbiPrivData AbiPrivData; /* * These functions basically just marshall back their arguments into * the AbiWord application and return a boolean */ typedef gboolean (*Abi_[[EditMethod|EditMethod]]) ([[AbiWidget|AbiWidget]] *, const char *, gint32, gint32); typedef gboolean (*Abi_Void__Bool_[[EditMethod|EditMethod]]) ([[AbiWidget|AbiWidget]] *); typedef gboolean (*Abi_Int_Int__Bool_[[EditMethod|EditMethod]]) ([[AbiWidget|AbiWidget]] *, gint32, gint32); typedef gboolean (*Abi_[[CharPtr|CharPtr]]__Bool_[[EditMethod|EditMethod]]) ([[AbiWidget|AbiWidget]] *, const char *); /* * Only here for completeness in that that we might want to * add signals (such as "saved") later */ typedef gboolean (*[[AbiSignal|AbiSignal]]) ([[AbiWidget|AbiWidget]] *, gpointer closure); struct _[[AbiWidget|AbiWidget]] { [[GtkBin|GtkBin]] bin; [[GtkWidget|GtkWidget]] * child; /* private instance data */ [[AbiPrivData|AbiPrivData]] * priv; }; struct _[[AbiWidgetClass|AbiWidgetClass]] { [[GtkBinClass|GtkBinClass]] parent_class; /* invoke any edit method based on its name */ gboolean (*invoke) ([[AbiWidget|AbiWidget]] *, const char * mthdName); gboolean (*invoke_ex) ([[AbiWidget|AbiWidget]] *, const char * mthdName, const char * data, gint32 x, gint32 y); /* a list of some of our more useful edit methods */ Abi_Void__Bool_[[EditMethod|EditMethod]] align_center; Abi_Void__Bool_[[EditMethod|EditMethod]] align_justify; Abi_Void__Bool_[[EditMethod|EditMethod]] align_left; Abi_Void__Bool_[[EditMethod|EditMethod]] align_right; Abi_Void__Bool_[[EditMethod|EditMethod]] copy; Abi_Void__Bool_[[EditMethod|EditMethod]] cut; Abi_Void__Bool_[[EditMethod|EditMethod]] paste; Abi_Void__Bool_[[EditMethod|EditMethod]] paste_special; Abi_Void__Bool_[[EditMethod|EditMethod]] select_all; Abi_Void__Bool_[[EditMethod|EditMethod]] select_block; Abi_Void__Bool_[[EditMethod|EditMethod]] select_line; Abi_Void__Bool_[[EditMethod|EditMethod]] select_word; Abi_Void__Bool_[[EditMethod|EditMethod]] undo; Abi_Void__Bool_[[EditMethod|EditMethod]] redo; Abi_[[CharPtr|CharPtr]]__Bool_[[EditMethod|EditMethod]] insert_data; Abi_Void__Bool_[[EditMethod|EditMethod]] insert_space; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_bob; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_bod; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_bol; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_bow; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_eob; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_eod; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_eol; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_eow; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_left; Abi_Void__Bool_[[EditMethod|EditMethod]] delete_right; Abi_Void__Bool_[[EditMethod|EditMethod]] edit_header; Abi_Void__Bool_[[EditMethod|EditMethod]] edit_footer; Abi_Void__Bool_[[EditMethod|EditMethod]] file_open; Abi_Void__Bool_[[EditMethod|EditMethod]] file_save; Abi_Void__Bool_[[EditMethod|EditMethod]] remove_header; Abi_Void__Bool_[[EditMethod|EditMethod]] remove_footer; Abi_Void__Bool_[[EditMethod|EditMethod]] save_immediate; Abi_Void__Bool_[[EditMethod|EditMethod]] select_bob; Abi_Void__Bool_[[EditMethod|EditMethod]] select_bod; Abi_Void__Bool_[[EditMethod|EditMethod]] select_bol; Abi_Void__Bool_[[EditMethod|EditMethod]] select_bow; Abi_Void__Bool_[[EditMethod|EditMethod]] select_eob; Abi_Void__Bool_[[EditMethod|EditMethod]] select_eod; Abi_Void__Bool_[[EditMethod|EditMethod]] select_eol; Abi_Void__Bool_[[EditMethod|EditMethod]] select_eow; Abi_Void__Bool_[[EditMethod|EditMethod]] select_left; Abi_Void__Bool_[[EditMethod|EditMethod]] select_next_line; Abi_Void__Bool_[[EditMethod|EditMethod]] select_page_down; Abi_Void__Bool_[[EditMethod|EditMethod]] select_page_up; Abi_Void__Bool_[[EditMethod|EditMethod]] select_prev_line; Abi_Void__Bool_[[EditMethod|EditMethod]] select_right; Abi_Void__Bool_[[EditMethod|EditMethod]] select_screen_down; Abi_Void__Bool_[[EditMethod|EditMethod]] select_screen_up; Abi_Int_Int__Bool_[[EditMethod|EditMethod]] select_to_xy; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_bold; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_underline; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_bottomline; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_insert_mode; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_italic; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_overline; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_plain; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_strike; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_sub; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_super; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_topline; Abi_Void__Bool_[[EditMethod|EditMethod]] toggle_unindent; Abi_Void__Bool_[[EditMethod|EditMethod]] view_formatting_marks; Abi_Void__Bool_[[EditMethod|EditMethod]] view_print_layout; Abi_Void__Bool_[[EditMethod|EditMethod]] view_normal_layout; Abi_Void__Bool_[[EditMethod|EditMethod]] view_online_layout; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_bob; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_bod; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_bol; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_bop; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_bow; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_eob; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_eod; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_eol; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_eop; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_eow; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_left; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_next_line; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_next_page; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_next_screen; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_prev_line; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_prev_page; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_prev_screen; Abi_Void__Bool_[[EditMethod|EditMethod]] moveto_right; Abi_Int_Int__Bool_[[EditMethod|EditMethod]] moveto_to_xy; Abi_Void__Bool_[[EditMethod|EditMethod]] zoom_100; Abi_Void__Bool_[[EditMethod|EditMethod]] zoom_200; Abi_Void__Bool_[[EditMethod|EditMethod]] zoom_50; Abi_Void__Bool_[[EditMethod|EditMethod]] zoom_75; Abi_Void__Bool_[[EditMethod|EditMethod]] zoom_whole; Abi_Void__Bool_[[EditMethod|EditMethod]] zoom_width; Abi_[[EditMethod|EditMethod]] em_pad[20]; /* signals */ void (* signal_bold) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_italic) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_underline) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_overline) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_line_through) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_topline) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_bottomline) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_superscript) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_subscript) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_font_size) ([[AbiWidget|AbiWidget]] * widget, double value); void (* signal_font_family) ([[AbiWidget|AbiWidget]] * widget, const char * value); void (* signal_can_undo) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_can_redo) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_is_dirty) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_left_align) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_right_align) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_center_align) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_justify_align) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_style_name) ([[AbiWidget|AbiWidget]] * widget, const char * value); void (* signal_text_selected) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_image_selected) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_selection_cleared) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_enter_selection) ([[AbiWidget|AbiWidget]] * widget, gboolean value); void (* signal_leave_selection) ([[AbiWidget|AbiWidget]] * widget, gboolean value); [[AbiSignal|AbiSignal]] sig_pad[20]; }; /* the public API */ [[GtkWidget|GtkWidget]] * abi_widget_new (void); [[GtkWidget|GtkWidget]] * abi_widget_new_with_file (const gchar * file); [[GtkType|GtkType]] abi_widget_get_type (void); void abi_widget_turn_on_cursor([[AbiWidget|AbiWidget]] * widget); gboolean abi_widget_invoke([[AbiWidget|AbiWidget]] * w, const char * mthdName); gboolean abi_widget_invoke_ex ([[AbiWidget|AbiWidget]] * w, const char *mthdName, const char * data, gint32 x, gint32 y); void abi_widget_draw([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_load_file([[AbiWidget|AbiWidget]] * abi, const char * pszFile); gboolean abi_widget_load_file_from_gsf([[AbiWidget|AbiWidget]] * abi, [[GsfInput|GsfInput]] * input); gboolean abi_widget_save ( [[AbiWidget|AbiWidget]] * w, const char * fname ); gboolean abi_widget_save_ext ( [[AbiWidget|AbiWidget]] * w, const char * fname, const char * extension ) ; gboolean abi_widget_save_with_type ( [[AbiWidget|AbiWidget]] * w, const char * fname, const char * extension_or_mime_type ); gboolean abi_widget_save_to_gsf ( [[AbiWidget|AbiWidget]] * w, [[GsfOutput|GsfOutput]] * output, const char * extension_or_mime_type ); void abi_widget_map_to_screen([[AbiWidget|AbiWidget]] * abi); void abi_widget_set_property(GObject *object, guint arg_id, const GValue *arg, [[GParamSpec|GParamSpec]] *pspec); void abi_widget_get_property(GObject *object, guint arg_id, GValue *arg, [[GParamSpec|GParamSpec]] *pspec); /* bindings to our more useful edit methods */ gboolean abi_widget_align_center ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_align_justify ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_align_left ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_align_right ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_copy ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_cut ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_paste ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_paste_special ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_all ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_block ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_line ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_word ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_undo ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_redo ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_insert_data ([[AbiWidget|AbiWidget]] * w, const char * str); gboolean abi_widget_insert_space ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_bob ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_bod ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_bol ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_bow ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_eob ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_eod ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_eol ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_eow ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_left ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_delete_right ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_edit_header ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_edit_footer ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_file_open ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_file_save ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_remove_header ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_remove_footer ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_save_immediate ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_bob ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_bod ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_bol ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_bow ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_eob ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_eod ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_eol ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_eow ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_left ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_next_line ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_page_down ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_page_up ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_prev_line ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_right ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_screen_down ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_screen_up ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_select_to_xy ([[AbiWidget|AbiWidget]] * w, gint32 x, gint32 y); gboolean abi_widget_toggle_bold ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_underline ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_bottomline ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_insert_mode ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_italic ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_overline ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_plain ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_strike ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_sub ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_super ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_topline ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_toggle_unindent ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_view_formatting_marks ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_view_print_layout ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_view_normal_layout ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_view_online_layout ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_bob ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_bod ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_bol ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_bop ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_bow ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_eob ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_eod ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_eol ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_eop ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_eow ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_left ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_next_line ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_next_page ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_next_screen ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_prev_line ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_prev_page ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_prev_screen ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_right ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_moveto_to_xy ([[AbiWidget|AbiWidget]] * w, gint32 x, gint32 y); gboolean abi_widget_zoom_100 ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_zoom_200 ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_zoom_50 ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_zoom_75 ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_zoom_whole ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_zoom_width ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_set_show_margin ([[AbiWidget|AbiWidget]] * w, gboolean b); gboolean abi_widget_get_show_margin ([[AbiWidget|AbiWidget]] * w); gboolean abi_widget_set_word_selections ([[AbiWidget|AbiWidget]] * w, gboolean b); gboolean abi_widget_get_word_selections ([[AbiWidget|AbiWidget]] * w); gchar * abi_widget_get_content ([[AbiWidget|AbiWidget]] * w, gchar * mimetype, gint* iLength); gchar * abi_widget_get_selection ([[AbiWidget|AbiWidget]] * w, gchar * mimetype, gint* iLength); gboolean abi_widget_insert_table([[AbiWidget|AbiWidget]] * w, gint32 rows, gint32 cols); gboolean abi_widget_get_mouse_pos([[AbiWidget|AbiWidget]] * w, gint32 * x, gint32 * y); #ifdef HAVE_BONOBO void abi_widget_set_Bonobo_uic([[AbiWidget|AbiWidget]] * abi,[[BonoboUIComponent|BonoboUIComponent]] * uic); [[BonoboUIComponent|BonoboUIComponent]] * abi_widget_get_Bonobo_uic([[AbiWidget|AbiWidget]] * abi); #endif #ifdef ABIWORD_INTERNAL /* these functions are used by abiword internally and really aren''t exported to the rest of the world */ XAP_Frame * abi_widget_get_frame ( [[AbiWidget|AbiWidget]] * w ) ; #endif G_END_DECLS #endif /* ABI_WIDGET_H */