/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2007, 2009, 2010, 2012 Free Software Foundation
+ Copyright (C) 2007, 2009, 2010, 2012, 2015 Free Software Foundation
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
This module provides a widget, PsppireSelector derived from
GtkButton.
- It contains a GtkArrow, and is used for selecting objects from a
+ It contains a GtkImage (to indicate the arrow), and is used for selecting objects from a
GtkTreeView and putting them into a destination widget (often
another GtkTreeView). Typically this is used in psppire for
selecting variables, thus:
static void on_realize (GtkWidget *selector);
-static void update_subjects (PsppireSelector *selector);
-
-
static void
psppire_selector_set_property (GObject *object,
guint prop_id,
break;
case PROP_PRIMARY:
selector->primary_requested = TRUE;
- update_subjects (selector);
+ psppire_selector_update_subjects (selector);
break;
case PROP_SOURCE_WIDGET:
selector->source = g_value_dup_object (value);
- update_subjects (selector);
+ psppire_selector_update_subjects (selector);
break;
case PROP_DEST_WIDGET:
selector->dest = g_value_dup_object (value);
- update_subjects (selector);
+ psppire_selector_update_subjects (selector);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
selector->allow_selection = NULL;
selector->filter = NULL;
- selector->arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE);
-
+ selector->arrow = gtk_image_new_from_icon_name ("pan-start-symbolic", GTK_ICON_SIZE_BUTTON);
gtk_container_add (GTK_CONTAINER (selector), selector->arrow);
switch (selector->orientation)
{
case PSPPIRE_SELECT_SOURCE_BEFORE_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_RIGHT, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-end-symbolic", NULL);
break;
case PSPPIRE_SELECT_SOURCE_AFTER_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_LEFT, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-start-symbolic", NULL);
break;
case PSPPIRE_SELECT_SOURCE_ABOVE_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_DOWN, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-down-symbolic", NULL);
break;
case PSPPIRE_SELECT_SOURCE_BELOW_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_UP, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-up-symbolic", NULL);
break;
default:
g_assert_not_reached ();
switch (selector->orientation)
{
case PSPPIRE_SELECT_SOURCE_BEFORE_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_LEFT, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-start-symbolic", NULL);
break;
case PSPPIRE_SELECT_SOURCE_AFTER_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_RIGHT, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-end-symbolic", NULL);
break;
case PSPPIRE_SELECT_SOURCE_ABOVE_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_UP, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-up-symbolic", NULL);
break;
case PSPPIRE_SELECT_SOURCE_BELOW_DEST:
- g_object_set (selector->arrow, "arrow-type", GTK_ARROW_DOWN, NULL);
+ g_object_set (selector->arrow, "icon-name", "pan-down-symbolic", NULL);
break;
default:
g_assert_not_reached ();
break;
};
-
}
}
}
-static void
-update_subjects (PsppireSelector *selector)
+void
+psppire_selector_update_subjects (PsppireSelector *selector)
{
if ( NULL == selector->dest )
return;