diff options
Diffstat (limited to 'tools/glade/glade/editor.h')
-rw-r--r-- | tools/glade/glade/editor.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/tools/glade/glade/editor.h b/tools/glade/glade/editor.h new file mode 100644 index 00000000..082f3c31 --- /dev/null +++ b/tools/glade/glade/editor.h @@ -0,0 +1,107 @@ +/* Gtk+ User Interface Builder + * Copyright (C) 1998 Damon Chaplin + * + * 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 GLADE_EDITOR_H +#define GLADE_EDITOR_H + +#include <gtk/gtkwidget.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* The size of the selection handles in the corners of widgets */ +#define GB_CORNER_WIDTH 7 +#define GB_CORNER_HEIGHT 7 + + +void editor_init (void); + +/* Grid and snap settings */ +gboolean editor_get_show_grid (void); +void editor_set_show_grid (gboolean show); +void editor_show_grid_settings_dialog (GtkWidget *widget); + +gboolean editor_get_snap_to_grid (void); +void editor_set_snap_to_grid (gboolean snap); +void editor_show_snap_settings_dialog (GtkWidget *widget); + +/* Signal handlers */ +gint editor_close_window (GtkWidget *widget, + GdkEvent *event, + gpointer data); + +void editor_on_delete (void); + +/* These are from the popup context-sensitive menus */ +void editor_on_select_activate (GtkWidget *menuitem, + GtkWidget *widget); +void editor_on_cut_activate (GtkWidget *menuitem, + GtkWidget *widget); +void editor_on_copy_activate (GtkWidget *menuitem, + GtkWidget *widget); +void editor_on_paste_activate (GtkWidget *menuitem, + GtkWidget *widget); +void editor_on_delete_activate (GtkWidget *menuitem, + GtkWidget *widget); + +/* General functions */ +gboolean editor_select_widget_control (GtkWidget *widget); +gboolean editor_select_widget (GtkWidget *widget, + GdkEventButton *event, + gint x, + gint y); +gboolean editor_is_selected (GtkWidget *widget); +/* This sets the list of selected widgets, possibly NULL. It takes control + of the GList, so don't free it. */ +void editor_set_selection (GList *new_selection); +void editor_dump_selection (void); + +/* Returns NULL if a widget can be deleted, or an error message. */ +gchar* editor_can_delete_widget (GtkWidget *widget); + +void editor_delete_widget (GtkWidget *widget); + +GtkWidget* editor_new_placeholder (void); + +void editor_add_key_signals (GtkWidget *widget); +void editor_add_mouse_signals (GtkWidget *widget); +void editor_add_mouse_signals_to_existing(GtkWidget *widget); +void editor_add_draw_signals (GtkWidget *widget); + +void editor_refresh_widget (GtkWidget *widget); +void editor_refresh_widget_selection (GtkWidget *widget); +void editor_refresh_widget_area (GtkWidget *widget, + gint x, + gint y, + gint w, + gint h); + +GList* editor_get_selection (void); +gint editor_clear_selection (GtkWidget *leave_widget); +void editor_remove_widget_from_selection (GtkWidget *widget); +void editor_deselect_all_placeholders (void); + +/* Called when a GbWidget is destroyed so the editor can remove any references + to it. */ +void editor_on_widget_destroyed (GtkWidget *widget); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* GLADE_EDITOR_H */ |