« Return to Thread: Strange result

Strange result

by AngeloP :: Rate this Message:

Reply to Author | View in Thread

I want to make a main array named $objs=array()
 that contains reference to the gtkentry that I' have in into a form

for example I want to have somethig like this:

$foo=array( object_a;object_b .... , last_obj );

so I'm able with a comand like

foreach($foo as $obj )

to print  $obj->get_text(); or have other operations.

Please see the code here under

From the main program I istantite the class
and then I append the entry object into array by the command

array_push($objs, $test->get_objs0());

but I must  make for two times an array push

I would into class make a local  array push everi gtkentry obj into array
and then when I get it  with command get_objs
return the array with two object and push it
to the main array

with only one command array_push(....); !!!!!!

I have tried to make an array into the class
but it return no obj where I have made mistake ???


Any has some Idea for solution ?


Thanks
-------------------------------------------------
<?php

class Rad_Entryb extends GtkHbox
{
 
  function __construct()
        {
          parent::__construct();
        }
       
       
      function spacer($container,$gap)
      {
        if($container -> get_name()== 'GtkHbox' )
        {
         //echo "horizontal spacer: $gap\n";
         $spacer = new GtkHbox();
         $spacer -> set_size_request($gap,0);
         $container -> pack_start($spacer,$false);
        }
        else
        {
        //echo "vertical spacer: $gap\n";
         $spacer = new GtkVbox();
         $spacer -> set_size_request(0,$gap);
         $container -> pack_start($spacer,$false);
        }
      }

      function expandible_spacer($container)
      {
        $container->pack_start(new GtkHbox(),true);
      }

}


class One_Label_Two_Field extends Rad_entryb
{

    private $objs0;
    private $objs1;


 
  function __construct($vbox,$label_uno,$entry_uno,$entry_due)
        {
       
         parent::__construct();


   
    $this->spacer($this,3);

    $lab= new GtkLabel();
    $lab->set_text($label_uno);
   
   
    $this->pack_start($lab,false);

    $entry0= new GtkEntry();
    $entry0->set_name($entry_uno);

               $this->objs0= $entry0;
   
    $this->pack_start($entry0,false);

    $entry1= new GtkEntry();
    $entry1->set_name($entry_due);
   
                   $this->objs1= $entry1;
   

    $this->pack_start($entry1,false);
   
    $this->expandible_spacer($this);
   
      $vbox -> pack_start($this,0);



     
     

}

     
       

        function get_objs0()
        {
          return $this->objs0;
        }

        function get_objs1()
        {
          return $this->objs1;
        }



}


//Finestra semplice e un bottone
$objs=array();

// ===========================================================
// Creazione finestra
$window= new GtkWindow();
$window->connect_simple('destroy',array('Gtk','main_quit'));
$window->set_size_request(550,400); // imposta la dimensione della finestra

// Creazionne delle righe
$vbox= new GtkVBox();
$window-> add($vbox);


// PROBLEM PROBLEM
$test = New One_Label_Two_Field($vbox,"Prodotto","prod_cod","prod_descr");
array_push($objs, $test->get_objs0());
array_push($objs, $test->get_objs1());

foreach($objs as $key=>$obj)
{
  is_object( $obj  )?print "This Key ".$key." IS an OBJECT \n":print " This Key ".$key." IS NOT AN OBJECT \n";
}

$window->show_all();
GTK::main();


?>

 « Return to Thread: Strange result