/** * Class constructor * Creates the page */ function __construct() { parent::__construct(); $this->form = new TForm(); $list1 = new TSortList('list1'); $list2 = new TSortList('list2'); $list1->addItems(array('1' => 'One', '2' => 'Two', '3' => 'Three')); $list2->addItems(array('a' => 'A', 'b' => 'B', 'c' => 'C')); $list1->setSize(200, 100); $list2->setSize(200, 100); $list1->connectTo($list2); $list2->connectTo($list1); // creates the action button $button1 = new TButton('action1'); $button1->setAction(new TAction(array($this, 'onSave')), 'Save'); $button1->setImage('ico_save.png'); $table = new TTable(); $row = $table->addRow(); $row->addCell($list1); $row->addCell($list2); $table->addRow()->addCell($button1); $this->form->setFields(array($list1, $list2, $button1)); $this->form->add($table); // wrap the page content using vertical box $vbox = new TVBox(); $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__)); $vbox->add($this->form); parent::add($vbox); }
/** * Class Constructor * @param $name widget's name * @param $database database name * @param $model model class name * @param $key table field to be used as key in the combo * @param $value table field to be listed in the combo * @param $ordercolumn column to order the fields (optional) * @param $criteria criteria (TCriteria object) to filter the model (optional) */ public function __construct($name, $database, $model, $key, $value, $ordercolumn = NULL, TCriteria $criteria = NULL) { // executes the parent class constructor parent::__construct($name); // carrega objetos do banco de dados TTransaction::open($database); // instancia um repositório de Estado $repository = new TRepository($model); if (is_null($criteria)) { $criteria = new TCriteria(); } $criteria->setProperty('order', isset($ordercolumn) ? $ordercolumn : $key); // carrega todos objetos $collection = $repository->load($criteria, FALSE); // adiciona objetos na combo if ($collection) { $items = array(); foreach ($collection as $object) { $items[$object->{$key}] = $object->{$value}; } parent::addItems($items); } TTransaction::close(); }