/* Common Lisp bindings for GTK+ v2.0
- * Copyright (C) 1999-2000 Espen S. Johnsen <espejohn@online.no>
+ * Copyright (C) 1999-2000 Espen S. Johnsen <esj@stud.cs.uit.no>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* 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 <gtk/gtk.h>
-#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
-
/*
*
}
+/* 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
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 */
}
-/* Tree item */
-
-GtkWidget*
-gtk_tree_item_get_subtree (GtkTreeItem* tree_item)
-{
- return GTK_TREE_ITEM_SUBTREE (tree_item);
-}
-
-
/* Window */
void
}
-/* 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*
/* Color selection */
-void
gtk_color_selection_set_color_by_values (GtkColorSelection *colorsel,
gdouble red,
gdouble green,
}
-/* 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*
/* 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 */
}
-/* 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 */
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;
}
}
-/* 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 {
return gtk_style_get_color (style, color_type, state);
}
-
+/*
GdkFont*
gtk_style_get_font (GtkStyle *style)
{
{
return style->font = font;
}
-
+*/
GdkGC*
gtk_style_get_gc (GtkStyle *style, GtkColorType color_type, GtkStateType state)