implement viewport to integrate scrolled window features for data label

This commit is contained in:
yggverse 2024-07-07 01:14:16 +03:00
parent 27fc6fd289
commit 38cb571189
2 changed files with 37 additions and 2 deletions

View File

@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Yggverse\Yoda\Entity\Browser\Container\Tab\Page;
use \Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content\Data;
use \Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content\Viewport;
class Content
{
@ -15,6 +16,7 @@ class Content
// Requirements
public \Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content\Data $data;
public \Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content\Viewport $viewport;
// Defaults
private int $_margin = 8;
@ -43,14 +45,24 @@ class Content
true
);
// Init label
// Init viewport
// to integrate scrolled window features for data label
$this->viewport = new Viewport(
$this
);
// Init data label
$this->data = new Data(
$this
);
$this->gtk->add(
$this->viewport->gtk->add(
$this->data->gtk
);
$this->gtk->add(
$this->viewport->gtk
);
}
public function refresh()

View File

@ -0,0 +1,23 @@
<?php
declare(strict_types=1);
namespace Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content;
class Viewport
{
public \GtkViewport $gtk;
// Dependencies
public \Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content $content;
public function __construct(
\Yggverse\Yoda\Entity\Browser\Container\Tab\Page\Content $content
) {
// Init dependencies
$this->content = $content;
// Init viewport
$this->gtk = new \GtkViewport;
}
}