SF.net SVN: geany: [2708] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Thu Jun 19 14:31:09 UTC 2008


Revision: 2708
          http://geany.svn.sourceforge.net/geany/?rev=2708&view=rev
Author:   eht16
Date:     2008-06-19 07:31:09 -0700 (Thu, 19 Jun 2008)

Log Message:
-----------
Add dialogs_show_input_numeric().

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/dialogs.c
    trunk/src/dialogs.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-06-19 14:12:47 UTC (rev 2707)
+++ trunk/ChangeLog	2008-06-19 14:31:09 UTC (rev 2708)
@@ -1,3 +1,9 @@
+2008-06-19  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/dialogs.c, src/dialogs.c:
+   Add dialogs_show_input_numeric().
+
+
 2008-06-18  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>
 
  * src/build.c, src/utils.c, src/win32.c, src/ui_utils.h, src/build.h,

Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c	2008-06-19 14:12:47 UTC (rev 2707)
+++ trunk/src/dialogs.c	2008-06-19 14:31:09 UTC (rev 2708)
@@ -816,6 +816,13 @@
 
 
 static void
+on_input_numeric_activate(GtkEntry *entry, GtkDialog *dialog)
+{
+	gtk_dialog_response(dialog, GTK_RESPONSE_ACCEPT);
+}
+
+
+static void
 on_input_dialog_response(GtkDialog *dialog,
                          gint response,
                          GtkWidget *entry)
@@ -918,6 +925,42 @@
 }
 
 
+gboolean dialogs_show_input_numeric(const gchar *title, const gchar *label_text,
+									gdouble *value, gdouble min, gdouble max, gdouble step)
+{
+	GtkWidget *dialog, *label, *spin, *vbox;
+	gboolean res = FALSE;
+
+	dialog = gtk_dialog_new_with_buttons(title, GTK_WINDOW(main_widgets.window),
+										GTK_DIALOG_DESTROY_WITH_PARENT,
+										GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+										GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
+	gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL);
+	vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));
+	gtk_widget_set_name(dialog, "GeanyDialog");
+
+	label = gtk_label_new(label_text);
+	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+
+	spin = gtk_spin_button_new_with_range(min, max, step);
+	gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), *value);
+	g_signal_connect(spin, "activate", G_CALLBACK(on_input_numeric_activate), dialog);
+
+	gtk_container_add(GTK_CONTAINER(vbox), label);
+	gtk_container_add(GTK_CONTAINER(vbox), spin);
+	gtk_widget_show_all(vbox);
+
+	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
+	{
+		*value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin));
+		res = TRUE;
+	}
+	gtk_widget_destroy(dialog);
+
+	return res;
+}
+
+
 void dialogs_show_goto_line()
 {
 	GtkWidget *dialog, *label, *entry, *vbox;

Modified: trunk/src/dialogs.h
===================================================================
--- trunk/src/dialogs.h	2008-06-19 14:12:47 UTC (rev 2707)
+++ trunk/src/dialogs.h	2008-06-19 14:31:09 UTC (rev 2708)
@@ -48,6 +48,9 @@
 GtkWidget *dialogs_show_input(const gchar *title, const gchar *label_text,
 	const gchar *default_text, gboolean persistent, InputCallback input_cb);
 
+gboolean dialogs_show_input_numeric(const gchar *title, const gchar *label_text,
+									gdouble *value, gdouble min, gdouble max, gdouble step);
+
 void dialogs_show_goto_line(void);
 
 void dialogs_show_file_properties(GeanyDocument *doc);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list