| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | <?php/** * Php-Gtk MySQL administrator - Main application view * * @license CeCILL 2.0 * @copyright 2008 Ouest  Systemes Informatiques * @author Frederic G. MARAND * @version $Id: Pgma_View.php,v 1.2 2008-05-25 20:31:40 cvs Exp $ *//** * Main application view */class Pgma_View extends Glade_Window   {  /**   * The application model (config file)   * @see Pgma_Model   * @var array   */  protected $model;    /**   * @var Server_Controller    */  protected $serverController;    /**   * @var GtkFrame   */  public $activeDetailView;  /**   * Prepare the view and its initial data   *    * @return void   */  public function __construct()    {    /**     * 1. Load the view fixed structure     */    parent::__construct('winPgma'); // not the standard top-level name    $this->top->set_size_request(640, 480);        /**     * 2. Restore session info      */    $this->model = new Pgma_Model(); // load configuration info    /**     * @todo Apply layout info restored at this point to the top-level window     */    /**     * 3. connect     */    $this->serverController = new Server_Controller($this->model->properties['Auth']);    try      {      $this->serverController->login();      }    catch (PDOException $e)      {      die('Failed login to the DB server: ' . PHP_EOL         . $e->getMessage() . PHP_EOL);      }          /**     * Populate the DB view     */    $dbStore = new GtkListStore(GObject::TYPE_STRING);    $arDatabases = $this->serverController->getDatabases();    foreach ($arDatabases as $dbName)      {      $dbStore->append(array($dbName));      }    $dbView = $this->glade->get_widget('tvNavigation');    $dbView->set_model($dbStore);        $dbNameRenderer = new GtkCellRendererText();    $dbNameRenderer->set_property('width', -1);    $dbNameRenderer->set_property('text', $dbName);    $dbCol = new GtkTreeViewColumn('Database', $dbNameRenderer, 'text', 0);    $dbCol->set_cell_data_func($dbNameRenderer, array($this, 'zebraTreeViewCallback'));    $dbView->append_column($dbCol);    }  }  
 |