#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
-#include "gdkx.h"
#include "gdk/gdkrgb.h"
#include "gtkpreview.h"
#include "gtksignal.h"
#define PREVIEW_CLASS(w) GTK_PREVIEW_CLASS (GTK_OBJECT (w)->klass)
+enum {
+ ARG_0,
+ ARG_EXPAND
+};
+
static void gtk_preview_class_init (GtkPreviewClass *klass);
static void gtk_preview_init (GtkPreview *preview);
+static void gtk_preview_set_arg (GtkObject *object,
+ GtkArg *arg,
+ guint arg_id);
+static void gtk_preview_get_arg (GtkObject *object,
+ GtkArg *arg,
+ guint arg_id);
static void gtk_preview_finalize (GtkObject *object);
static void gtk_preview_realize (GtkWidget *widget);
static void gtk_preview_size_allocate (GtkWidget *widget,
(GtkClassInitFunc) NULL,
};
- preview_type = gtk_type_unique (gtk_widget_get_type (), &preview_info);
+ preview_type = gtk_type_unique (GTK_TYPE_WIDGET, &preview_info);
}
return preview_type;
object_class = (GtkObjectClass*) klass;
widget_class = (GtkWidgetClass*) klass;
- parent_class = gtk_type_class (gtk_widget_get_type ());
+ parent_class = gtk_type_class (GTK_TYPE_WIDGET);
preview_class = klass;
+ object_class->set_arg = gtk_preview_set_arg;
+ object_class->get_arg = gtk_preview_get_arg;
object_class->finalize = gtk_preview_finalize;
widget_class->realize = gtk_preview_realize;
gdk_rgb_init ();
klass->info.cmap = gdk_rgb_get_cmap ();
klass->info.visual = gdk_rgb_get_visual ();
+
+ gtk_object_add_arg_type ("GtkPreview::expand",
+ GTK_TYPE_BOOL,
+ GTK_ARG_READWRITE,
+ ARG_EXPAND);
+}
+
+static void
+gtk_preview_set_arg (GtkObject *object,
+ GtkArg *arg,
+ guint arg_id)
+{
+ GtkPreview *preview = GTK_PREVIEW (object);
+
+ switch (arg_id)
+ {
+ case ARG_EXPAND:
+ gtk_preview_set_expand (preview, GTK_VALUE_BOOL (*arg));
+ break;
+ }
+}
+
+static void
+gtk_preview_get_arg (GtkObject *object,
+ GtkArg *arg,
+ guint arg_id)
+{
+ GtkPreview *preview;
+
+ preview = GTK_PREVIEW (object);
+
+ switch (arg_id)
+ {
+ case ARG_EXPAND:
+ GTK_VALUE_BOOL (*arg) = preview->expand;
+ break;
+ default:
+ arg->type = GTK_TYPE_INVALID;
+ break;
+ }
}
void
void
gtk_preview_set_expand (GtkPreview *preview,
- gint expand)
+ gboolean expand)
{
g_return_if_fail (preview != NULL);
g_return_if_fail (GTK_IS_PREVIEW (preview));
- preview->expand = (expand != FALSE);
+ expand = expand != FALSE;
+
+ if (preview->expand != expand)
+ {
+ preview->expand = expand;
+ gtk_widget_queue_resize (GTK_WIDGET (preview));
+ }
}
void
}
}
-/* This will be useful for implementing gamma. */
+/* This is used for implementing gamma. */
static void
gtk_fill_lookup_array (guchar *array)
{