94 lines
1.8 KiB
PHP
94 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* OpenSQLManager
|
|
*
|
|
* Free Database manager for Open Source Databases
|
|
*
|
|
* @package OpenSQLManager
|
|
* @author Timothy J. Warren
|
|
* @copyright Copyright (c) 2012
|
|
* @link https://github.com/aviat4ion/OpenSQLManager
|
|
* @license https://timshomepage.net/dbaj.txt
|
|
*/
|
|
|
|
// --------------------------------------------------------------------------
|
|
|
|
namespace OpenSQLManager;
|
|
|
|
/**
|
|
* Tabbed Container for database properties
|
|
*
|
|
* @package OpenSQLManager
|
|
* @subpackage Widgets
|
|
*/
|
|
class DB_tabs extends \wxAUINotebook {
|
|
|
|
/**
|
|
* Current Tab Widget object
|
|
*
|
|
* @var DB_Tabs
|
|
*/
|
|
private static $instance;
|
|
|
|
/**
|
|
* Db Data cache
|
|
*
|
|
* @var array
|
|
*/
|
|
private $data;
|
|
|
|
/**
|
|
* Reference to parent
|
|
*
|
|
* @var wxWindow
|
|
*/
|
|
private $parent;
|
|
|
|
/**
|
|
* Return the db tabs object if it exists, or create and return
|
|
*
|
|
* @return DB_tabs
|
|
*/
|
|
public static function &get_instance($parent)
|
|
{
|
|
if (empty(self::$instance))
|
|
{
|
|
self::$instance = new DB_tabs($parent);
|
|
}
|
|
|
|
return self::$instance;
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Create the object
|
|
*/
|
|
public function __construct($parent)
|
|
{
|
|
parent::__construct($parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_CLOSE_ON_ALL_TABS | wxAUI_NB_WINDOWLIST_BUTTON);
|
|
$this->parent = $parent;
|
|
$this->data = new \StdClass();
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Add a new tab with the provided label
|
|
*
|
|
* @param string $label
|
|
* @param GObject $widget
|
|
* @return void
|
|
*/
|
|
public function add_tab($label, $widget = NULL)
|
|
{
|
|
if (is_null($widget))
|
|
{
|
|
$widget = new Data_Grid($this);
|
|
|
|
}
|
|
|
|
$this->AddPage($widget, $label);
|
|
}
|
|
}
|
|
// End of db_tabs.php
|