Added Menu
Added Start of Menus, and main interface, fleshed out classes a little bi.
This commit is contained in:
parent
7da4776dfb
commit
eb6edfa6c3
@ -9,6 +9,21 @@
|
|||||||
* @link https://github.com/aviat4ion/OpenSQLManager
|
* @link https://github.com/aviat4ion/OpenSQLManager
|
||||||
* @license http://philsturgeon.co.uk/code/dbad-license
|
* @license http://philsturgeon.co.uk/code/dbad-license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base Database class
|
||||||
|
*
|
||||||
|
* Extends PDO to simplify cross-database issues
|
||||||
|
*/
|
||||||
class DB_PDO extends PDO {
|
class DB_PDO extends PDO {
|
||||||
|
|
||||||
|
function __construct($dsn, $username=NULL, $password=NULL, $driver_options=array())
|
||||||
|
{
|
||||||
|
parent::__construct($dsn, $username, $password, $driver_options);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// End of db_pdo.php
|
@ -9,6 +9,16 @@
|
|||||||
* @link https://github.com/aviat4ion/OpenSQLManager
|
* @link https://github.com/aviat4ion/OpenSQLManager
|
||||||
* @license http://philsturgeon.co.uk/code/dbad-license
|
* @license http://philsturgeon.co.uk/code/dbad-license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ODBC Database Driver
|
||||||
|
*
|
||||||
|
* For general database access for databases not specified by the main drivers
|
||||||
|
*/
|
||||||
class ODBC extends DB_PDO {
|
class ODBC extends DB_PDO {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// End of odbc.php
|
@ -9,6 +9,17 @@
|
|||||||
* @link https://github.com/aviat4ion/OpenSQLManager
|
* @link https://github.com/aviat4ion/OpenSQLManager
|
||||||
* @license http://philsturgeon.co.uk/code/dbad-license
|
* @license http://philsturgeon.co.uk/code/dbad-license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bootstrap file
|
||||||
|
*
|
||||||
|
* Initializes parent window and starts the GTK event loop
|
||||||
|
*/
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
if ( ! class_exists('gtk'))
|
if ( ! class_exists('gtk'))
|
||||||
{
|
{
|
||||||
die("Please load the php-gtk2 module in your php.ini\r\n");
|
die("Please load the php-gtk2 module in your php.ini\r\n");
|
||||||
@ -30,7 +41,8 @@ $dir = dirname(__FILE__);
|
|||||||
|
|
||||||
// Create the main window
|
// Create the main window
|
||||||
$wnd = new Main();
|
$wnd = new Main();
|
||||||
$wnd->show_all();
|
|
||||||
|
|
||||||
// Start the GTK event loop
|
// Start the GTK event loop
|
||||||
GTK::main();
|
GTK::main();
|
||||||
|
|
||||||
|
// End of index.php
|
@ -9,16 +9,121 @@
|
|||||||
* @link https://github.com/aviat4ion/OpenSQLManager
|
* @link https://github.com/aviat4ion/OpenSQLManager
|
||||||
* @license http://philsturgeon.co.uk/code/dbad-license
|
* @license http://philsturgeon.co.uk/code/dbad-license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main Window Class
|
||||||
|
*
|
||||||
|
* Creates and displays the main interface window
|
||||||
|
*/
|
||||||
class Main extends GtkWindow {
|
class Main extends GtkWindow {
|
||||||
|
|
||||||
|
private $main_vbox, $main_hbox;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create and display the main window on startup
|
||||||
|
*/
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
|
//Layout the interface
|
||||||
|
$this->_main_layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Layout the main interface
|
||||||
|
*
|
||||||
|
* Create menus, hboxes, vboxs and other widgets
|
||||||
|
*/
|
||||||
|
private function _main_layout()
|
||||||
|
{
|
||||||
$this->set_title('OpenSQLManager');
|
$this->set_title('OpenSQLManager');
|
||||||
|
|
||||||
// Quit when this window is closed
|
// Quit when this window is closed
|
||||||
$this->connect_simple('destroy', array('gtk', 'main_quit'));
|
$this->connect_simple('destroy', array('gtk', 'main_quit'));
|
||||||
|
|
||||||
|
// Main Vbox that everything is contained in
|
||||||
|
$main_vbox = new GTKVBox();
|
||||||
|
|
||||||
|
// Main Hbox for columns
|
||||||
|
$main_hbox = new GTKHBox();
|
||||||
|
|
||||||
|
// Add the menubar
|
||||||
|
$main_vbox->pack_start($this->_create_menu(), FALSE, FALSE);
|
||||||
|
|
||||||
|
// Add the main interface area hbox
|
||||||
|
$main_vbox->pack_start($main_hbox, FALSE, FALSE);
|
||||||
|
|
||||||
|
// Add the Vbox, and show the window
|
||||||
|
$this->add($main_vbox);
|
||||||
|
$this->show_all();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create the menu for the program
|
||||||
|
*
|
||||||
|
* @return GtkMenuBar
|
||||||
|
*/
|
||||||
|
private function _create_menu()
|
||||||
|
{
|
||||||
|
//Menu Bar
|
||||||
|
$menu_bar = new GtkMenuBar();
|
||||||
|
|
||||||
|
//Menu Bar Top Items
|
||||||
|
$top_file_menu = new GtkMenuItem('_File');
|
||||||
|
$top_help_menu = new GtkMenuItem('_Help');
|
||||||
|
|
||||||
|
//Add sub Menus to top items
|
||||||
|
$file_menu = new GtkMenu();
|
||||||
|
$top_file_menu->set_submenu($file_menu);
|
||||||
|
$help_menu = new GtkMenu();
|
||||||
|
$top_help_menu->set_submenu($help_menu);
|
||||||
|
|
||||||
|
|
||||||
|
//File Menu
|
||||||
|
{
|
||||||
|
//Set up the quit item
|
||||||
|
$quit = new GtkImageMenuItem(GTK::STOCK_QUIT);
|
||||||
|
$quit->connect_simple('activate', array($this, 'quit'));
|
||||||
|
$file_menu->append($quit);
|
||||||
|
|
||||||
|
// Add the top level menu to the menubar
|
||||||
|
$menu_bar->append($top_file_menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Help Menu
|
||||||
|
{
|
||||||
|
//Set up the about item
|
||||||
|
$about = new GtkImageMenuItem(GTK::STOCK_ABOUT);
|
||||||
|
$about->connect_simple('activate', array($this, 'about'));
|
||||||
|
$help_menu->append($about);
|
||||||
|
|
||||||
|
// Add the top level menu to the menubar
|
||||||
|
$menu_bar->append($top_help_menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return $menu_bar;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display About menu with version information
|
||||||
|
*/
|
||||||
|
function about()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Quits the GTK loop
|
||||||
|
*/
|
||||||
|
function quit()
|
||||||
|
{
|
||||||
|
Gtk::main_quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// End of main.php
|
Reference in New Issue
Block a user