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. The  method assembles a process for setting up the window with data passed to the opening function. Each time a window is reused, it can be set up with new data. When setup is complete, a 'setup' progress notification is emitted from the opening promise.

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

Geopend (Opened)
When the window is set up and ready, WindowInstance's 'opened' promise is resolved, and the backwards-compatibility 'opening' promise is resolved with a backwards-compatibility 'opened' promise. The window is now opened. At this point it is okay to set the focus inside the window.

Sluiten (Closing)
The closing stage begins when the window manager’s  or the window’s   method is used to close a window. WindowInstance's 'closing' promise is resolved. For backwards compatibility, the window manager emits a 'closing' event and the backwards-compatibility 'opened' promise is resolved with a backwards-compatibility 'closing' promise.

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: