Search documentation of wx

# View Source wxTopLevelWindow (wx v2.4.3)

`wxTopLevelWindow` is a common base class for `wxDialog` and `wxFrame`.

It is an abstract base class meaning that you never work with objects of this class directly, but all of its methods are also applicable for the two classes above.

Note that the instances of `wxTopLevelWindow` are managed by wxWidgets in the internal top level window list.

See:

- `wxDialog`

- `wxFrame`

This class is derived, and can use functions, from:

- `wxWindow`

- `wxEvtHandler`

wxWidgets docs: wxTopLevelWindow

## Events

Event types emitted from this class:

- `maximize`

- `move`

- `show`

# Summary

## Types

wxTopLevelWindow()

## Functions

centerOnScreen(This)

Equivalent to `centerOnScreen(This, [])`.

centerOnScreen(This, Options)

Equivalent to: `centreOnScreen/2`

centreOnScreen(This)

Equivalent to `centreOnScreen(This, [])`.

centreOnScreen/2

Centres the window on screen.

getIcon(This)

Returns the standard icon of the window.

getIcons(This)

Returns all icons associated with the window, there will be none of them if neither `setIcon/2` nor `setIcons/2` had been called before.

getTitle(This)

Gets a string containing the window title.

iconize(This)

Equivalent to `iconize(This, [])`.

iconize/2

Iconizes or restores the window.

isActive(This)

Returns true if this window is currently active, i.e. if the user is currently working with it.

isFullScreen(This)

Returns true if the window is in fullscreen mode.

isIconized(This)

Returns true if the window is iconized.

isMaximized(This)

Returns true if the window is maximized.

maximize(This)

Equivalent to `maximize(This, [])`.

maximize/2

Maximizes or restores the window.

requestUserAttention(This)

Equivalent to `requestUserAttention(This, [])`.

requestUserAttention/2

Use a system-dependent way to attract users attention to the window when it is in background.

setIcon(This, Icon)

Sets the icon for this window.

setIcons(This, Icons)

