mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-01 00:55:28 +00:00
implement viewport update method
This commit is contained in:
parent
2f6ac84f3e
commit
300cc6b8a2
2 changed files with 32 additions and 8 deletions
|
|
@ -57,9 +57,6 @@ class Content
|
|||
$this->gtk->add(
|
||||
$this->viewport->gtk
|
||||
);
|
||||
|
||||
// Render
|
||||
$this->gtk->show();
|
||||
}
|
||||
|
||||
public function set(
|
||||
|
|
@ -115,11 +112,11 @@ class Content
|
|||
);
|
||||
}
|
||||
|
||||
$this->viewport->gtk->add(
|
||||
$document->gtk
|
||||
$this->viewport->set(
|
||||
$document
|
||||
);
|
||||
|
||||
//$this->gtk->show_all();
|
||||
$this->gtk->show();
|
||||
}
|
||||
|
||||
public function getSource(): ?string
|
||||
|
|
|
|||
|
|
@ -4,21 +4,48 @@ declare(strict_types=1);
|
|||
|
||||
namespace Yggverse\Yoda\Entity\Browser\Container\Page\Content;
|
||||
|
||||
use \Yggverse\Yoda\Entity\Browser\Container\Page\Content;
|
||||
|
||||
use \Yggverse\Yoda\Entity\Browser\Container\Page\Content\Gemtext;
|
||||
use \Yggverse\Yoda\Entity\Browser\Container\Page\Content\Image;
|
||||
use \Yggverse\Yoda\Entity\Browser\Container\Page\Content\Plain;
|
||||
|
||||
class Viewport
|
||||
{
|
||||
public \GtkViewport $gtk;
|
||||
|
||||
// Dependencies
|
||||
public \Yggverse\Yoda\Entity\Browser\Container\Page\Content $content;
|
||||
public Content $content;
|
||||
|
||||
// Requirements
|
||||
private Gemtext | Plain | Image | null $_data = null;
|
||||
|
||||
public function __construct(
|
||||
\Yggverse\Yoda\Entity\Browser\Container\Page\Content $content
|
||||
Content $content
|
||||
) {
|
||||
// Init dependencies
|
||||
$this->content = $content;
|
||||
|
||||
// Init viewport
|
||||
$this->gtk = new \GtkViewport;
|
||||
}
|
||||
|
||||
public function set(
|
||||
Gemtext | Plain | Image $data
|
||||
): void
|
||||
{
|
||||
// Remove previous
|
||||
if ($this->_data)
|
||||
{
|
||||
$this->_data->gtk->destroy();
|
||||
}
|
||||
|
||||
// Init current
|
||||
$this->_data = $data;
|
||||
|
||||
$this->gtk->add(
|
||||
$data->gtk
|
||||
);
|
||||
|
||||
// Render
|
||||
$this->gtk->show();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue