wxRuby Documentation Home

# Wx::TopLevelWindow

TopLevelWindow is a common base class for Dialog and
Frame. 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.

## Derived from

Window

EvtHandler

Object

## Methods

- TopLevelWindow#can_set_transparent
- TopLevelWindow#enable_close_button
- TopLevelWindow#get_default_item
- TopLevelWindow#get_icon
- TopLevelWindow#get_icons
- TopLevelWindow#get_title
- TopLevelWindow#handle_setting_change
- TopLevelWindow#is_active
- TopLevelWindow#is_always_maximized
- TopLevelWindow#iconize
- TopLevelWindow#is_full_screen
- TopLevelWindow#is_iconized
- TopLevelWindow#is_maximized
- TopLevelWindow#is_using_native_decorations
- TopLevelWindow#maximize
- TopLevelWindow#request_user_attention
- TopLevelWindow#set_default_item
- TopLevelWindow#set_icon
- TopLevelWindow#set_icons
- TopLevelWindow#set_left_menu
- TopLevelWindow#set_max_size
- TopLevelWindow#set_min_size
- TopLevelWindow#set_size_hints
- TopLevelWindow#set_right_menu
- TopLevelWindow#set_shape
- TopLevelWindow#set_title
- TopLevelWindow#set_transparent
- TopLevelWindow#should_prevent_app_exit
- TopLevelWindow#show_full_screen
- TopLevelWindow#use_native_decorations
- TopLevelWindow#use_native_decorations_by_default

### TopLevelWindow#can_set_transparent

Boolean can_set_transparent()

Returns if the platform supports making the window translucent.

#### See also

TopLevelWindow#set_transparent

### TopLevelWindow#enable_close_button

Boolean enable_close_button(%(arg-type)Boolean% enable = true)

Enables or disables the Close button (most often in the right
upper corner of a dialog) and the Close entry of the system
menu (most often in the left upper corner of the dialog).
Currently only implemented for MSW and GTK. Returns
true if operation was successful. This may be wrong on
X11 (including GTK+) where the window manager may not support
this operation and there is no way to find out.

### TopLevelWindow#get_default_item

Window get_default_item()

Returns a pointer to the button which is the default for this window, or .
The default button is the one activated by pressing the Enter key.

### TopLevelWindow#get_icon

Icon get_icon()

Returns the standard icon of the window. The icon will be invalid if it hadn’t
been previously set by set_icon.

#### See also

get_icons

### TopLevelWindow#get_icons

IconBundle get_icons()

Returns all icons associated with the window, there will be none of them if
neither set_icon nor
set_icons had been called before.

Use get_icon to get the main icon of the
window.

#### See also

IconBundle

### TopLevelWindow#get_title

String get_title()

Gets a string containing the window title.

#### See also

TopLevelWindow#set_title

### TopLevelWindow#handle_setting_change

Boolean handle_setting_change(%(arg-type)WPARAM% wParam, LPARAM lParam)

Unique to the WinCE port. Responds to showing/hiding SIP (soft input panel) area and resize
window accordingly. Override this if you want to avoid resizing or do additional
operations.

### TopLevelWindow#is_active

Boolean is_active()

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

### TopLevelWindow#is_always_maximized

Boolean is_always_maximized()

Returns if this window is expected to be always maximized, either due to platform policy
or due to local policy regarding particular class.

### TopLevelWindow#iconize

iconize(%(arg-type)Boolean% iconize)

Iconizes or restores the window.

#### Parameters

- iconize If , iconizes the window; if , shows and restores it.

#### See also

TopLevelWindow#is_iconized, TopLevelWindow#maximize.

### TopLevelWindow#is_full_screen

Boolean is_full_screen()

Returns if the window is in fullscreen mode.

#### See also

TopLevelWindow#show_full_screen

### TopLevelWindow#is_iconized

Boolean is_iconized()

Returns if the window is iconized.

### TopLevelWindow#is_maximized

Boolean is_maximized()

Returns if the window is maximized.

### TopLevelWindow#is_using_native_decorations

Boolean is_using_native_decorations()

This method is specific to Universal port

Returns if this window is using native decorations, if we draw
them ourselves.

#### See also

use_native_decorations,

use_native_decorations_by_default

### TopLevelWindow#maximize

maximize(%(arg-type)Boolean% maximize)

Maximizes or restores the window.

#### Parameters

- maximize If , maximizes the window, otherwise it restores it.

#### See also

TopLevelWindow#iconize

### TopLevelWindow#request_user_attention

request_user_attention(%(arg-type)Integer% flags = USER_ATTENTION_INFO)

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

flags may have the value of either `USER_ATTENTION_INFO`
(default) or `USER_ATTENTION_ERROR` which results in a more drastic
action. When in doubt, use the default value.

Note that 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 GTK with task bars supporting it.

### TopLevelWindow#set_default_item

set_default_item(%(arg-type)Window% win)

Changes the default item for the panel, usually win is a button.

#### See also

get_default_item

### TopLevelWindow#set_icon

set_icon(%(arg-type)Icon% icon)

Sets the icon for this window.

#### Parameters

- icon The icon to associate with this window.

