|
@@ -5,7 +5,7 @@
|
|
* @license CeCILL 2.0
|
|
* @license CeCILL 2.0
|
|
* @copyright 2008 Ouest Systemes Informatiques
|
|
* @copyright 2008 Ouest Systemes Informatiques
|
|
* @author Frederic G. MARAND
|
|
* @author Frederic G. MARAND
|
|
- * @version $Id: Pgma_View.php,v 1.1 2008-05-23 09:42:27 cvs Exp $
|
|
+ * @version $Id: Pgma_View.php,v 1.2 2008-05-25 20:31:40 cvs Exp $
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
|
|
@@ -20,19 +20,70 @@ class Pgma_View extends Glade_Window
|
|
*/
|
|
*/
|
|
protected $model;
|
|
protected $model;
|
|
|
|
|
|
|
|
+
|
|
|
|
+ * @var Server_Controller
|
|
|
|
+ */
|
|
|
|
+ protected $serverController;
|
|
|
|
+
|
|
|
|
|
|
* @var GtkFrame
|
|
* @var GtkFrame
|
|
*/
|
|
*/
|
|
public $activeDetailView;
|
|
public $activeDetailView;
|
|
|
|
|
|
|
|
|
|
- * Load the view fixed structure, then reload session info
|
|
+ * Prepare the view and its initial data
|
|
*
|
|
*
|
|
* @return void
|
|
* @return void
|
|
*/
|
|
*/
|
|
public function __construct()
|
|
public function __construct()
|
|
{
|
|
{
|
|
|
|
+
|
|
|
|
+ * 1. Load the view fixed structure
|
|
|
|
+ */
|
|
parent::__construct('winPgma');
|
|
parent::__construct('winPgma');
|
|
|
|
+ $this->top->set_size_request(640, 480);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ * 2. Restore session info
|
|
|
|
+ */
|
|
$this->model = new Pgma_Model();
|
|
$this->model = new Pgma_Model();
|
|
|
|
+
|
|
|
|
+ * @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);
|
|
}
|
|
}
|
|
- }
|
|
+ }
|
|
|
|
+
|