mirror of https://github.com/YGGverse/Yoda.git
yggverse
4 months ago
3 changed files with 91 additions and 0 deletions
@ -0,0 +1,49 @@
@@ -0,0 +1,49 @@
|
||||
<?php |
||||
|
||||
declare(strict_types=1); |
||||
|
||||
namespace Yggverse\Yoda\Entity\Browser\Menu; |
||||
|
||||
use \Yggverse\Yoda\Entity\Browser\Menu\File\Open; |
||||
|
||||
class File |
||||
{ |
||||
public \GtkMenuItem $gtk; |
||||
|
||||
// Dependencies |
||||
public \Yggverse\Yoda\Entity\Browser\Menu $menu; |
||||
|
||||
// Defaults |
||||
private string $_label = 'File'; |
||||
|
||||
public function __construct( |
||||
\Yggverse\Yoda\Entity\Browser\Menu $menu |
||||
) { |
||||
// Init dependencies |
||||
$this->menu = $menu; |
||||
|
||||
// Init menu item |
||||
$this->gtk = \GtkMenuItem::new_with_label( |
||||
$this->_label |
||||
); |
||||
|
||||
// Init submenu container |
||||
$file = new \GtkMenu; |
||||
|
||||
// Init new tab menu item |
||||
$open = new Open( |
||||
$this |
||||
); |
||||
|
||||
$file->append( |
||||
$open->gtk |
||||
); |
||||
|
||||
$this->gtk->set_submenu( |
||||
$file |
||||
); |
||||
|
||||
// Render |
||||
$this->gtk->show(); |
||||
} |
||||
} |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
<?php |
||||
|
||||
declare(strict_types=1); |
||||
|
||||
namespace Yggverse\Yoda\Entity\Browser\Menu\File; |
||||
|
||||
class Open |
||||
{ |
||||
public \GtkMenuItem $gtk; |
||||
|
||||
// Dependencies |
||||
public \Yggverse\Yoda\Entity\Browser\Menu\File $file; |
||||
|
||||
// Defaults |
||||
private string $_label = 'File'; |
||||
|
||||
public function __construct( |
||||
\Yggverse\Yoda\Entity\Browser\Menu\File $file |
||||
) { |
||||
// Init dependencies |
||||
$this->file = $file; |
||||
|
||||
// Init menu item |
||||
$this->gtk = \GtkMenuItem::new_with_label( |
||||
$this->_label |
||||
); |
||||
|
||||
// Render |
||||
$this->gtk->show(); |
||||
} |
||||
} |
Loading…
Reference in new issue