OOUI/Windows/nl

Een   is een container voor elementen in een onderliggend frame. Elk venster wordt beheerd door een  , die wordt gebruikt om het venster te openen en te sluiten en de presentatie ervan te beheren. De grootte van een venster wordt opgegeven met behulp van een symbolische naam ('small', 'medium', 'large' of 'full'), die wordt geïnterpreteerd door de window manager. Als de gevraagde grootte niet wordt herkend, kiest de windowmanager voor een verstandige fallback.

OOUI windows bevat Dialog, ProcessDialog en MessageDialog. Voor eenvoudige gebruikssituaties bestaan er verschillende functies. Zie Eenvoudige berichten.

Houd er rekening mee dat vensters reageren op de grootte van het weergaveapparaat en hun weergave dienovereenkomstig dynamisch aanpassen. De grootte van het dialoogvenster moet daarom eerder als een benadering dan als een exacte specificatie worden beschouwd.



Levensduur venster
Beheerde vensters sluiten elkaar uit. Er kan geen nieuw venster worden geopend als er een huidig venster geopend is. Windows zelf is persistent en kan, in plaats van te worden afgebroken wanneer het wordt gesloten, opnieuw worden gevuld met de relevante gegevens en opnieuw worden gebruikt. De levenscyclus van een venster wordt weergegeven door een object WindowInstance. Dit object heeft vier eigenschappen, die een voor elke primaire fase van de cyclus vertegenwoordigen: 'opening', 'opened', 'closing' en 'closed'.


 * Het resultaat opening wordt gegeven nadat het venster is begonnen met openen (dit kan worden vertraagd als een ander venster nog wordt gesloten), waarbij de 'data'-waarde wordt doorgegeven die is gebruikt bij de aanroep van.
 * Het resultaat opened wordt gegeven nadat het venster is geopend, met de 'data'-waarde die was doorgegeven aan de   call.
 * Het resultaat closing wordt gegeven nadat het vesnter met het sluiten begint, met de 'data' waarde die bij de aanroep van  is doorgegeven.
 * Het resultaat closed wordt gegeven nadat het venster is gesloten, met de 'data'-waarde die was doorgegeven aan de  call.

Zie Procesdialogen voor voorbeelden die deze keten 'promises' in de praktijk laten zien.

Voor achterwaartse compatibiliteit worden WindowInstance objecten die worden geretourneerd met  en   uitgebreid met Promise-achtige eigenschappen. Dit is iets tijdelijks.

Voordat het venster voor de eerste keer wordt geopend (en alleen bij de eerste keer), wordt de methode   aangeroepen. De methode  wordt gebruikt om het venster te vullen met persistente inhoud, waardoor er een soort caching-mechanisme ontstaat. Een venster met een lijst met 250 talen kan bijvoorbeeld tijdens de initialisatie met die lijst worden gevuld en als het venster opnieuw wordt geopend, hoeft de lijst niet opnieuw te worden geladen.



Openen (Opening )
De openingsfase begint wanneer de  van de window manager of de methode   van het venster wordt gebruikt om een venster te openen. WindowInstance's 'opening' is uitgevoerd. Voor achterwaartse compatibiliteit zendt de window manager een gebeurtenis 'opening' uit die wordt uitgevoerd met een 'opened' wanneer het venster is ingesteld, klaar en geopend.

De window manager roept vervolgens de methode  aan, die het aantal milliseconden krijgt om te wachten voordat de methode   van het venster wordt aangeroepen en het resultaat wordt uitgevoerd. De methode  stelt een proces samen voor het instellen van het venster met gegevens die worden doorgegeven aan de openingsfunctie. Elke keer dat een venster opnieuw wordt gebruikt, kan het worden ingesteld met nieuwe gegevens. Wanneer het instellen is voltooid, wordt een voortgangsmelding van 'setup' verzonden.

De window-manager roept vervolgens de methode  aan, die het aantal milliseconden krijgt om te wachten tussen het voltooien van de installatie en het aanroepen van de methode   van het venster en het uitvoeren van het resultaat. Er wordt vervolgens een voortgangsmelding van 'ready' verzonden vanuit de opening voor achterwaartse compatibiliteit.

Geopend (Opened)
Wanneer het venster is ingesteld en klaar is, is de 'opened'-belofte van WindowInstance ingelost en wordt de achterwaartse compatibiliteit 'opening'-belofte ingelost met een achterwaartse compatibiliteit 'opened'-belofte. Het venster is nu geopend. Op dit punt kan de focus in het venster worden ingesteld.

Sluiten (Closing)
De sluitingsfase begint wanneer de  van de window-manager of de methode   van het venster wordt gebruikt om een venster te sluiten. De 'closing'-belofte van WindowInstance is ingelost. Voor achterwaartse compatibiliteit zendt de window-manager een 'closing'-gebeurtenis uit en wordt de achterwaartse compatibiliteit 'opened'-belofte ingelost met een 'closing'-belofte voor achterwaartse compatibiliteit.

The window manager calls the  method, which gets the number of milliseconds to wait before calling the window’s   method and executing the result. There is rarely a need to override this method, though one might if a window requires a long time to teardown and you wish to disable the window controls in the meantime. When the hold process is complete, a 'hold' progress notification is emitted from the backwards-compatibility closing promise.

The window manager then calls the  method, which gets the number of milliseconds to wait between finishing the hold process and calling the window’s   method and executing the result. A 'teardown' progress notification is emitted from the backwards-compatibility closing promise.

Gesloten (Closed)
When the teardown process is complete, WindowInstance's 'closed' promise is resolved, the backwards-compatibility closing promise is resolved. Any data passed to the  method will be passed as a resolution value to WindowInstance's 'closed' promise and the backwards-compatibility closing promise. The window is now closed.

Opmerkingen
Note that each process (e.g., setup, ready, hold, teardown) is executed in series, so asynchronous processing can complete. Always assume window processes are executed asynchronously. See Processes and errors for more details about processes.

Closing a window without data will safely close it without making any changes, essentially canceling the process.

The WindowManager can also be configured to prevent interaction outside the window (by setting the modal option to 'true'). For a full list of supported methods and configuration options, please see the code-level documentation.



Voorbeeld gebruik WindowInstance
Als u alleen het venster wilt openen en wilt wachten tot het is gesloten, gebruikt u: