X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/2f779f71ae5fc3d82fc0d622571e7f3e086e7978..f5b67f2b6882561e4fd055f672de8d92a5ee55d4:/gtk/gtkglue.c?ds=sidebyside diff --git a/gtk/gtkglue.c b/gtk/gtkglue.c index b232ae2..73716a1 100644 --- a/gtk/gtkglue.c +++ b/gtk/gtkglue.c @@ -1,5 +1,5 @@ /* Common Lisp bindings for GTK+ v2.0 - * Copyright (C) 1999-2000 Espen S. Johnsen + * Copyright (C) 1999-2002 Espen S. Johnsen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -16,69 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: gtkglue.c,v 1.3 2000-10-05 17:32:34 espen Exp $ */ +/* $Id: gtkglue.c,v 1.11 2002-03-24 21:55:49 espen Exp $ */ #include -#ifdef CMUCL -#include "lisp.h" - -extern lispobj funcall1(lispobj function, lispobj arg0); -extern lispobj funcall3(lispobj function, lispobj arg0, - lispobj arg1, lispobj arg2); - -lispobj callback_trampoline; -lispobj destroy_user_data; -#endif - - -void callback_marshal (GtkObject *object, - gpointer data, - guint n_args, - GtkArg *args) -{ -#ifdef CMUCL - funcall3 (callback_trampoline, alloc_number ((unsigned long)data), - alloc_number (n_args), alloc_sap (args)); - - /* lispobj lisp_args[4]; - - lisp_args[0] = alloc_sap (object); - lisp_args[1] = alloc_number ((unsigned long)data); - lisp_args[2] = alloc_number (n_args); - lisp_args[3] = alloc_sap (args); - - call_into_lisp (callback_trampoline, lisp_args, 4);*/ -#elif defined(CLISP) - callback_trampoline ((unsigned long)data, n_args, (unsigned int) args); -#endif -} - - -void destroy_marshal (gpointer data) -{ -#ifdef CMUCL - funcall1 (destroy_user_data, alloc_number ((unsigned long)data)); -#elif defined(CLISP) - destroy_user_data ((unsigned long)data); -#endif -} - -#ifndef CMUCL -void* -callback_marshal_address () -{ - return (void*)callback_marshal; -} - -void* -destroy_marshal_address () -{ - return (void*)destroy_marshal; -} -#endif - /* * @@ -95,15 +37,15 @@ gtk_query_version (guint *major, guint *minor, guint *micro) } -/* Is this necessary? */ - -GtkType -gtk_object_type (GtkObject *obj) +void gtk_callback_marshal (GtkWidget *widget, gpointer data) { - return GTK_OBJECT_TYPE (obj); -} - + GValue arg; + memset (&arg, 0, sizeof (GValue)); + g_value_init (&arg, gtk_widget_get_type ()); + g_value_set_object (&arg, widget); + callback_marshal ((guint)data, NULL, 1, &arg); +} /* Widget */ @@ -126,7 +68,7 @@ gtk_widget_mapped_p (GtkWidget *widget) } void -gtk_widget_allocation (GtkWidget *widget, int *width, int *height) +gtk_widget_get_size_allocation (GtkWidget *widget, int *width, int *height) { *width = widget->allocation.width; *height = widget->allocation.height; @@ -142,15 +84,24 @@ gtk_container_get_focus_child (GtkContainer *container) } +/* Dialog */ -/* Menu item */ +GtkWidget* +gtk_dialog_get_vbox (GtkDialog *dialog) +{ + return dialog->vbox; +} GtkWidget* -gtk_menu_item_get_submenu (GtkMenuItem* menu_item) +gtk_dialog_get_action_area (GtkDialog *dialog) { - return menu_item->submenu; + return dialog->action_area; } + + +/* Menu item */ + GtkSubmenuPlacement gtk_menu_item_get_placement (GtkMenuItem* menu_item) { @@ -158,15 +109,15 @@ gtk_menu_item_get_placement (GtkMenuItem* menu_item) } gint -gtk_menu_item_get_show_toggle (GtkMenuItem* menu_item) +gtk_menu_item_get_show_submenu (GtkMenuItem* menu_item) { - return menu_item->show_toggle_indicator; + return menu_item->show_submenu_indicator; } -gint -gtk_menu_item_get_show_submenu (GtkMenuItem* menu_item) +void +gtk_menu_item_set_show_submenu (GtkMenuItem* menu_item, guint show) { - return menu_item->show_submenu_indicator; + menu_item->show_submenu_indicator = show; } @@ -186,22 +137,13 @@ gtk_check_menu_item_get_show_toggle (GtkCheckMenuItem* check_menu_item) } -/* Tree item */ - -GtkWidget* -gtk_tree_item_get_subtree (GtkTreeItem* tree_item) -{ - return GTK_TREE_ITEM_SUBTREE (tree_item); -} - /* Window */ -void -gtk_window_wmclass (GtkWindow* window, gchar* name, gchar* class) +GtkWidget* +gtk_window_get_default (GtkWindow *window) { - name = window->wmclass_name; - class = window->wmclass_class; + return window->default_widget; } @@ -289,115 +231,6 @@ gtk_combo_get_case_sensitive (GtkCombo *combo) } -/* CList */ - -#ifdef CLIST -GList* -gtk_clist_selection (GtkCList *clist) -{ - return clist->selection; -} - -gint -gtk_clist_get_titles_visible (GtkCList *clist) -{ - return (clist->title_window && GTK_WIDGET_VISIBLE (clist->title_window)); -} - -gint -gtk_clist_get_n_rows (GtkCList *clist) -{ - return clist->rows; -} - -gint -gtk_clist_get_focus_row (GtkCList *clist) -{ - return clist->focus_row; -} - -gint -gtk_clist_get_sort_column (GtkCList *clist) -{ - return clist->sort_column; -} - -GtkJustification -gtk_clist_column_justification (GtkCList *clist, - gint column) -{ - return clist->column[column].justification; -} - -gboolean -gtk_clist_column_visible_p (GtkCList *clist, - gint column) -{ - return clist->column[column].visible; -} - -gboolean -gtk_clist_column_resizeable_p (GtkCList *clist, - gint column) -{ - return clist->column[column].resizeable; -} - -gboolean -gtk_clist_column_auto_resize_p (GtkCList *clist, - gint column) -{ - return clist->column[column].auto_resize; -} - -gint -gtk_clist_column_width (GtkCList *clist, - gint column) -{ - return clist->column[column].width; -} - -gboolean -gtk_clist_auto_sort_p (GtkCList *clist) -{ - return GTK_CLIST_AUTO_SORT (clist); -} -#endif - -/* CTree */ - -#ifdef CTREE -gboolean -gtk_ctree_node_leaf_p (GtkCTreeNode* node) -{ - return GTK_CTREE_ROW (node)->is_leaf; -} - -GtkCTreeNode* -gtk_ctree_node_child (GtkCTreeNode* node) -{ - return GTK_CTREE_ROW (node)->children; -} - -GtkCTreeNode* -gtk_ctree_node_parent (GtkCTreeNode* node) -{ - return GTK_CTREE_ROW (node)->parent; -} - -GtkCTreeNode* -gtk_ctree_node_sibling (GtkCTreeNode* node) -{ - return GTK_CTREE_ROW (node)->sibling; -} - -gint -gtk_ctree_node_level (GtkCTreeNode* node) -{ - return GTK_CTREE_ROW (node)->level; -} -#endif - /* Paned */ GtkWidget* @@ -431,14 +264,6 @@ gtk_paned_get_position (GtkPaned *paned) /* Layout */ -gint -gtk_layout_get_size (GtkLayout *layout, gint *width, gint *height) - -{ - *width = layout->width; - *height = layout->height; -} - GdkWindow* gtk_layout_get_bin_window (GtkLayout *layout) { @@ -455,37 +280,6 @@ gtk_list_selection (GtkList *list) } -/* Menu */ - -gboolean -gtk_menu_get_tearoff_state (GtkMenu *menu) -{ - return menu->torn_off; -} - -gchar* -gtk_menu_get_title (GtkMenu *menu) -{ - return g_strdup (gtk_object_get_data (GTK_OBJECT (menu), "gtk-menu-title")); -} - - -/* Table */ - -guint -gtk_table_row_spacing (GtkTable *table, - guint row) -{ - return table->rows[row].spacing; -} - -guint -gtk_table_column_spacing (GtkTable *table, - guint col) -{ - return table->cols[col].spacing; -} - /* Toolbar */ @@ -502,39 +296,6 @@ gtk_toolbar_get_tooltips (GtkToolbar *toolbar) } -/* Tree */ - -GtkSelectionMode -gtk_tree_get_selection_mode (GtkTree *tree) -{ - return tree->selection_mode; -} - -GtkSelectionMode -gtk_tree_get_view_mode (GtkTree *tree) -{ - return tree->view_mode; -} - -GtkSelectionMode -gtk_tree_get_view_lines (GtkTree *tree) -{ - return tree->view_mode; -} - -GtkTree* -gtk_tree_get_root_tree (GtkTree *tree) -{ - return GTK_TREE_ROOT_TREE (tree); -} - -GList* -gtk_tree_selection (GtkTree *tree) -{ - return GTK_TREE_SELECTION (tree); -} - - /* Drawing area */ void @@ -563,30 +324,8 @@ gtk_progress_get_adjustment (GtkProgress *progress) } -/* Scrolled window */ - -GtkWidget* -gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *window) -{ - return window->hscrollbar; -} - -GtkWidget* -gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *window) -{ - return window->vscrollbar; -} - - - /* Tooltips */ -guint -gtk_tooltips_get_delay (GtkTooltips *tooltips) -{ - return tooltips->delay; -} - gboolean gtk_tooltips_get_enabled (GtkTooltips *tooltips) { @@ -665,7 +404,7 @@ gtk_style_set_color (GtkStyle *style, GtkColorType color_type, return gtk_style_get_color (style, color_type, state); } - +/* GdkFont* gtk_style_get_font (GtkStyle *style) { @@ -678,7 +417,7 @@ gtk_style_set_font (GtkStyle *style, GdkFont *font) { return style->font = font; } - +*/ GdkGC* gtk_style_get_gc (GtkStyle *style, GtkColorType color_type, GtkStateType state)