mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-01 09:05:27 +00:00
init tab menu elements
This commit is contained in:
parent
c5aee8f861
commit
1459667dc7
4 changed files with 152 additions and 2 deletions
60
src/Entity/Browser/Menu/Tab.php
Normal file
60
src/Entity/Browser/Menu/Tab.php
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Yggverse\Yoda\Entity\Browser\Menu;
|
||||
|
||||
use \Yggverse\Yoda\Entity\Browser\Menu\Tab\Add;
|
||||
use \Yggverse\Yoda\Entity\Browser\Menu\Tab\Close;
|
||||
|
||||
class Tab
|
||||
{
|
||||
public \GtkMenuItem $gtk;
|
||||
|
||||
// Dependencies
|
||||
public \Yggverse\Yoda\Entity\Browser\Menu $menu;
|
||||
|
||||
// Requirements
|
||||
public \Yggverse\Yoda\Entity\Browser\Menu\Tab\Add $add;
|
||||
public \Yggverse\Yoda\Entity\Browser\Menu\Tab\Close $close;
|
||||
|
||||
// Defaults
|
||||
private string $_label = 'Tab';
|
||||
|
||||
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
|
||||
$tab = new \GtkMenu;
|
||||
|
||||
// Init new tab menu item
|
||||
$this->add = new Add(
|
||||
$this
|
||||
);
|
||||
|
||||
$tab->append(
|
||||
$this->add->gtk
|
||||
);
|
||||
|
||||
// Init close tab menu item
|
||||
$this->close = new Close(
|
||||
$this
|
||||
);
|
||||
|
||||
$tab->append(
|
||||
$this->close->gtk
|
||||
);
|
||||
|
||||
$this->gtk->set_submenu(
|
||||
$tab
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue