sdl3/test_multi_window.php
2025-10-26 13:39:25 +01:00

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();