44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
<?php
|
|
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
|
|
|
use PHPNative\Framework\Application;
|
|
use PHPNative\Ui\Window;
|
|
use PHPNative\Ui\Widget\Button;
|
|
use PHPNative\Ui\Widget\Container;
|
|
|
|
define('DEBUG_EVENTS', true); // Enable event debugging
|
|
|
|
$app = new Application();
|
|
|
|
// Main window
|
|
$mainWindow = new Window('Main Window', 400, 300);
|
|
$mainContainer = new Container('flex flex-col p-4 bg-gray-100');
|
|
|
|
$openButton = new Button('Open Second Window', 'bg-blue-500 text-white p-4 m-2 rounded hover:bg-blue-600');
|
|
$openButton->setOnClick(function() use ($app) {
|
|
echo "Creating second window...\n";
|
|
$secondWindow = new Window('Second Window', 400, 300);
|
|
$secondContainer = new Container('flex flex-col p-4 bg-green-100');
|
|
|
|
$closeButton = new Button('Close This Window', 'bg-red-500 text-white p-4 m-2 rounded hover:bg-red-600');
|
|
$closeButton->setOnClick(function() use ($secondWindow) {
|
|
echo "Close button clicked in second window (ID: {$secondWindow->getWindowId()})\n";
|
|
$secondWindow->close();
|
|
});
|
|
|
|
$secondContainer->addComponent($closeButton);
|
|
$secondWindow->setRoot($secondContainer);
|
|
$app->addWindow($secondWindow);
|
|
|
|
echo "Second window created with ID: {$secondWindow->getWindowId()}\n";
|
|
});
|
|
|
|
$mainContainer->addComponent($openButton);
|
|
$mainWindow->setRoot($mainContainer);
|
|
$app->addWindow($mainWindow);
|
|
|
|
echo "Main window ID: {$mainWindow->getWindowId()}\n";
|
|
|
|
$app->run();
|