Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/etk_server/examples Modified Files: etk.java etk.php etk.pl etk.py etk.rb etk.sh todo Log Message: - remove fifo model, now we use ecore_con - add async communication mode, this requires a bit more work on the client side but it sure beats the hell out of having sync communication all over - add perl code that parses etk's header files and source so it can gather information about types, protypes, signals, callbacks, and (soon) structs. parsed code is placed in .c files and compiled with etk_server - deprecate examples for now except for etk.php =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/etk.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk.java 20 Mar 2006 17:33:04 -0000 1.1 +++ etk.java 31 Mar 2006 10:34:16 -0000 1.2 @@ -22,6 +22,10 @@ } public static void main(String args[]) throws IOException { + + System.out.println("Deprecated for now!"); + return; + Runtime.getRuntime().exec("etk_server " + FIFO); System.out.println("running"); try { =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/etk.php,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etk.php 28 Mar 2006 07:40:53 -0000 1.5 +++ etk.php 31 Mar 2006 10:34:16 -0000 1.6 @@ -6,6 +6,10 @@ class Etk { + static $socket = ""; + static $result; + static private $app_id; + static private $var_id; static private $loop = true; static private $callbacks = Array(); const True = 1; @@ -245,47 +249,70 @@ const ResponseHelp = -11; function __construct() - { } - + { + static $_socket; + static $_var_id = 0; + static $_app_id = ""; + + $this->socket = &$_socket; + $this->var_id = &$_var_id; + $this->app_id = &$_app_id; + } + + function Init() + { + if($this->app_id == "") + { + $this->app_id = $this->Call(1, "server_init"); + } + } + function Connect() { - exec("etk_server ".FIFO." > /dev/null &"); + exec("etk_server > /dev/null &"); usleep(50000); + + $this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + $this->result = socket_connect($this->socket, "127.0.0.1", "8080"); } - function Call($str) + function Call($mode, $str) { - print($str."\n"); - if(!$fd = fopen(FIFO, "w")) + if($this->socket == "") { - print("Cant open fifo: ". FIFO ."\n"); - exit(-1); + print("NO SOCKET!\n"); + return; } - if(fwrite($fd, "etk_".$str."\0") === FALSE) + if($mode == 0) { - print("Cant write content to fifo!\n"); - exit(-1); + $m = "a"; } - - fclose($fd); - - if(!$fd = fopen(FIFO, "r")) + else { - print("Cant open fifo: ". FIFO ."\n"); + $m = "s"; + } + + $tvar_id = "_".$this->var_id; + $this->var_id++; + + $in = "$m ".$this->app_id.$tvar_id." etk_".$str."\0"; + if(socket_write($this->socket, $in, strlen($in)) <= 0) + { + print("Cant write content to socket!\n"); exit(-1); } + + if($mode == 0) + return $this->app_id.$tvar_id; - if(!$ret = fread($fd, 4096)) + $ret = socket_read($this->socket, 2048); + if(!$ret) { - /* - print("Cant read contents from fifo!\n"); + print("Cant read contents from socket!\n"); exit(-1); - */ } - fclose($fd); - return $ret; } @@ -304,7 +331,7 @@ while ( $this->loop ) { - $event = Etk::Call("server_callback"); + $event = $this->Call(1, "server_callback"); if(strstr($event, " ")) { @@ -328,8 +355,8 @@ function MainQuit() { $this->loop = Etk::False; - $this->Call("main_quit"); - $this->Call("server_shutdown"); + $this->Call(0, "main_quit"); + $this->Call(0, "server_shutdown"); } } @@ -354,13 +381,14 @@ function SignalConnect($name, $callback) { - $this->Call("server_signal_connect \"$name\" ".$this->Get()." \"".$name."_".$this->object."\""); + $this->Call(0, "server_signal_connect \"$name\" ".$this->Get()." \"".$name."_".$this->object."\""); $this->AddCallback($name."_".$this->object, $callback); } function Destroy() { - $this->Call("object_destroy ".$this->Get()); + $this->Call(0, "object_destroy ".$this->Get()); + $this->Set(""); } } @@ -375,12 +403,12 @@ function ShowAll() { - $this->Call("widget_show_all ".$this->Get()); + $this->Call(0, "widget_show_all ".$this->Get()); } function SizeRequestSet($width, $height) { - $this->Call("widget_size_request_set ".$this->Get()." $width $height"); + $this->Call(0, "widget_size_request_set ".$this->Get()." $width $height"); } } @@ -391,9 +419,9 @@ parent::__construct(); if(!empty($filename)) - $this->Set($this->Call("image_new_from_file \"$filename\"")); + $this->Set($this->Call(0, "image_new_from_file \"$filename\"")); else - $this->Set($this->Call("image_new")); + $this->Set($this->Call(0, "image_new")); } } @@ -406,7 +434,7 @@ function Add($widget) { - $this->Call("container_add ".$this->Get(). " ".$widget->Get()); + $this->Call(0, "container_add ".$this->Get(). " ".$widget->Get()); } } @@ -419,7 +447,7 @@ function ChildSet($child) { - $this->Call("bin_child_set ".$this->Get()." ".$child->Get()); + $this->Call(0, "bin_child_set ".$this->Get()." ".$child->Get()); } function ChildGet() @@ -432,12 +460,12 @@ function __construct($label) { parent::__construct(); - $this->Set($this->Call("frame_new \"$label\"")); + $this->Set($this->Call(0, "frame_new \"$label\"")); } function LabelSet($label) { - $this->Call("frame_label_set ".$this->Get()." \"$label\""); + $this->Call(0, "frame_label_set ".$this->Get()." \"$label\""); } } @@ -450,56 +478,56 @@ parent::__construct(); if(!empty($label)) - $this->Set($this->Call("button_new_with_label \"$label\"")); + $this->Set($this->Call(0, "button_new_with_label \"$label\"")); else - $this->Set($this->Call("button_new")); + $this->Set($this->Call(0, "button_new")); if(!empty($img)) { $this->image = new Image($img); - $this->Call("button_image_set ".$this->Get()." ".$image->Get()); + $this->Call(0, "button_image_set ".$this->Get()." ".$image->Get()); } } function Pressed() { - $this->Call("button_pressed ".$this->Get()); + $this->Call(0, "button_pressed ".$this->Get()); } function Released() { - $this->Call("button_released ".$this->Get()); + $this->Call(0, "button_released ".$this->Get()); } function Clicked() { - $this->Call("button_clicked ".$this->Get()); + $this->Call(0, "button_clicked ".$this->Get()); } function LabelSet($label) { - $this->Call("button_label_set ".$this->Get()); + $this->Call(0, "button_label_set ".$this->Get()); } function LabelGet() { - $label = $this->Call("button_label_get ".$this->Get()); - return $this->Call("server_var_get $label"); + $label = $this->Call(1, "button_label_get ".$this->Get()); + return $this->Call(1, "server_var_get $label"); } function ImageSet($image) { - $this->Call("button_image_set ".$this->Get()." ".$image->Get()); + $this->Call(0, "button_image_set ".$this->Get()." ".$image->Get()); } function ImageGet() { - return $this->Call("button_image_get ".$this->Get()); + return $this->Call(1, "button_image_get ".$this->Get()); } function AlignmentSet($xalign, $yalign) { - $this->Call("button_alignment_set ".$this->Get()." $xalign $yalign"); + $this->Call(0, "button_alignment_set ".$this->Get()." $xalign $yalign"); } function AlignmentGet(&$xalign, &$yalign) @@ -513,9 +541,9 @@ { parent::__construct($label); if(!empty($label)) - $this->Set($this->Call("check_button_new_with_label \"$label\"")); + $this->Set($this->Call(0, "check_button_new_with_label \"$label\"")); else - $this->Set($this->Call("check_button_new")); + $this->Set($this->Call(0, "check_button_new")); } } @@ -524,12 +552,12 @@ function __construct($num_cols, $num_rows, $homogeneous = Etk::False) { parent::__construct(); - $this->Set($this->Call("table_new $num_cols $num_rows $homogeneous")); + $this->Set($this->Call(0, "table_new $num_cols $num_rows $homogeneous")); } function AttachDefaults(Widget $widget, $left_attach, $right_attach, $top_attach, $bottom_attach) { - $this->Call("table_attach_defaults ".$this->Get()." ".$widget->Get()." $left_attach $right_attach $top_attach $bottom_attach"); + $this->Call(0, "table_attach_defaults ".$this->Get()." ".$widget->Get()." $left_attach $right_attach $top_attach $bottom_attach"); } } @@ -539,7 +567,7 @@ { parent::__construct(); - $this->Set($this->Call("window_new")); + $this->Set($this->Call(0, "window_new")); $this->__construct_props($title, $width, $height); } @@ -551,10 +579,10 @@ protected function __construct_props($title = "", $width = "", $height = "") { if(!empty($title)) - $this->Call("window_title_set ".$this->Get(). " \"$title\""); + $this->Call(0, "window_title_set ".$this->Get(). " \"$title\""); if(!empty($width) && !empty($height)) - $this->Call("window_resize $width $height"); + $this->Call(0, "window_resize $width $height"); } } @@ -563,38 +591,38 @@ function __construct($title = "", $width = "", $height = "") { parent::__construct2(); - $this->Set($this->Call("dialog_new")); + $this->Set($this->Call(0, "dialog_new")); $this->__construct_props($title, $width, $height); } function PackMainArea(Widget $widget, $expand = Etk::True, $fill = Etk::True, $padding = 0, $pack_at_end = Etk::False) { - $this->Call("dialog_pack_in_main_area ".$this->Get()." ".$widget->Get()." $expand $fill $padding $pack_at_end"); + $this->Call(0, "dialog_pack_in_main_area ".$this->Get()." ".$widget->Get()." $expand $fill $padding $pack_at_end"); } function PackActionArea(Widget $widget, $expand = Etk::True, $fill = Etk::True, $padding = 0, $pack_at_end = Etk::False) { - $this->Call("dialog_pack_in_action_area ".$this->Get()." ".$widget->Get()." $expand $fill $padding $pack_at_end"); + $this->Call(0, "dialog_pack_in_action_area ".$this->Get()." ".$widget->Get()." $expand $fill $padding $pack_at_end"); } function PackButtinActionArea(Button $button, $response_id, $expand = Etk::True, $fill = Etk::True, $padding = 0, $pack_at_end = Etk::False) { - $this->Call("dialog_pack_button_in_action_area ".$this->Get()." ".$button->Get()." $response_id $expand $fill $padding $pack_at_end"); + $this->Call(0, "dialog_pack_button_in_action_area ".$this->Get()." ".$button->Get()." $response_id $expand $fill $padding $pack_at_end"); } function ButtonAdd($label, $response_id) { - $this->Call("dialog_button_add ".$this->Get()." \"$label\" $response_id"); + $this->Call(0, "dialog_button_add ".$this->Get()." \"$label\" $response_id"); } function ButtonAddFromStock($stock_id, $response_id) { - $this->Call("dialog_button_add_from_stock ".$this->Get()." $stock_id $response_id"); + $this->Call(0, "dialog_button_add_from_stock ".$this->Get()." $stock_id $response_id"); } function HasSeperatorSet($has_seperator) { - $this->Call("dialog_hash_seperator_set ".$this->Get()." $has_seperator"); + $this->Call(0, "dialog_hash_seperator_set ".$this->Get()." $has_seperator"); } } @@ -603,16 +631,16 @@ function __construct($text = "") { parent::__construct(); - $this->Set($this->Call("entry_new")); + $this->Set($this->Call(0, "entry_new")); if(!empty($text)) - $this->Call("entry_text_set ".$this->Get()." \"$text\""); + $this->Call(0, "entry_text_set ".$this->Get()." \"$text\""); } function TextGet() { - $text = $this->Call("entry_text_get ".$this->Get()); - return $this->Call("server_var_get $text"); + $text = $this->Call(1, "entry_text_get ".$this->Get()); + return $this->Call(1, "server_var_get $text"); } } @@ -621,12 +649,12 @@ function __construct($text = "") { parent::__construct(); - $this->Set($this->Call("label_new \"$text\"")); + $this->Set($this->Call(0, "label_new \"$text\"")); } function TextSet($label) { - $this->Call("label_set ".$this->Get()." \"$label\""); + $this->Call(0, "label_set ".$this->Get()." \"$label\""); } } @@ -639,7 +667,7 @@ function PackStart($child, $fill = Etk::True, $expand = Etk::True, $padding = 0) { - $this->Call("box_pack_start ". $this->Get(). " " .$child->Get(). " $fill $expand $padding"); + $this->Call(0, "box_pack_start ". $this->Get(). " " .$child->Get(). " $fill $expand $padding"); } } @@ -648,7 +676,7 @@ function __construct($homogenous = Etk::False, $padding = 0) { parent::__construct(); - $this->Set($this->Call("vbox_new $homogenous $padding")); + $this->Set($this->Call(0, "vbox_new $homogenous $padding")); } } @@ -657,7 +685,7 @@ function __construct($homogenous = Etk::False, $padding = 0) { parent::__construct(); - $this->Set($this->Call("hbox_new $homogenous $padding")); + $this->Set($this->Call(0, "hbox_new $homogenous $padding")); } } @@ -682,7 +710,7 @@ function __construct($tree) { parent::__construct(); - $this->model = $this->etk->Call("tree_model_text_new ".$tree->Get()); + $this->model = $this->etk->Call(0, "tree_model_text_new ".$tree->Get()); } } @@ -691,7 +719,7 @@ function __construct($tree) { parent::__construct(); - $this->model = $this->etk->Call("tree_model_checkbox_new ".$tree->Get()); + $this->model = $this->etk->Call(0, "tree_model_checkbox_new ".$tree->Get()); } } @@ -700,7 +728,7 @@ function __construct($tree, $title, $model, $width) { parent::__construct(); - $this->Set($this->Call("tree_col_new ".$tree->Get()." \"$title\" ".$model->Get()." $width")); + $this->Set($this->Call(0, "tree_col_new ".$tree->Get()." \"$title\" ".$model->Get()." $width")); } } @@ -712,12 +740,12 @@ function __construct() { parent::__construct(); - $this->Set($this->Call("tree_new")); + $this->Set($this->Call(0, "tree_new")); } function ModeSet($mode) { - $this->Call("tree_mode_set ".$this->Get()." $mode"); + $this->Call(0, "tree_mode_set ".$this->Get()." $mode"); } function Append() @@ -742,32 +770,32 @@ } } - return $this->Call("tree_append ".$this->Get()." ".implode(" ", $args)); + return $this->Call(1, "tree_append ".$this->Get()." ".implode(" ", $args)); } function Build() { - $this->Call("tree_build ".$this->Get()); + $this->Call(0, "tree_build ".$this->Get()); } function FirstRowGet() { - return $this->Call("tree_first_row_get ".$this->Get()); + return $this->Call(1, "tree_first_row_get ".$this->Get()); } function NextRowGet($row) { - return $this->Call("tree_next_row_get ".$this->Get()." $row 0 0"); + return $this->Call(1, "tree_next_row_get ".$this->Get()." $row 0 0"); } function PrevRowGet($row) { - return $this->Call("tree_prev_row_get ".$this->Get()." $row 0 0"); + return $this->Call(1, "tree_prev_row_get ".$this->Get()." $row 0 0"); } function LastRowGet() { - return $this->Call("tree_last_row_get ".$this->Get()." 0 0"); + return $this->Call(0, "tree_last_row_get ".$this->Get()." 0 0"); } } @@ -775,7 +803,7 @@ $etk = new Etk(); $etk->Connect(); -$etk->Call("init"); +$etk->Init(); $win = new Window("My Todo"); $win->SignalConnect("delete_event", _window_deleted_cb); @@ -795,6 +823,7 @@ //$tree->Append($col1, Etk::True, $col2, "and make it work!", $col3, "High", $col4, date("d/m/y"), NULL); //$tree->Append($col1, Etk::False, $col2, "create some more classes", $col3, "Low", $col4, date("d/m/y"), NULL); //$tree->Append($col1, Etk::False, $col2, "bind this to sqlite", $col3, "Normal", $col4, date("d/m/y"), NULL); +$lines = Array(); $lines = file("todo"); foreach($lines as $line) { @@ -803,7 +832,7 @@ continue; $items = explode('?||?||?', $line); - $tree->Append($col1, $items[0], $col2, $items[1], $col3, $items[2], $col4, $items[3], NULL); + $tree->Append($col1, $items[0], $col2, $items[1], $col3, $items[2], $col4, trim($items[3]), NULL); } $hbox = new HBox(); @@ -829,10 +858,15 @@ $win->ShowAll(); $etk->Main(); - +socket_close($etk->socket); function _new_btn_clicked_cb() { global $dialog; + + if(get_class($dialog["dia"]) == "Dialog") + if($dialog["dia"]->Get() != "") + return; + $dialog["dia"] = new Dialog("My Todo"); $dialog["dia"]->ButtonAddFromStock(Etk::StockDialogOk, Etk::ResponseOk); $dialog["dia"]->ButtonAddFromStock(Etk::StockDialogCancel, Etk::ResponseCancel); @@ -898,8 +932,7 @@ $row = $tree->FirstRowGet(); $lrow = $tree->LastRowGet(); - - return; + //print("$row = $lrow\n"); $i = 0; =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/etk.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk.pl 28 Mar 2006 07:40:53 -0000 1.3 +++ etk.pl 31 Mar 2006 10:34:16 -0000 1.4 @@ -1,42 +1,65 @@ +use IO::Socket; -$fifo = "/tmp/etk_server_fifo"; +system("etk_server &"); +sleep(1); + +my $sock = new IO::Socket::INET ( + PeerAddr => '127.0.0.1', + PeerPort => '8080', + Proto => 'tcp', + Reuse => 1, +); +die "Could not create socket: $!\n" unless $sock; -sub etk +sub etk_async { - open(ETK, ">$fifo"); - print ETK "$_[0]\0"; - close ETK; - - open(ETK, "$fifo"); - my $line = <ETK>; - close ETK; + print "a $_[0] $_[1]\0\n"; + print $sock "a $_[0] $_[1]\0"; + return $_[0]; +} +sub etk_sync +{ + my $line; + my $listener; + + print "s $_[0]\0\n"; + print $sock "s $_[0]\0"; + print "reading...\n"; + $listener = $sock->accept(); + $line = <$listener>; return $line; } -system("etk_server $fifo &"); -sleep(1); - -etk "etk_init"; +my $app_id = etk_sync("0 etk_server_init"); -my $win = etk "etk_window_new"; +my $win = etk_async("win1", "etk_window_new"); -my $button1 = etk "etk_button_new_with_label \"Perl Rules\""; +my $button1 = etk_async("btn1", "etk_button_new_with_label \"Perl Rules\""); -my $vbox = etk "etk_vbox_new 0 0"; -etk "etk_box_pack_start $vbox $button1 1 1 0"; +my $vbox = etk_async("vbx1", "etk_vbox_new 0 0"); +etk_async("0", "etk_box_pack_start $vbox $button1 1 1 0"); -etk "etk_container_add $win $vbox"; +etk_async("0", "etk_container_add $win $vbox"); -etk "etk_widget_show_all $win"; +etk_async("0", "etk_widget_show_all $win"); -etk "etk_server_signal_connect \"clicked\" $button1 \"button_1_click\""; -etk "etk_server_signal_connect \"delete_event\" $win \"win_delete\""; +etk_async("0", "etk_server_signal_connect \"clicked\" $button1 \"button_1_click\""); +etk_async("0", "etk_server_signal_connect \"delete_event\" $win \"win_delete\""); $event = ""; while ( $event ne "win_delete" ) { - $event = etk "etk_server_callback"; + $event = etk_sync("0 etk_server_callback"); + + if($event =~ /\s/) + { + ($event, $tmp) = split " ", $event, 2; + if($tmp =~ /(num|str)="(.*?)(?<!\\)"/) + { + # todo, fill in args for event handler + } + } if($event eq "button_1_click") { @@ -44,5 +67,5 @@ } } -etk "etk_main_quit"; -etk "etk_server_shutdown"; +etk_async("0", "etk_main_quit"); +etk_async("0", "etk_server_shutdown"); =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/etk.py,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk.py 28 Mar 2006 07:40:53 -0000 1.3 +++ etk.py 31 Mar 2006 10:34:16 -0000 1.4 @@ -81,18 +81,19 @@ def TitleSet(self, title): self.Call("window_title_set " + self.Get() + " \"" + title + "\"") -etk = Etk() -etk.Connect() -etk.Init() - -window = Window() -print("window id is " + window.Get()); -window.TitleSet("Etk-Python") - -button = Button() -button.LabelSet("Python rules!") - -window.Add(button) -window.ShowAll() - -etk.Main() +print("depricated for now!!\n") +#etk = Etk() +#etk.Connect() +#etk.Init() +# +#window = Window() +#print("window id is " + window.Get()); +#window.TitleSet("Etk-Python") +# +#button = Button() +#button.LabelSet("Python rules!") +# +#window.Add(button) +#window.ShowAll() +# +#etk.Main() =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/etk.rb,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk.rb 28 Mar 2006 07:40:53 -0000 1.3 +++ etk.rb 31 Mar 2006 10:34:16 -0000 1.4 @@ -1,3 +1,8 @@ +#!/usr/local/bin/ruby + +puts("Depricated for now!\n") +exit + def etk(str) fifo = File.open("/tmp/etk_server_fifo", "w") =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/etk.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk.sh 19 Mar 2006 15:39:45 -0000 1.1 +++ etk.sh 31 Mar 2006 10:34:16 -0000 1.2 @@ -1,38 +1,65 @@ # Sample script using Etk + Etkd and Bash +echo 'Depricated for now!' +exit; + FIFO=/tmp/etk_server_fifo +i=1 +id=0 etk() { - echo $1 > $FIFO + echo a $id $1 + echo a $id $1 > $FIFO + echo done + sleep 0.001 +} + +etk_r() +{ + echo s $id $1 + echo s $id $1 > $FIFO RESULT=`cat $FIFO` + echo done + sleep 0.001 +} + +etk_l() +{ + i=`expr $i \+ 1` + RESULT="$id"_$i + echo a $RESULT $1 + echo a $RESULT $1 > $FIFO + echo done + sleep 0.001 } ETK_TRUE=1 ETK_FALSE=0 # run the Etk server -etk_server $FIFO & -sleep 0.5 +#etk_server $FIFO & +#sleep 0.5 # initialize Etk -etk "etk_init" +etk_r "etk_server_init" +id=$RESULT # create a new window and save the result -etk "etk_window_new" +etk_l "etk_window_new" WIN=$RESULT; # create a new button + label and save the result -etk "etk_button_new_with_label \"Bash Owns\"" +etk_l "etk_button_new_with_label \"Bash Owns\"" BUTTON=$RESULT # create another button + label and save the result -etk "etk_button_new_with_label \"Bash Rules\"" +etk_l "etk_button_new_with_label \"Bash Rules\"" BUTTON2=$RESULT # create a vertical box and save the result -etk "etk_vbox_new $ETK_FALSE 0" +etk_l "etk_vbox_new $ETK_FALSE 0" VBOX=$RESULT # pack the buttons into the vbox @@ -40,20 +67,20 @@ etk "etk_box_pack_start $VBOX $BUTTON2 $ETK_TRUE $ETK_TRUE 0" # create a new table and save the result -etk "etk_table_new 1 3 0" +etk_l "etk_table_new 1 3 0" TABLE=$RESULT # create a new entry and save the result -etk "etk_entry_new" +etk_l "etk_entry_new" ENTRY=$RESULT # create a new progressbar, save the result, set its text -etk "etk_progress_bar_new" +etk_l "etk_progress_bar_new" PBAR=$RESULT etk "etk_progress_bar_text_set $PBAR \"Downloading...\"" # create another button + label and save the result -etk "etk_button_new_with_label \"Get Text\"" +etk_l "etk_button_new_with_label \"Get Text\"" BUTTON3=$RESULT # attach the progressbar and the entry to the table @@ -75,7 +102,7 @@ # start main loop while [ "$CB" != "win_delete" ]; do - etk "etk_server_callback" + etk_r "etk_server_callback" CB=$RESULT case $CB in =================================================================== RCS file: /cvs/e/e17/proto/etk_server/examples/todo,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- todo 28 Mar 2006 07:40:53 -0000 1.1 +++ todo 31 Mar 2006 10:34:16 -0000 1.2 @@ -2,3 +2,4 @@ 0?||?||?Add task deletion?||?||?Medium?||?||?29/03/06 0?||?||?Add sqlite backend?||?||?Low?||?||?15/04/06 0?||?||?Add sorting functions?||?||?Medium?||?||?01/04/06 +0?||?||?Update enhance?||?||?Medium?||?||?05/04/06 ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs