Atom constants

View: New views
4 Messages — Rating Filter:   Alert me  

Atom constants

by Torsten Schoenfeld :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Aloha,

here's a patch that deprecates Gtk2::Gdk::SELECTION_* and
Gtk2::Gdk::TARGET_* in favor of newly added constants
Gtk2::GDK_SELECTION_* and Gtk2::GDK_TARGET_*.

Is this a good idea?

--
Bye,
-Torsten

_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@...
http://mail.gnome.org/mailman/listinfo/gtk-perl-list

Re: Atom constants

by Torsten Schoenfeld :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Torsten Schoenfeld wrote:

> here's a patch [...]

Damn.

--
Bye,
-Torsten

Index: Gtk2.pm
===================================================================
RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/Gtk2.pm,v
retrieving revision 1.124
diff -u -d -p -r1.124 Gtk2.pm
--- Gtk2.pm 22 Jun 2008 12:26:38 -0000 1.124
+++ Gtk2.pm 22 Jun 2008 12:55:43 -0000
@@ -291,10 +291,28 @@ Gtk2 exports nothing by default, but som
 =item Tag: constants
 
   GTK_PRIORITY_RESIZE
+
   GDK_PRIORITY_EVENTS
   GDK_PRIORITY_REDRAW
   GDK_CURRENT_TIME
 
+  GDK_SELECTION_PRIMARY
+  GDK_SELECTION_SECONDARY
+  GDK_SELECTION_CLIPBOARD
+  GDK_TARGET_BITMAP
+  GDK_TARGET_COLORMAP
+  GDK_TARGET_DRAWABLE
+  GDK_TARGET_PIXMAP
+  GDK_TARGET_STRING
+  GDK_SELECTION_TYPE_ATOM
+  GDK_SELECTION_TYPE_BITMAP
+  GDK_SELECTION_TYPE_COLORMAP
+  GDK_SELECTION_TYPE_DRAWABLE
+  GDK_SELECTION_TYPE_INTEGER
+  GDK_SELECTION_TYPE_PIXMAP
+  GDK_SELECTION_TYPE_WINDOW
+  GDK_SELECTION_TYPE_STRING
+
 =back
 
 See L<Glib> for other standard priority levels.
Index: constants-2.0
===================================================================
RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/constants-2.0,v
retrieving revision 1.2
diff -u -d -p -r1.2 constants-2.0
--- constants-2.0 22 Jun 2008 12:26:39 -0000 1.2
+++ constants-2.0 22 Jun 2008 12:55:43 -0000
@@ -2,4 +2,21 @@ GDK_CURRENT_TIME
 GDK_PRIORITY_EVENTS
 GDK_PRIORITY_REDRAW
 
+GDK_SELECTION_PRIMARY newSVGdkAtom
+GDK_SELECTION_SECONDARY newSVGdkAtom
+GDK_SELECTION_CLIPBOARD newSVGdkAtom
+GDK_TARGET_BITMAP newSVGdkAtom
+GDK_TARGET_COLORMAP newSVGdkAtom
+GDK_TARGET_DRAWABLE newSVGdkAtom
+GDK_TARGET_PIXMAP newSVGdkAtom
+GDK_TARGET_STRING newSVGdkAtom
+GDK_SELECTION_TYPE_ATOM newSVGdkAtom
+GDK_SELECTION_TYPE_BITMAP newSVGdkAtom
+GDK_SELECTION_TYPE_COLORMAP newSVGdkAtom
+GDK_SELECTION_TYPE_DRAWABLE newSVGdkAtom
+GDK_SELECTION_TYPE_INTEGER newSVGdkAtom
+GDK_SELECTION_TYPE_PIXMAP newSVGdkAtom
+GDK_SELECTION_TYPE_WINDOW newSVGdkAtom
+GDK_SELECTION_TYPE_STRING newSVGdkAtom
+
 GTK_PRIORITY_RESIZE
Index: t/GdkSelection.t
===================================================================
RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/t/GdkSelection.t,v
retrieving revision 1.4
diff -u -d -p -r1.4 GdkSelection.t
--- t/GdkSelection.t 30 Mar 2008 19:31:12 -0000 1.4
+++ t/GdkSelection.t 22 Jun 2008 12:55:43 -0000
@@ -1,26 +1,32 @@
 #!/usr/bin/perl -w
 use strict;
-use Gtk2::TestHelper tests => 20;
+use Gtk2::TestHelper tests => 36;
 
 # $Header: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/t/GdkSelection.t,v 1.4 2008/03/30 19:31:12 kaffeetisch Exp $
 
-foreach (Gtk2::Gdk -> SELECTION_PRIMARY(),
-         Gtk2::Gdk -> SELECTION_SECONDARY(),
-         Gtk2::Gdk -> SELECTION_CLIPBOARD(),
-         Gtk2::Gdk -> TARGET_BITMAP(),
-         Gtk2::Gdk -> TARGET_COLORMAP(),
-         Gtk2::Gdk -> TARGET_DRAWABLE(),
-         Gtk2::Gdk -> TARGET_PIXMAP(),
-         Gtk2::Gdk -> TARGET_STRING(),
-         Gtk2::Gdk -> SELECTION_TYPE_ATOM(),
-         Gtk2::Gdk -> SELECTION_TYPE_BITMAP(),
-         Gtk2::Gdk -> SELECTION_TYPE_COLORMAP(),
-         Gtk2::Gdk -> SELECTION_TYPE_DRAWABLE(),
-         Gtk2::Gdk -> SELECTION_TYPE_INTEGER(),
-         Gtk2::Gdk -> SELECTION_TYPE_PIXMAP(),
-         Gtk2::Gdk -> SELECTION_TYPE_WINDOW(),
-         Gtk2::Gdk -> SELECTION_TYPE_STRING()) {
-  isa_ok($_, "Gtk2::Gdk::Atom");
+my @constants = qw/SELECTION_PRIMARY
+                   SELECTION_SECONDARY
+                   SELECTION_CLIPBOARD
+                   TARGET_BITMAP
+                   TARGET_COLORMAP
+                   TARGET_DRAWABLE
+                   TARGET_PIXMAP
+                   TARGET_STRING
+                   SELECTION_TYPE_ATOM
+                   SELECTION_TYPE_BITMAP
+                   SELECTION_TYPE_COLORMAP
+                   SELECTION_TYPE_DRAWABLE
+                   SELECTION_TYPE_INTEGER
+                   SELECTION_TYPE_PIXMAP
+                   SELECTION_TYPE_WINDOW
+                   SELECTION_TYPE_STRING/;
+
+foreach my $stem (@constants) {
+  # deprecated
+  isa_ok(Gtk2::Gdk -> $stem, "Gtk2::Gdk::Atom");
+
+  # new and shiny
+  isa_ok(eval "Gtk2::GDK_$stem", "Gtk2::Gdk::Atom");
 }
 
 my $primary = Gtk2::Gdk -> SELECTION_PRIMARY();
Index: xs/GdkSelection.xs
===================================================================
RCS file: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GdkSelection.xs,v
retrieving revision 1.11
diff -u -d -p -r1.11 GdkSelection.xs
--- xs/GdkSelection.xs 19 Sep 2004 21:47:11 -0000 1.11
+++ xs/GdkSelection.xs 22 Jun 2008 12:55:43 -0000
@@ -22,6 +22,23 @@
 
 MODULE = Gtk2::Gdk::Selection PACKAGE = Gtk2::Gdk
 
+# The function are sorted alphabetically for the generated POD, so add the
+# deprecation paragraph to the first entry of both sets.
+
+=for apidoc Gtk2::Gdk::SELECTION_CLIPBOARD
+
+The functions C<Gtk2::Gdk::SELECTION_*> are B<deprecated>.  Please use
+C<Gtk2::GDK_SELECTION_*> instead.  See L<Gtk2>.
+
+=cut
+
+=for apidoc Gtk2::Gdk::TARGET_BITMAP
+
+The functions C<Gtk2::Gdk::TARGET_*> are B<deprecated>.  Please use
+C<Gtk2::GDK_TARGET_*> instead.  See L<Gtk2>.
+
+=cut
+
 GdkAtom
 SELECTION_PRIMARY (class)
     ALIAS:

_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@...
http://mail.gnome.org/mailman/listinfo/gtk-perl-list

Re: Atom constants

by Kevin Ryde :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Torsten Schoenfeld <kaffeetisch@...> writes:
>
> Is this a good idea?

If it was mine I'd leave it as is.  The class func style is fairly
reasonable, it doesn't seem so terrible as to ask everyone to change
their code.  (Gotta save that for when something big turns out to be
unworkable! :-)

Or as a justification it may even save a couple of bytes not to create
atom objects for constsubs which will be rarely used.
_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@...
http://mail.gnome.org/mailman/listinfo/gtk-perl-list

Re: Atom constants

by Torsten Schoenfeld :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Kevin Ryde wrote:

> Torsten Schoenfeld <kaffeetisch@...> writes:
>> Is this a good idea?
>
> If it was mine I'd leave it as is.  The class func style is fairly
> reasonable, it doesn't seem so terrible as to ask everyone to change
> their code.  (Gotta save that for when something big turns out to be
> unworkable! :-)
>
> Or as a justification it may even save a couple of bytes not to create
> atom objects for constsubs which will be rarely used.

OK, convinced.

--
Bye,
-Torsten
_______________________________________________
gtk-perl-list mailing list
gtk-perl-list@...
http://mail.gnome.org/mailman/listinfo/gtk-perl-list
LightInTheBox - Buy quality products at wholesale price!