[dia] [gtk-deprecated] wrap GtkRuler in it's own file
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] [gtk-deprecated] wrap GtkRuler in it's own file
- Date: Sun, 19 Aug 2012 17:38:36 +0000 (UTC)
commit cd7779f4ea30455df682c6678e0e60f24d49e232
Author: Hans Breuer <hans breuer org>
Date: Sat Aug 11 16:39:41 2012 +0200
[gtk-deprecated] wrap GtkRuler in it's own file
interface.c now undeprecated
app/Makefile.am | 2 ++
app/interface.c | 21 ++++++---------------
app/makefile.msc | 1 +
app/ruler.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
app/ruler.h | 11 +++++++++++
5 files changed, 74 insertions(+), 15 deletions(-)
---
diff --git a/app/Makefile.am b/app/Makefile.am
index 7a01993..f4e9afb 100644
--- a/app/Makefile.am
+++ b/app/Makefile.am
@@ -155,6 +155,8 @@ dia_core_files = \
cut_n_paste.h \
render_gdk.c \
render_gdk.h \
+ ruler.c \
+ ruler.h \
tool.c \
tool.h \
diapagelayout.c \
diff --git a/app/interface.c b/app/interface.c
index 5d20db1..de2c2df 100644
--- a/app/interface.c
+++ b/app/interface.c
@@ -22,11 +22,6 @@
#undef GTK_DISABLE_DEPRECATED /* gnome */
#include <gnome.h>
#else
-#undef GTK_DISABLE_DEPRECATED /* GtkPixmap */
-/* GtkRuler is deprecated by gtk-2-24, gone with gtk-3-0 because it is
- * deemed to be too specialized for maintenance in Gtk. Maybe Dia is
- * too specialized to be ported?
- */
#include <gtk/gtk.h>
#endif
@@ -48,6 +43,7 @@
#include "persistence.h"
#include "widgets.h"
#include "message.h"
+#include "ruler.h"
#include <gdk-pixbuf/gdk-pixbuf.h>
#include "dia-app-icons.h"
@@ -380,14 +376,9 @@ create_canvas (DDisplay *ddisp)
static void
_ddisplay_setup_rulers (DDisplay *ddisp, GtkWidget *shell, GtkWidget *table)
{
- ddisp->hrule = gtk_hruler_new ();
- g_signal_connect_swapped (G_OBJECT (shell), "motion_notify_event",
- G_CALLBACK(GTK_WIDGET_GET_CLASS (ddisp->hrule)->motion_notify_event),
- G_OBJECT (ddisp->hrule));
- ddisp->vrule = gtk_vruler_new ();
- g_signal_connect_swapped (G_OBJECT (shell), "motion_notify_event",
- G_CALLBACK(GTK_WIDGET_GET_CLASS (ddisp->vrule)->motion_notify_event),
- G_OBJECT (ddisp->vrule));
+ ddisp->hrule = dia_ruler_new (GTK_ORIENTATION_HORIZONTAL, shell);
+ ddisp->vrule = dia_ruler_new (GTK_ORIENTATION_VERTICAL, shell);
+
/* harder to change position in the table, but we did not do it for years ;) */
gtk_table_attach (GTK_TABLE (table), ddisp->hrule, 1, 2, 0, 1,
GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_FILL, 0, 0);
@@ -806,12 +797,12 @@ ddisplay_update_rulers (DDisplay *ddisp,
const Rectangle *extents,
const Rectangle *visible)
{
- gtk_ruler_set_range (GTK_RULER (ddisp->hrule),
+ dia_ruler_set_range (ddisp->hrule,
visible->left,
visible->right,
0.0f /* position*/,
MAX(extents->right, visible->right)/* max_size*/);
- gtk_ruler_set_range (GTK_RULER (ddisp->vrule),
+ dia_ruler_set_range (ddisp->vrule,
visible->top,
visible->bottom,
0.0f /* position*/,
diff --git a/app/makefile.msc b/app/makefile.msc
index a0569b6..3e3a076 100644
--- a/app/makefile.msc
+++ b/app/makefile.msc
@@ -61,6 +61,7 @@ OBJECTS = \
properties-dialog.obj \
recent_files.obj \
render_gdk.obj \
+ ruler.obj \
scroll_tool.obj \
select.obj \
sheets.obj \
diff --git a/app/ruler.c b/app/ruler.c
new file mode 100644
index 0000000..5491198
--- /dev/null
+++ b/app/ruler.c
@@ -0,0 +1,54 @@
+/* Dia -- an diagram creation/manipulation program
+ * Copyright (C) 1998 Alexander Larsson
+ *
+ * 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.
+ */
+
+#include <config.h>
+
+#undef GTK_DISABLE_DEPRECATED /* GtkRuler */
+/* GtkRuler is deprecated by gtk-2-24, gone with gtk-3-0 because it is
+ * deemed to be too specialized for maintenance in Gtk. Maybe Dia is
+ * too specialized to be ported?
+ */
+#include <gtk/gtk.h>
+
+#include "ruler.h"
+
+GtkWidget *
+dia_ruler_new (GtkOrientation orientation, GtkWidget *shell)
+{
+ GtkWidget *rule;
+
+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ rule = gtk_hruler_new ();
+ else if (orientation == GTK_ORIENTATION_VERTICAL)
+ rule = gtk_vruler_new ();
+
+ g_signal_connect_swapped (G_OBJECT (shell), "motion_notify_event",
+ G_CALLBACK(GTK_WIDGET_GET_CLASS (rule)->motion_notify_event),
+ G_OBJECT (rule));
+ return rule;
+}
+
+void
+dia_ruler_set_range (GtkWidget *ruler,
+ gdouble lower,
+ gdouble upper,
+ gdouble position,
+ gdouble max_size)
+{
+ gtk_ruler_set_range (GTK_RULER (ruler), lower, upper, position, max_size);
+}
diff --git a/app/ruler.h b/app/ruler.h
new file mode 100644
index 0000000..75c074a
--- /dev/null
+++ b/app/ruler.h
@@ -0,0 +1,11 @@
+/* prepare deprecation of GtkRuler */
+#include <gtk/gtk.h>
+
+GtkWidget *dia_ruler_new (GtkOrientation orientation,
+ GtkWidget *shell);
+
+void dia_ruler_set_range (GtkWidget *ruler,
+ gdouble lower,
+ gdouble upper,
+ gdouble position,
+ gdouble max_size);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]