#### Remarks

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.

See also Icon.

### TopLevelWindow#set_icons

set_icons(%(arg-type)IconBundle% icons)

Sets several icons of different sizes for this window: this allows to use
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 set_icon.

#### Parameters

- icons The icons to associate with this window.

#### See also

IconBundle.

### TopLevelWindow#set_left_menu

set_left_menu(%(arg-type)Integer% id = ID_ANY, String label = ’’, Menu subMenu = nil)

Sets action or menu activated by pressing left hardware button on the smart phones.
Unavailable on full keyboard machines.

#### Parameters

- id Identifier for this button.
- label Text to be displayed on the screen area dedicated to this hardware button.
- subMenu The menu to be opened after pressing this hardware button.

#### See also

TopLevelWindow#set_right_menu.

### TopLevelWindow#set_max_size

set_max_size(%(arg-type)Size% size)

A simpler interface for setting the size hints than
set_size_hints.

### TopLevelWindow#set_min_size

set_min_size(%(arg-type)Size% size)

A simpler interface for setting the size hints than
set_size_hints.

### TopLevelWindow#set_size_hints

set_size_hints(%(arg-type)Integer% minW, Integer minH, Integer maxW=-1, Integer maxH=-1, Integer incW=-1, Integer incH=-1) set_size_hints(%(arg-type)Size% minSize, Size maxSize=DefaultSize, Size incSize=DefaultSize)

Allows specification of minimum and maximum window sizes, and window size increments.
If a pair of values is not set (or set to -1), the default values will be used.

- incW Specifies the increment for sizing the width (Motif/Xt only).
- incH Specifies the increment for sizing the height (Motif/Xt only).
- incSize Increment size (Motif/Xt only).

#### Remarks

If this function is called, the user will not be able to size the window outside
the given bounds. The resizing increments are only significant under Motif or Xt.

### TopLevelWindow#set_right_menu

set_right_menu(%(arg-type)Integer% id = ID_ANY, String label = ’’, Menu subMenu = nil)

Sets action or menu activated by pressing right hardware button on the smart phones.
Unavailable on full keyboard machines.

#### Parameters

- id Identifier for this button.
- label Text to be displayed on the screen area dedicated to this hardware button.
- subMenu The menu to be opened after pressing this hardware button.

#### See also

TopLevelWindow#set_left_menu.

### TopLevelWindow#set_shape

Boolean set_shape(%(arg-type)Region% region)

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 again with an empty region. Returns true if the
operation is successful.

### TopLevelWindow#set_title

set_title(%(arg-type)String% title)

Sets the window title.

#### Parameters

- title The window title.

#### See also

TopLevelWindow#get_title

### TopLevelWindow#set_transparent

Boolean set_transparent(%(arg-type)Integer% alpha)

If the platform supports it will set the window to be translucent

#### Parameters

- alpha Determines how opaque or transparent the window will
  be, if the platform supports the opreration. A value of 0 sets the
  window to be fully transparent, and a value of 255 sets the window
  to be fully opaque.

Returns if the transparency was successfully changed.

### TopLevelWindow#should_prevent_app_exit

Boolean should_prevent_app_exit()

This virtual function is not meant to be called directly but can be overridden
to return (it returns by default) to allow the application to
close even if this, presumably not very important, window is still opened.
By default, the application stays alive as long as there are any open top level
windows.

### TopLevelWindow#show_full_screen

Boolean show_full_screen(%(arg-type)Boolean% show, Integer style = FULLSCREEN_ALL)

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:

- FULLSCREEN_NOMENUBAR
- FULLSCREEN_NOTOOLBAR
- FULLSCREEN_NOSTATUSBAR
- FULLSCREEN_NOBORDER
- FULLSCREEN_NOCAPTION
- FULLSCREEN_ALL (all of the above)

This function has not been tested with MDI frames.

Note that showing a window full screen also actually
show()s if it hadn’t been shown yet.

#### See also

TopLevelWindow#is_full_screen

### TopLevelWindow#use_native_decorations

use_native_decorations(%(arg-type)Boolean% native = )

This method is specific to Universal port

Use native or custom-drawn decorations for this window only. Notice that to
have any effect this method must be called before really creating the window,
i.e. two step creation must be used:

MyFrame *frame = new MyFrame; // use default ctor frame→UseNativeDecorations(false); // change from default “true” frame→Create(parent, title, …); // really create the frame

#### See also

use_native_decorations_by_default,

is_using_native_decorations

### TopLevelWindow#use_native_decorations_by_default

use_native_decorations_by_default(%(arg-type)Boolean% native = )

This method is specific to Universal port

Top level windows in Universal port can use either system-provided window
decorations (i.e. title bar and various icons, buttons and menus in it) or draw
the decorations themselves. By default the system decorations are used if they
are available, but this method can be called with native set to to
change this for all windows created after this point.

Also note that if `WXDECOR` environment variable is set, then custom
decorations are used by default and so it may make sense to call this method
with default argument if the application can’t use custom decorations at all
for some reason.

#### See also

use_native_decorations

[This page automatically generated from the Textile source at 2023-06-09 00:45:25 +0000]