Enlightenment CVS committal

Author  : leviathan
Project : e17
Module  : proto

Dir     : e17/proto/etk-perl/lib/Etk


Modified Files:
        Button.pm Container.pm Drag.pm Iconbox.pm Image.pm Object.pm 
        Theme.pm Tooltips.pm Widget.pm 


Log Message:
- TODO--
- cleanups
- start of simplifying the usage with some AUTOLOAD-foo

===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Button.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Button.pm   16 Jun 2006 18:41:16 -0000      1.2
+++ Button.pm   15 Jul 2006 19:19:05 -0000      1.3
@@ -3,6 +3,8 @@
 use vars qw(@ISA);
 require Etk::Bin;
 @ISA = ("Etk::Bin");
+use Etk::Image;
+
 sub new
 {
     my $class = shift;
@@ -63,7 +65,9 @@
 sub ImageGet
 {
     my $self = shift;
-    return Etk::etk_button_image_get($self->{WIDGET});
+    my $image = Etk::Image->new_no_create();
+    $image->{WIDGET} = Etk::etk_button_image_get($self->{WIDGET});
+    return $image;
 }
 
 sub SetFromStock
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Container.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Container.pm        1 Jul 2006 20:20:22 -0000       1.2
+++ Container.pm        15 Jul 2006 19:19:05 -0000      1.3
@@ -7,7 +7,7 @@
 {
     my $class = shift;
     my $self = $class->SUPER::new();
-    $self->{CHILDREN} = ();
+    $self->{CHILDREN} = [];
     bless($self, $class);
     return $self;
 }
@@ -26,6 +26,9 @@
     my $self = shift;
     my $widget = shift;
     Etk::etk_container_remove($self->{WIDGET}, $widget->{WIDGET});
+    my @children = @{$self->{CHILDREN}};
+    $self->{CHILDREN} = [];
+    push @{$self->{CHILDREN}}, grep { $_ != $widget } @children;
 }
 
 sub BorderWidthSet
@@ -51,7 +54,11 @@
 {
     my $self = shift;
     my $widget = shift;
-    return Etk::etk_container_is_child($self->{WIDGET}, $widget->{WIDGET});
+    foreach (@{$self->{CHILDREN}}) 
+    {
+       return 1 if $_ == $widget;
+    }
+    return 0;
 }
 
 sub ChildSpaceFill
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Drag.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Drag.pm     1 Jul 2006 20:20:22 -0000       1.2
+++ Drag.pm     15 Jul 2006 19:19:05 -0000      1.3
@@ -25,7 +25,9 @@
 
 sub DataSet
 {
-    # TODO
+    my $self = shift;
+    my $data = shift;
+    Etk::etk_drag_data_set($self->{WIDGET}, $data);
 }
 
 sub Begin
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Iconbox.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Iconbox.pm  13 Jun 2006 00:13:45 -0000      1.2
+++ Iconbox.pm  15 Jul 2006 19:19:05 -0000      1.3
@@ -51,13 +51,6 @@
     return $icon;
 }
 
-sub IconDel
-{
-    my $self = shift;
-    my $icon = shift;
-    Etk::etk_iconbox_icon_del($icon->{WIDGET});
-}
-
 sub Clear
 {
     my $self = shift;
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Image.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- Image.pm    7 Jun 2006 11:58:34 -0000       1.1
+++ Image.pm    15 Jul 2006 19:19:05 -0000      1.2
@@ -19,6 +19,15 @@
     return $self;
 }
 
+sub new_no_create
+{
+    my $class = shift;
+    my $self = $class->SUPER::new();
+    $self->{WIDGET} = undef;
+    bless($self, $class);
+    return $self;
+}
+
 sub new_from_edje
 {
     my $class = shift;
@@ -66,7 +75,10 @@
 sub EdjeGet
 {
     my $self = shift;
-    Etk::etk_image_edje_get($self->{WIDGET}, shift, shift);
+    # returns
+    # edje_filename
+    # edje_group
+    return Etk::etk_image_edje_get($self->{WIDGET});
 }
 
 sub SetFromStock
@@ -93,7 +105,7 @@
 sub SizeGet
 {
     my $self = shift;
-    Etk::etk_image_size_get($self->{WIDGET}, shift, shift);
+    return Etk::etk_image_size_get($self->{WIDGET});
 }
 
 sub KeepAspectSet
@@ -106,7 +118,7 @@
 sub KeepAspectGet
 {
     my $self = shift;
-    Etk::etk_image_keep_aspect_get($self->{WIDGET}, shift);
+    return Etk::etk_image_keep_aspect_get($self->{WIDGET});
 }
 
 1;
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Object.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- Object.pm   18 Jun 2006 15:29:50 -0000      1.6
+++ Object.pm   15 Jul 2006 19:19:05 -0000      1.7
@@ -22,6 +22,88 @@
     bless($self->{WIDGET}, $type);
 }
 
+sub SignalConnectAfter
+{
+    my $self = shift;
+    my ($type, $mem) = split /=/, $self->{WIDGET};
+    my $signal_name = shift;
+    my $callback = shift;
+    my $data = undef;
+    $data = shift if (@_ > 0);
+    Etk::etk_signal_connect_after($signal_name, 
+       bless($self->{WIDGET}, "Etk_WidgetPtr"), $callback, $data);
+    bless($self->{WIDGET}, $type);
+}
+
+sub SignalConnectSwapped
+{
+    my $self = shift;
+    my ($type, $mem) = split /=/, $self->{WIDGET};
+    my $signal_name = shift;
+    my $callback = shift;
+    my $data = undef;
+    $data = shift if (@_ > 0);
+    Etk::etk_signal_connect_swapped($signal_name, 
+       bless($self->{WIDGET}, "Etk_WidgetPtr"), $callback, $data);
+    bless($self->{WIDGET}, $type);
+}
+
+sub SignalConnectFull
+{
+    my $self = shift;
+    my ($type, $mem) = split /=/, $self->{WIDGET};
+    my $signal_name = shift;
+    my $callback = shift;
+    my $data = shift;
+    my $swapped = shift;
+    my $after = shift;
+    Etk::etk_signal_connect_full($signal_name, 
+       bless($self->{WIDGET}, "Etk_WidgetPtr"), $callback, $data, $swapped, 
$after);
+    bless($self->{WIDGET}, $type);
+}
+
+sub SignalDisconnect
+{
+    my $self = shift;
+    my ($type, $mem) = split /=/, $self->{WIDGET};
+    my $signal_name = shift;
+    my $callback = shift;
+    Etk::etk_signal_disconnect($signal_name, 
+       bless($self->{WIDGET}, "Etk_WidgetPtr"), $callback);
+    bless($self->{WIDGET}, $type);
+}
+
+sub NotificationCallbackAdd
+{
+    my $self = shift;
+    my $property_name = shift;
+    my $callback = shift;
+    my $data = shift;
+    Etk::etk_object_notification_callback_add($self->{WIDGET}, $property_name, 
$callback, $data);
+}
+
+sub NotificationCallbackRemove
+{
+    my $self = shift;
+    my $property_name = shift;
+    Etk::etk_object_notification_callback_remove($self->{WIDGET}, 
$property_name);
+}
+
+sub Notify
+{
+    my $self = shift;
+    my $property_name = shift;
+    Etk::etk_object_notify($self->{WIDGET}, $property_name);
+}
+
+sub DataSet
+{
+    my $self = shift;
+    my $key = shift;
+    my $data = shift;
+    Etk::etk_object_data_set($self->{WIDGET}, $key, $data);
+}
+
 sub DataGet
 {
     my $self = shift;
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Theme.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- Theme.pm    1 Jul 2006 20:20:22 -0000       1.2
+++ Theme.pm    15 Jul 2006 19:19:05 -0000      1.3
@@ -36,4 +36,9 @@
 
 Etk::etk_theme_init();
 
+sub unimport
+{
+    Etk::etk_theme_shutdown();
+}
+
 1;
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Tooltips.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- Tooltips.pm 7 Jun 2006 11:58:34 -0000       1.1
+++ Tooltips.pm 15 Jul 2006 19:19:05 -0000      1.2
@@ -2,12 +2,8 @@
 use strict;
 require Etk;
 
-sub Init
-{
-    Etk::etk_tooltips_init();
-}
 
-sub Shutdown
+sub unimport
 {
     Etk::etk_tooltips_shutdown();
 }
@@ -46,5 +42,12 @@
     my $widget = shift;
     Etk::etk_tooltips_pop_down($widget->{WIDGET});
 }
+
+sub TipVisible
+{
+    return Etk::etk_tooltips_tip_visible();
+}
+
+Etk::etk_tooltips_init();
 
 1;
===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/lib/Etk/Widget.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- Widget.pm   14 Jul 2006 23:53:11 -0000      1.5
+++ Widget.pm   15 Jul 2006 19:19:05 -0000      1.6
@@ -3,6 +3,9 @@
 use vars qw(@ISA);
 require Etk::Object;
 @ISA = ("Etk::Object");
+
+use AutoLoader;
+
 sub new
 {
     my $class = shift;
@@ -347,7 +350,28 @@
     Etk::etk_widget_theme_object_part_text_set($self->{WIDGET}, $part, $text);
 }
 
+# This is just a start.
+sub AUTOLOAD
+{
+    our $AUTOLOAD;
+
+    my $package;
+    ($package = $AUTOLOAD) =~ s/.*:://;
+
+    if ($package =~ /^Add(.*)/) 
+    {
+       shift;
+       my $p = $1;
+       my $return;
+
+       eval("use Etk::$p");
+       die("Cannot load package Etk::$p - $@") if $@;
+       eval("\$return = Etk::${p}->new([EMAIL PROTECTED]);");
+       return $return;
+    }
+}
 
 1;
 
+__END__
 




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to