Sets several icons of different sizes for this window: this allows using different icons for different situations (e.g.

setShape(This, Region)

If the platform supports it, sets the shape of the window to that depicted by `region`.

setTitle(This, Title)

Sets the window title.

showFullScreen(This, Show)

Equivalent to `showFullScreen(This, Show, [])`.

showFullScreen/3

Depending on the value of `show` parameter the window is either shown full screen or restored to its normal state.

# Types

Link to this type

# wxTopLevelWindow()

View Source

    -type wxTopLevelWindow() :: wx:wx_object().

# Functions

Link to this function

# centerOnScreen(This)

View Source

    -spec centerOnScreen(This) -> ok when This :: wxTopLevelWindow().

Equivalent to `centerOnScreen(This, [])`.

Link to this function

# centerOnScreen(This, Options)

View Source

    -spec centerOnScreen(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {dir, integer()}.

Equivalent to: `centreOnScreen/2`

Link to this function

# centreOnScreen(This)

View Source

    -spec centreOnScreen(This) -> ok when This :: wxTopLevelWindow().

Equivalent to `centreOnScreen(This, [])`.

Link to this function

# centreOnScreen/2

View Source

    -spec centreOnScreen(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {dir, integer()}.

Centres the window on screen.

See: `wxWindow:centreOnParent/2`

Link to this function

# getIcon(This)

View Source

    -spec getIcon(This) -> wxIcon:wxIcon() when This :: wxTopLevelWindow().

Returns the standard icon of the window.

The icon will be invalid if it hadn't been previously set by `setIcon/2`.

See: `getIcons/1`

Link to this function

# getIcons(This)

View Source

    -spec getIcons(This) -> wxIconBundle:wxIconBundle() when This :: wxTopLevelWindow().

Returns all icons associated with the window, there will be none of them if neither `setIcon/2` nor `setIcons/2` had been called before.

Use `getIcon/1` to get the main icon of the window.

See: `wxIconBundle`

Link to this function

# getTitle(This)

View Source

    -spec getTitle(This) -> unicode:charlist() when This :: wxTopLevelWindow().

Gets a string containing the window title.

See: `setTitle/2`

Link to this function

# iconize(This)

View Source

    -spec iconize(This) -> ok when This :: wxTopLevelWindow().

Equivalent to `iconize(This, [])`.

Link to this function

# iconize/2

View Source

    -spec iconize(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {iconize, boolean()}.

Iconizes or restores the window.

Note that in wxGTK the change to the window state is not immediate, i.e. `isIconized/1` will typically return false right after a call to `iconize/2` and its return value will only change after the control flow returns to the event loop and the notification about the window being really iconized is received.

See:

- `isIconized/1`

- `wxIconizeEvent`

Link to this function

# isActive(This)

View Source

    -spec isActive(This) -> boolean() when This :: wxTopLevelWindow().

Returns true if this window is currently active, i.e. if the user is currently working with it.

Link to this function

# isFullScreen(This)

View Source

    -spec isFullScreen(This) -> boolean() when This :: wxTopLevelWindow().

Returns true if the window is in fullscreen mode.

See: `showFullScreen/3`

Link to this function

# isIconized(This)

View Source

    -spec isIconized(This) -> boolean() when This :: wxTopLevelWindow().

Returns true if the window is iconized.

Link to this function

# isMaximized(This)

View Source

    -spec isMaximized(This) -> boolean() when This :: wxTopLevelWindow().

Returns true if the window is maximized.

Link to this function

# maximize(This)

View Source

    -spec maximize(This) -> ok when This :: wxTopLevelWindow().

Equivalent to `maximize(This, [])`.

Link to this function

# maximize/2

View Source

    -spec maximize(This, [Option]) -> ok when This :: wxTopLevelWindow(), Option :: {maximize, boolean()}.

Maximizes or restores the window.

Note that, just as with `iconize/2`, the change to the window state is not immediate in at least wxGTK port.

See: `iconize/2`

Link to this function

# requestUserAttention(This)

View Source

    -spec requestUserAttention(This) -> ok when This :: wxTopLevelWindow().

Equivalent to `requestUserAttention(This, [])`.

Link to this function

# requestUserAttention/2

View Source

    -spec requestUserAttention(This, [Option]) -> ok
                                  when This :: wxTopLevelWindow(), Option :: {flags, integer()}.

Use a system-dependent way to attract users attention to the window when it is in background.

`flags` may have the value of either `?wxUSER\_ATTENTION\_INFO` (default) or `?wxUSER\_ATTENTION\_ERROR` which results in a more drastic action. When in doubt, use the default value.

Note: This function should normally be only used when the application is not already in foreground.

This function is currently implemented for Win32 where it flashes the window icon in the taskbar, and for wxGTK with task bars supporting it.

Link to this function

# setIcon(This, Icon)

View Source

    -spec setIcon(This, Icon) -> ok when This :: wxTopLevelWindow(), Icon :: wxIcon:wxIcon().

Sets the icon for this window.

Remark: The window takes a 'copy' of `icon`, but since it uses reference counting, the copy is very quick. It is safe to delete `icon` after calling this function.

Note: In wxMSW, `icon` must be either 16x16 or 32x32 icon.

See:

- `wxIcon`

- `setIcons/2`

Link to this function

# setIcons(This, Icons)

View Source

    -spec setIcons(This, Icons) -> ok when This :: wxTopLevelWindow(), Icons :: wxIconBundle:wxIconBundle().

Sets several icons of different sizes for this window: this allows using different icons for different situations (e.g.

task switching bar, taskbar, window title bar) instead of scaling, with possibly bad looking results, the only icon set by `setIcon/2`.

Note: In wxMSW, `icons` must contain a 16x16 or 32x32 icon, preferably both.

See: `wxIconBundle`

Link to this function

# setShape(This, Region)

View Source

    -spec setShape(This, Region) -> boolean()
                      when
                          This :: wxTopLevelWindow(),
                          Region :: wxRegion:wxRegion() | wxGraphicsPath:wxGraphicsPath().

If the platform supports it, sets the shape of the window to that depicted by `region`.

The system will not display or respond to any mouse event for the pixels that lie outside of the region. To reset the window to the normal rectangular shape simply call `setShape/2` again with an empty `wxRegion`. Returns true if the operation is successful.

This method is available in this class only since wxWidgets 2.9.3, previous versions only provided it in `wxTopLevelWindow`.

Note that windows with non default shape have a fixed size and can't be resized using `wxWindow:setSize/6`.

Link to this function

# setTitle(This, Title)

View Source

    -spec setTitle(This, Title) -> ok when This :: wxTopLevelWindow(), Title :: unicode:chardata().

Sets the window title.

See: `getTitle/1`

Link to this function

# showFullScreen(This, Show)

View Source

    -spec showFullScreen(This, Show) -> boolean() when This :: wxTopLevelWindow(), Show :: boolean().

Equivalent to `showFullScreen(This, Show, [])`.

Link to this function

# showFullScreen/3

View Source

    -spec showFullScreen(This, Show, [Option]) -> boolean()
                            when This :: wxTopLevelWindow(), Show :: boolean(), Option :: {style, integer()}.

Depending on the value of `show` parameter the window is either shown full screen or restored to its normal state.

`style` is a bit list containing some or all of the following values, which indicate what elements of the window to hide in full-screen mode:

- `?wxFULLSCREEN\_NOMENUBAR`

- `?wxFULLSCREEN\_NOTOOLBAR`

- `?wxFULLSCREEN\_NOSTATUSBAR`

- `?wxFULLSCREEN\_NOBORDER`

- `?wxFULLSCREEN\_NOCAPTION`

- `?wxFULLSCREEN\_ALL` (all of the above)

This function has not been tested with MDI frames.

Note: Showing a window full screen also actually `wxWindow:show/2`s the window if it isn't shown.

See: `isFullScreen/1`