Enlightenment CVS committal

Author  : leviathan
Project : e17
Module  : proto

Dir     : e17/proto/etk-perl/etk_test


Modified Files:
        etk_test.pl 


Log Message:
+ add notebook test
+ fix Stock.pm
+ remove useless exports from Etk.pm

===================================================================
RCS file: /cvs/e/e17/proto/etk-perl/etk_test/etk_test.pl,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- etk_test.pl 16 Jun 2006 23:52:43 -0000      1.15
+++ etk_test.pl 18 Jun 2006 10:47:41 -0000      1.16
@@ -47,6 +47,7 @@
 use Etk::Tree::Model::IconText;
 use Etk::Tree::Model::Checkbox;
 use Etk::Alignment;
+use Etk::Notebook;
 
 Etk::Init();
 
@@ -1072,10 +1073,96 @@
 sub notebook_window_show
 {
     my $win = Etk::Window->new("Etk-Perl Notebook Test");
-    my $label = Etk::Label->new("<b>Etk::Notebook test is not implemented 
yet.</b>");
+
+    my $vbox = Etk::VBox->new(0, 0);
+
+    my $notebook = Etk::Notebook->new();
+    $vbox->PackStart($notebook, 1, 1, 0);
+
+    my @widgets;
     
-    $win->Add($label);
-    $win->BorderWidthSet(10);
+    push @widgets, Etk::Button->new(Etk::Stock::DocumentOpen);
+    $widgets[0]->LabelSet("Set Icon");
+    
+    push @widgets, 
+      Etk::Label->new("App name"), Etk::Entry->new(),
+      Etk::Label->new("Generic Info"), Etk::Entry->new(),
+      Etk::Label->new("Comments"), Etk::Entry->new(),
+      Etk::Label->new("Executable"), Etk::Entry->new(),
+      Etk::Label->new("Window name"), Etk::Entry->new(),
+      Etk::Label->new("Window class"), Etk::Entry->new(),
+      Etk::Label->new("Startup notify"), Etk::CheckButton->new(),
+      Etk::Label->new("Wait exit"), Etk::CheckButton->new();
+    
+    push @widgets, Etk::Image->new("images/test.png");
+    push @widgets, Etk::Alignment->new(0.5, 0.5, 0, 0);
+    $widgets[18]->Add($widgets[0]);
+    my $table = Etk::Table->new(2, 10, 0);
+    $table->Attach($widgets[17], 0, 0, 0, 0, 0, 0, Etk::FillPolicy::None);
+    $table->Attach($widgets[18], 1, 1, 0, 0, 0, 0, Etk::FillPolicy::HExpand | 
+       Etk::FillPolicy::HFill);
+
+    my $index = 1;
+    for my $i (2 .. 9) 
+    {
+        $table->Attach($widgets[$index], 0, 0, $i, $i, 0, 0, 
+           Etk::FillPolicy::HFill);
+        $table->AttachDefaults($widgets[$index + 1], 1, 1, $i, $i);
+        $index += 2;
+    }
+
+    $notebook->PageAppend("Tab 1 - Table test", $table);
+
+    my $alignment = Etk::Alignment->new(0.5, 0.5, 0.2, 0);
+    my $vbox2 = Etk::VBox->new(0, 3);
+    $alignment->Add($vbox2);
+ 
+    my $button = Etk::Button->new("Normal Button");
+    $vbox2->PackStart($button);
+    
+    $button = Etk::ToggleButton->new("Toggle Button");
+    $vbox2->PackStart($button);
+    
+    $button = Etk::CheckButton->new("Check Button");
+    $vbox2->PackStart($button);
+    
+    $button = Etk::CheckButton->new();
+    $vbox2->PackStart($button);
+    
+    #######
+    # TODO: implement radio buttons!
+    # $button = Etk::RadioButton->new("Normal Button");
+    # $vbox->PackStart($button);
+    #
+    # $button = Etk::RadioButton->new();
+    # $vbox->PackStart($button);
+    #######
+    
+    $notebook->PageAppend("Tab 2 - Button test", $alignment);
+
+    $vbox->PackStart(Etk::HSeparator->new(), 0, 0, 5);
+
+    $alignment = Etk::Alignment->new(0.5, 0.5, 0, 1);
+    $vbox->PackStart($alignment, 0, 0, 0);
+    my $hbox = Etk::HBox->new(1, 0);
+    $alignment->Add($hbox);
+
+    $button = Etk::Button->new(Etk::Stock::GoPrevious);
+    $button->LabelSet("Previous");
+    $button->SignalConnect("clicked", sub {
+               $notebook->PagePrev();
+    });
+    $hbox->PackStart($button, 0, 1, 0);
+    
+    $button = Etk::Button->new(Etk::Stock::GoNext);
+    $button->LabelSet("Next");
+    $button->SignalConnect("clicked", sub {
+               $notebook->PageNext();
+    });
+    $hbox->PackStart($button, 0, 1, 0);
+
+    $win->Add($vbox);
+    $win->BorderWidthSet(5);
     $win->ShowAll();    
 }
 




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to