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