/** * 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(); }