index c70fcc27d1cbf61c19cbdaa5b382c5acaa26337a..e6ec392adaf1c0c5e4991d68694549326f070f8a 100644 (file)
/* Note: this file should be kept compilable as both .cpp and .c */
+#include <cmath>
#include <string.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtkversion.h>
#include <gtk/gtktoolitem.h>
-#include <gtk/gtkspinbutton.h>
+#include <gtk/gtk.h>
#include <gtk/gtkhscale.h>
#if GTK_CHECK_VERSION(2,12,0)
#include <gtk/gtkscalebutton.h>
return handled;
}
+static gchar*
+slider_format_falue (GtkScale* scale, gdouble value, gchar *label)
+{
+ (void)scale;
+ return g_strdup_printf("%s %d", label, (int) round(value));
+}
+
static GtkWidget* create_tool_item( GtkAction* action )
{
GtkWidget* item = 0;
EgeAdjustmentAction* act = EGE_ADJUSTMENT_ACTION( action );
GtkWidget* spinbutton = 0;
GtkWidget* hb = gtk_hbox_new( FALSE, 5 );
+
GValue value;
+ memset( &value, 0, sizeof(value) );
+ g_value_init( &value, G_TYPE_STRING );
+ g_object_get_property( G_OBJECT(action), "short_label", &value );
+ const gchar* sss = g_value_get_string( &value );
if ( act->private_data->appearanceMode == APPEARANCE_FULL ) {
spinbutton = gtk_hscale_new( act->private_data->adj);
gtk_widget_set_size_request(spinbutton, 100, -1);
+ gtk_scale_set_digits (GTK_SCALE(spinbutton), 0);
+ gtk_signal_connect(GTK_OBJECT(spinbutton), "format-value", GTK_SIGNAL_FUNC(slider_format_falue), (void *) sss);
+
#if GTK_CHECK_VERSION(2,12,0)
} else if ( act->private_data->appearanceMode == APPEARANCE_MINIMAL ) {
spinbutton = gtk_scale_button_new( GTK_ICON_SIZE_MENU, 0, 100, 2, 0 );
item = GTK_WIDGET( gtk_tool_item_new() );
- memset( &value, 0, sizeof(value) );
- g_value_init( &value, G_TYPE_STRING );
- g_object_get_property( G_OBJECT(action), "short_label", &value );
- const gchar* sss = g_value_get_string( &value );
-
- GtkWidget* lbl = gtk_label_new( sss ? sss : "wwww" );
- GtkWidget* filler1 = gtk_label_new(" ");
-
{
GValue tooltip;
memset( &tooltip, 0, sizeof(tooltip) );
}
}
- gtk_misc_set_alignment( GTK_MISC(lbl), 1.0, 0.5 );
+ if ( act->private_data->appearanceMode != APPEARANCE_FULL ) {
+ GtkWidget* lbl = gtk_label_new( sss ? sss : "wwww" );
+ GtkWidget* filler1 = gtk_label_new(" ");
+ gtk_misc_set_alignment( GTK_MISC(lbl), 1.0, 0.5 );
+ gtk_box_pack_start( GTK_BOX(hb), filler1, FALSE, FALSE, 0 );
+ gtk_box_pack_start( GTK_BOX(hb), lbl, FALSE, FALSE, 0 );
+ }
- gtk_box_pack_start( GTK_BOX(hb), filler1, FALSE, FALSE, 0 );
- gtk_box_pack_start( GTK_BOX(hb), lbl, FALSE, FALSE, 0 );
if ( act->private_data->appearanceMode == APPEARANCE_FULL ) {
gtk_box_pack_start( GTK_BOX(hb), spinbutton, TRUE, TRUE, 0 );
} else {