X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/560af5c515eb5b6206040a9334de4254d2650147..be0a901dc0fb4b6d1b15ba7bca22414efa0f36b7:/gtk/gtkglue.c?ds=sidebyside diff --git a/gtk/gtkglue.c b/gtk/gtkglue.c index dcd199c..2a2fbb8 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-2000 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.1 2000-08-14 16:45:01 espen Exp $ */ +/* $Id: gtkglue.c,v 1.7 2001-10-21 23:22:53 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 - /* * @@ -142,19 +84,28 @@ 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; } -gint -gtk_menu_item_get_show_toggle (GtkMenuItem* menu_item) + + +/* Menu item */ + +GtkSubmenuPlacement +gtk_menu_item_get_placement (GtkMenuItem* menu_item) { - return menu_item->show_toggle_indicator; + return menu_item->submenu_placement; } gint @@ -163,6 +114,12 @@ gtk_menu_item_get_show_submenu (GtkMenuItem* menu_item) return menu_item->show_submenu_indicator; } +void +gtk_menu_item_set_show_submenu (GtkMenuItem* menu_item, guint show) +{ + menu_item->show_submenu_indicator = show; +} + /* Check menu item */ @@ -180,15 +137,6 @@ 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 @@ -199,61 +147,6 @@ gtk_window_wmclass (GtkWindow* window, gchar* name, gchar* class) } -/* Color selection dialog */ - -GtkWidget* -gtk_color_selection_dialog_get_colorsel (GtkColorSelectionDialog* dialog) -{ - return dialog->colorsel; -} - -/* GtkWidget* */ -/* gtk_color_selection_dialog_get_main_vbox (GtkColorSelectionDialog* dialog) */ -/* { */ -/* return dialog->main_vbox; */ -/* } */ - -GtkWidget* -gtk_color_selection_dialog_get_ok_button (GtkColorSelectionDialog* dialog) -{ - return dialog->ok_button; -} - -/* GtkWidget* */ -/* gtk_color_selection_dialog_get_reset_button (GtkColorSelectionDialog* dialog) */ -/* { */ -/* return dialog->reset_button; */ -/* } */ - -GtkWidget* -gtk_color_selection_dialog_get_cancel_button (GtkColorSelectionDialog* dialog) -{ - return dialog->cancel_button; -} - -GtkWidget* -gtk_color_selection_dialog_get_help_button (GtkColorSelectionDialog* dialog) -{ - return dialog->help_button; -} - - -/* Dialog */ - -GtkWidget* -gtk_dialog_get_action_area (GtkDialog *dialog) -{ - return dialog->action_area; -} - - -GtkWidget* -gtk_dialog_get_vbox (GtkDialog *dialog) -{ - return dialog->vbox; -} - - /* File selection */ GtkWidget* @@ -277,7 +170,6 @@ gtk_file_selection_get_cancel_button (GtkFileSelection *filesel) /* Color selection */ -void gtk_color_selection_set_color_by_values (GtkColorSelection *colorsel, gdouble red, gdouble green, @@ -339,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* @@ -481,28 +264,35 @@ gtk_paned_get_position (GtkPaned *paned) /* Layout */ -gint -gtk_layout_size (GtkLayout *layout, gint *width, gint *height) - +GdkWindow* +gtk_layout_get_bin_window (GtkLayout *layout) { - *width = layout->width; - *height = layout->height; + return layout->bin_window; } -void -gtk_layout_offset (GtkLayout *layout, gint *x, gint *y) +guint +gtk_layout_get_xoffset (GtkLayout *layout) { - *x = layout->xoffset; - *y = layout->yoffset; + return layout->xoffset; } +void +gtk_layout_set_xoffset (GtkLayout *layout, guint xoffset) +{ + return layout->xoffset = xoffset; +} -GdkWindow* -gtk_layout_get_bin_window (GtkLayout *layout) +guint +gtk_layout_get_yoffset (GtkLayout *layout) { - return layout->bin_window; + return layout->yoffset; } +void +gtk_layout_set_yoffset (GtkLayout *layout, guint yoffset) +{ + return layout->yoffset = yoffset; +} /* List */ @@ -513,22 +303,6 @@ gtk_list_selection (GtkList *list) } -/* 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 */ @@ -538,37 +312,10 @@ gtk_toolbar_num_children (GtkToolbar *toolbar) return toolbar->num_children; } - -/* 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) +gint +gtk_toolbar_get_tooltips (GtkToolbar *toolbar) { - return GTK_TREE_SELECTION (tree); + return toolbar->tooltips->enabled; } @@ -600,34 +347,15 @@ 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) +gboolean +gtk_tooltips_get_enabled (GtkTooltips *tooltips) { - return tooltips->delay; + return tooltips->enabled; } - - - /* GtkStyle accessor functions */ typedef enum { @@ -699,7 +427,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) { @@ -712,7 +440,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)