summaryrefslogtreecommitdiff
path: root/gladeui/glade-custom.c
diff options
context:
space:
mode:
Diffstat (limited to 'gladeui/glade-custom.c')
-rw-r--r--gladeui/glade-custom.c275
1 files changed, 0 insertions, 275 deletions
diff --git a/gladeui/glade-custom.c b/gladeui/glade-custom.c
deleted file mode 100644
index 069593b6..00000000
--- a/gladeui/glade-custom.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * glade-custom.c - An emulation of a custom widget used to
- * support the glade-2 style custom widget.
- *
- * Copyright (C) 2005 The GNOME Foundation.
- *
- * Author(s):
- * Tristan Van Berkom <tvb@gnome.org>
- *
- * 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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <glib/gi18n-lib.h>
-
-#include "glade-custom.h"
-
-enum
-{
- PROP_0,
- PROP_CREATION,
- PROP_STR1,
- PROP_STR2,
- PROP_INT1,
- PROP_INT2
-};
-
-static GtkWidgetClass *parent_class = NULL;
-
-/* Ignore properties.
- */
-static void
-glade_custom_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
-}
-
-static void
-glade_custom_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
-}
-
-
-static void
-glade_custom_finalize (GObject *object)
-{
- GladeCustom *custom;
-
- g_return_if_fail (GLADE_IS_CUSTOM (object));
- custom = GLADE_CUSTOM (object);
-
- /* custom->custom_pixmap can be NULL if the custom
- * widget is destroyed before it's realized */
- if (custom->custom_pixmap)
- g_object_unref (custom->custom_pixmap);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-glade_custom_send_configure (GladeCustom *custom)
-{
- GtkWidget *widget;
- GdkEvent *event = gdk_event_new (GDK_CONFIGURE);
-
- widget = GTK_WIDGET (custom);
-
- event->configure.window = g_object_ref (widget->window);
- event->configure.send_event = TRUE;
- event->configure.x = widget->allocation.x;
- event->configure.y = widget->allocation.y;
- event->configure.width = widget->allocation.width;
- event->configure.height = widget->allocation.height;
-
- gtk_widget_event (widget, event);
- gdk_event_free (event);
-}
-
-static void
-glade_custom_realize (GtkWidget *widget)
-{
- GladeCustom *custom;
- GdkWindowAttr attributes;
- gint attributes_mask;
-
- g_return_if_fail (GLADE_IS_CUSTOM (widget));
-
- custom = GLADE_CUSTOM (widget);
-
- GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
-
- attributes.window_type = GDK_WINDOW_CHILD;
- attributes.x = widget->allocation.x;
- attributes.y = widget->allocation.y;
- attributes.width = widget->allocation.width;
- attributes.height = widget->allocation.height;
- attributes.wclass = GDK_INPUT_OUTPUT;
- attributes.visual = gtk_widget_get_visual (widget);
- attributes.colormap = gtk_widget_get_colormap (widget);
- attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
-
- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
-
- widget->window = gdk_window_new (gtk_widget_get_parent_window (widget),
- &attributes, attributes_mask);
- gdk_window_set_user_data (widget->window, custom);
-
- widget->style = gtk_style_attach (widget->style, widget->window);
-
- glade_custom_send_configure (custom);
-
- if (!custom->custom_pixmap)
- {
- custom->custom_pixmap =
- gdk_pixmap_colormap_create_from_xpm_d
- (NULL, gtk_widget_get_colormap (GTK_WIDGET (custom)),
- NULL, NULL, custom_xpm);
-
- g_assert(G_IS_OBJECT(custom->custom_pixmap));
- }
- gdk_window_set_back_pixmap (GTK_WIDGET (custom)->window, custom->custom_pixmap, FALSE);
-}
-
-static void
-glade_custom_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
-{
- g_return_if_fail (GLADE_IS_CUSTOM (widget));
- g_return_if_fail (allocation != NULL);
-
- widget->allocation = *allocation;
-
- if (GTK_WIDGET_REALIZED (widget))
- {
- gdk_window_move_resize (widget->window,
- allocation->x, allocation->y,
- allocation->width, allocation->height);
-
- glade_custom_send_configure (GLADE_CUSTOM (widget));
- }
-}
-
-static gboolean
-glade_custom_expose (GtkWidget *widget, GdkEventExpose *event)
-{
- GdkGC *light_gc;
- GdkGC *dark_gc;
- gint w, h;
-
- g_return_val_if_fail (GLADE_IS_CUSTOM (widget), FALSE);
-
- light_gc = widget->style->light_gc[GTK_STATE_NORMAL];
- dark_gc = widget->style->dark_gc[GTK_STATE_NORMAL];
- gdk_drawable_get_size (event->window, &w, &h);
-
- gdk_draw_line (event->window, light_gc, 0, 0, w - 1, 0);
- gdk_draw_line (event->window, light_gc, 0, 0, 0, h - 1);
- gdk_draw_line (event->window, dark_gc, 0, h - 1, w - 1, h - 1);
- gdk_draw_line (event->window, dark_gc, w - 1, 0, w - 1, h - 1);
-
- /* glade_util_queue_draw_nodes (event->window); */
- return FALSE;
-}
-
-static void
-glade_custom_init (GladeCustom *custom)
-{
- custom->custom_pixmap = NULL;
-
- gtk_widget_set_size_request (GTK_WIDGET (custom),
- GLADE_CUSTOM_WIDTH_REQ,
- GLADE_CUSTOM_HEIGHT_REQ);
-
- gtk_widget_show (GTK_WIDGET (custom));
-}
-
-static void
-glade_custom_class_init (GladeCustomClass *klass)
-{
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- object_class->finalize = glade_custom_finalize;
- object_class->set_property = glade_custom_set_property;
- object_class->get_property = glade_custom_get_property;
-
- widget_class->realize = glade_custom_realize;
- widget_class->size_allocate = glade_custom_size_allocate;
- widget_class->expose_event = glade_custom_expose;
-
- g_object_class_install_property
- (object_class, PROP_CREATION,
- g_param_spec_string
- ("creation-function", _("Creation Function"),
- _("The function which creates this widget"),
- NULL, G_PARAM_READWRITE));
-
- g_object_class_install_property
- (object_class, PROP_STR1,
- g_param_spec_string
- ("string1", _("String 1"),
- _("The first string argument to pass to the function"),
- NULL, G_PARAM_READWRITE));
-
- g_object_class_install_property
- (object_class, PROP_STR2,
- g_param_spec_string
- ("string2", _("String 2"),
- _("The second string argument to pass to the function"),
- NULL, G_PARAM_READWRITE));
-
- g_object_class_install_property
- (object_class, PROP_INT1,
- g_param_spec_int
- ("int1", _("Integer 1"),
- _("The first integer argument to pass to the function"),
- G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));
-
- g_object_class_install_property
- (object_class, PROP_INT2,
- g_param_spec_int
- ("int2", _("Integer 2"),
- _("The second integer argument to pass to the function"),
- G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));
-}
-
-GType
-custom_get_type (void)
-{
- static GType custom_type = 0;
-
- if (!custom_type)
- {
- static const GTypeInfo custom_info =
- {
- sizeof (GladeCustomClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) glade_custom_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (GladeCustom),
- 0, /* n_preallocs */
- (GInstanceInitFunc) glade_custom_init,
- };
- custom_type =
- g_type_register_static (GTK_TYPE_WIDGET,
- "Custom",
- &custom_info, 0);
- }
- return custom_type;
-}