예제 #1
0
 /**
  * Fill treeview from an multi-dimensional array
  * @param multi-dimensional array
  */
 public function fromArray($array)
 {
     if (is_array($array)) {
         foreach ($array as $key => $option) {
             if (is_scalar($option)) {
                 $iter = $this->model->append();
                 $pixbuf = GdkPixbuf::new_from_file('app/images/' . $this->itemIcon);
                 $this->model->set($iter, 0, $pixbuf);
                 $this->model->set($iter, 1, $option);
                 $this->model->set($iter, 2, array('key' => $key, 'value' => $option));
                 $this->model->set($iter, 3, 'child');
             } else {
                 if (is_array($option)) {
                     $iter = $this->model->append();
                     $pixbuf = GdkPixbuf::new_from_file('lib/adianti/include/ttreeview/ico_folder.png');
                     $this->model->set($iter, 0, $pixbuf);
                     $this->model->set($iter, 1, $key);
                     $this->model->set($iter, 2, array('key' => $key, 'value' => $option));
                     $this->model->set($iter, 3, 'parent');
                     $this->fromOptions($iter, $option);
                 }
             }
         }
     }
     parent::expand_all();
 }