org.gnu.gtk

Class Window

Known Direct Subclasses:
Dialog, Plug

public class Window
extends Bin

A Window is a window that can be displayed on the screen. It also is a container that can hold a single child widget. It is common to have the window in Window supply the margin around the window of the contained widget.

Constructor Summary

Window()
Constructs a top-level Window.
Window(Handle handle)
Create a new Window with a handle to a native resource returned from a call to the native libraries.
Window(WindowType windowType)
Construct a new Window object.

Method Summary

void
addAccelGroup(AccelGroup accelGroup)
Associate accesGroup with the window.
void
deiconify()
Asks to deiconify the specified Window.
void
destroy()
Destroys a window and releases its native resources.
void
fullscreen()
boolean
getAcceptFocus()
static Pixbuf[]
getDefaultIconList()
Gets the icons set by setDefaultIconList.
boolean
getFocusOnMap()
Gets the value set by setFocusOnMap(boolean).
Widget
getFocusWidget()
Retrieves the current focused Widget within the window.
Gravity
getGravity()
Gets the value set by setGravity().
Pixbuf
getIcon()
Returns the icon representing the Window.
Pixbuf[]
getIconList()
Retrieves the list of icons set by setIconList().
String
getIconName()
Returns the name of the themed icon for the window.
Point
getPosition()
Retuns the current position of the window.
Screen
getScreen()
Returns the GdkScreen associated with this window.
Requisition
getSize()
Returns the current size of a Window.
boolean
getSkipPagerHint()
Returns whether the window should appear in the pager.
boolean
getSkipTaskbarHint()
Returns whether this window should appear in the task bar.
String
getTitle()
Returns the title for the Window object
Window
getTransientParent()
Fetches the transient parent of this window.
static Type
getType()
Retrieve the runtime type used by the GLib library.
static Window
getWindow(Handle handle)
Create a new Window with a handle to a native resource returned from a call to the native libraries.
boolean
hasToplevelFocus()
Returns whether the input focus is within this Window.
void
iconify()
Asks to iconify the Window.
boolean
isActive()
Returns whether the window is part of the current active toplevel.
boolean
isDestroyed()
Returns true if destroy has previously been called on this object.
static Window[]
listToplevelWindows()
Returns a list of all existing toplevel windows.
void
maximize()
Asks to maximize the Window so it becomes full-screen.
void
move(int x, int y)
Ask the window manager to move the Window to a given location.
void
present()
Presents a window to the user.
void
removeAccelGroup(AccelGroup accelGroup)
Reverses the effect of addAccelGroup.
void
resize(int width, int height)
Resizes the Window as if the user had done so, obeying the geometry constraints.
void
setAcceptFocus(boolean acceptFocus)
Windows may set a hint asking the desktop environment not to receive the input focus.
static void
setAutoStartupNotification(boolean setting)
void
setDecorated(boolean setting)
By default Windows are decorated by a titlebar, resize controls, etc.
static void
setDefaultIcon(Pixbuf icon)
static boolean
setDefaultIconFromFile(String filename)
Sets an icon to be used as fallback for windows that haven't had setIconList() called on them from a file on disk.
static void
setDefaultIconList(Pixbuf[] icons)
Sets up the icon representing a Window.
void
setDefaultIconName(String name)
Sets an icon to be used as fallback for windows that haven't had setIconList called on them from a named themed icon.
void
setDefaultSize(int width, int height)
Sets the default size for a Window.
void
setDefaultWidget(Widget defaultWidget)
The default widget is the widget that is activated when the user presses the Enter key.
void
setFocusOnMap(boolean setting)
Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped.
void
setFocusWidget(Widget focus)
If focus is not the current focus widget and is focusable, set it as the focus widget for the window.
void
setGeometryHints(Widget geometryWidget, Geometry geometry, WindowHints geomMask)
This method sets up hints about how a Window can be resized by the user.
void
setGravity(Gravity gravity)
Window gravity defines the meaning of coordinates passed to move().
void
setIcon(Pixbuf icon)
Sets up the icon representing a Window.
boolean
setIconFromFile(String filename)
Sets the icon for this window.
void
setIconList(Pixbuf[] icons)
Sets up the icon representing a GtkWindow.
void
setIconName(String name)
Sets the icon for the window from a named themed icon.
void
setKeepAbove(boolean setting)
void
setKeepBelow(boolean setting)
void
setModal(boolean modal)
Sets a window modal or non-modal.
void
setPosition(WindowPosition position)
Sets a position constraint for this window.
void
setResizable(boolean resizable)
Sets whether the user can resize the window.
void
setScreen(Screen screen)
Sets the Screen where the window is displayed; if the window is already mapped, it will be unmapped, and then remapped on the new screen.
void
setSkipPagerHint(boolean skipHint)
Set to true to keep the window from appearing in the pager.
void
setSkipTaskbarHint(boolean skipHint)
Set to true to keep this window from appearing in the task bar.
void
setTitle(String title)
Set the title for this Window object
void
setTransientParent(Window parent)
Dialog windows should be set transient for the main application window they were spawned from.
void
stick()
Asks to stick the window.
void
unfullscreen()
void
unmaximize()
Asks to unmaximize the Window so it becomes it normal size.
void
unstick()
Asks to unstick the window.

Methods inherited from class org.gnu.gtk.Bin

getChild, getType

Methods inherited from class org.gnu.gtk.Container

add, addListener, getBooleanChildProperty, getBorderWidth, getChildProperty, getChildren, getEventListenerClass, getEventType, getIntChildProperty, getResizeMode, getType, remove, removeListener, resizeChildren, setBooleanChildProperty, setBorderWidth, setChildProperty, setIntChildProperty, setResizeMode

Methods inherited from class org.gnu.gtk.Widget

activate, addAccelerator, addEvents, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, canActivateAccel, createContext, createLayout, draw, drawArea, drawArea, finish, getAccessible, getAllocation, getCanFocus, getColormap, getContext, getData, getDisplay, getDragData, getEventListenerClass, getEventType, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getScreen, getSensitive, getStyle, getToplevel, getType, getWidget, getWindow, grabDefault, grabFocus, hasFocus, hasScreen, hide, hideAll, highlight, highlight, intersect, isAncestor, makeWidget, modifyStyle, popColormap, pushColormap, realize, removeAccelerator, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, reparent, setBackgroundColor, setBaseColor, setCanFocus, setColormap, setDoubleBuffered, setDragDestination, setDragIcon, setDragIconPixbuf, setDragIconStock, setDragSource, setEvents, setExtensionEvents, setFont, setForegroundColor, setMinimumSize, setName, setNoDragDestination, setNoDragSource, setSensitive, setTextColor, shapeCombineMask, show, showAll, unHighlight, unHighlight

Methods inherited from class org.gnu.gtk.GtkObject

destroy, getType, sink

Constructor Details

Window

public Window()
Constructs a top-level Window. This is the same as calling new Window(WindowType.TOPLEVEL)

Window

public Window(Handle handle)
Create a new Window with a handle to a native resource returned from a call to the native libraries.
Parameters:
handle - The handle that represents a pointer to a native resource.

Window

public Window(WindowType windowType)
Construct a new Window object.
Parameters:
windowType - The type of window to create

Method Details

addAccelGroup

public void addAccelGroup(AccelGroup accelGroup)
Associate accesGroup with the window.
Parameters:
accelGroup - The AccelGroup to associate with this window.

deiconify

public void deiconify()
Asks to deiconify the specified Window.

destroy

public void destroy()
Destroys a window and releases its native resources. When a window is destroyed, it will break any references it holds to other objects and it will be removed from the list of toplevels. It is safe to call this method multiple times (the native resources will only be released once). However, no other methods on a window should be called after destroy is called. An ObjectDestroyedException is thrown if this takes place.
Overrides:
destroy in interface GtkObject

fullscreen

public void fullscreen()

getAcceptFocus

public boolean getAcceptFocus()

getDefaultIconList

public static Pixbuf[] getDefaultIconList()
Gets the icons set by setDefaultIconList.
Returns:
the list of icons

getFocusOnMap

public boolean getFocusOnMap()
Returns:
TRUE if window should receive the input focus when mapped.

getFocusWidget

public Widget getFocusWidget()
Retrieves the current focused Widget within the window.
Returns:
The Widget that has focus.

getGravity

public Gravity getGravity()
Gets the value set by setGravity().
Returns:
The Gravity for the Window.

getIcon

public Pixbuf getIcon()
Returns the icon representing the Window.

getIconList

public Pixbuf[] getIconList()
Retrieves the list of icons set by setIconList(). The list is copied, but the reference count on each member won't be incremented.

getIconName

public String getIconName()
Returns the name of the themed icon for the window.
Returns:
The icon name or NULL if the window has no themed icon.

getPosition

public Point getPosition()
Retuns the current position of the window.
Returns:
The position of the window.

getScreen

public Screen getScreen()
Returns the GdkScreen associated with this window.
Overrides:
getScreen in interface Widget

getSize

public Requisition getSize()
Returns the current size of a Window. If the window is not onscreen, it returns the size that will be suggested to the window manager for the initial window size.
Returns:
The size of the Window.

getSkipPagerHint

public boolean getSkipPagerHint()
Returns whether the window should appear in the pager.

getSkipTaskbarHint

public boolean getSkipTaskbarHint()
Returns whether this window should appear in the task bar.

getTitle

public String getTitle()
Returns the title for the Window object
Returns:
A string containing the title.

getTransientParent

public Window getTransientParent()
Fetches the transient parent of this window.
Returns:
The transient parent for this window, or null if no transient parent has been set.

getType

public static Type getType()
Retrieve the runtime type used by the GLib library.
Overrides:
getType in interface Bin

getWindow

public static Window getWindow(Handle handle)
Create a new Window with a handle to a native resource returned from a call to the native libraries.
Parameters:
handle - The handle that represents a pointer to a native resource.

hasToplevelFocus

public boolean hasToplevelFocus()

iconify

public void iconify()
Asks to iconify the Window. Note that you shouldn't assume the Window is iconified afterward because other entities could deiconify it again or there may not be a window manager in which case iconification is not possible.

isActive

public boolean isActive()
Returns whether the window is part of the current active toplevel. (That is, the toplevel window receiving keystrokes.) The return value is TRUE if the window is active toplevel itself, but also if it is, say, a Plug embedded in the active toplevel. You might use this method if you wanted to draw a widget differently in an active window from a widget in an inactive window.

isDestroyed

public boolean isDestroyed()
Returns true if destroy has previously been called on this object.

listToplevelWindows

public static Window[] listToplevelWindows()
Returns a list of all existing toplevel windows.
Returns:
the array containing the windows

maximize

public void maximize()
Asks to maximize the Window so it becomes full-screen.

move

public void move(int x,
                 int y)
Ask the window manager to move the Window to a given location. Window managers are free to ignore this request. Most window managers ignore the request for the initial window position but honor the request after the window has been shown.
Parameters:
x - The x coordinate for the move.
y - The y coordinate for the move.

present

public void present()
Presents a window to the user. This may mean raising the window in the stack order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences. If the Window is hidden it will also call show as well.

removeAccelGroup

public void removeAccelGroup(AccelGroup accelGroup)
Reverses the effect of addAccelGroup.
Parameters:
accelGroup - The AccelGroup to disassociate with this window.

resize

public void resize(int width,
                   int height)
Resizes the Window as if the user had done so, obeying the geometry constraints.
Parameters:
width - The width for the resized Window.
height - The height for the resized Window.

setAcceptFocus

public void setAcceptFocus(boolean acceptFocus)
Windows may set a hint asking the desktop environment not to receive the input focus. This won't necessarily be honoured, but if you're building a quick utility window then you might want to set this property.
Parameters:
acceptFocus - true to set this hint.

setAutoStartupNotification

public static void setAutoStartupNotification(boolean setting)

setDecorated

public void setDecorated(boolean setting)
By default Windows are decorated by a titlebar, resize controls, etc. Some window managers allow you to disable these decorations, creating a borderless Window. This method allows you to change the decorated setting for the Window.
Parameters:
setting - Determines if the Window should be decorated.

setDefaultIcon

public static void setDefaultIcon(Pixbuf icon)

setDefaultIconFromFile

public static boolean setDefaultIconFromFile(String filename)
Sets an icon to be used as fallback for windows that haven't had setIconList() called on them from a file on disk.
Parameters:
filename - the path to the icon
Returns:
true if it was successfully set, false otherwise.

setDefaultIconList

public static void setDefaultIconList(Pixbuf[] icons)
Sets up the icon representing a Window. The icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. This method allows you to pass in the same icon in several hand-drawn sizes. The list should contain the natural sizes your icon is available in; that is, don't scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality. By passing several sizes, you may improve the final image quality of the icon, by reducing or eliminating automatic image scaling. Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and larger images (64x64, 128x128) if you have them. Note that this method sets the icon for all windows in your application in one go.
Parameters:
icons - the list of icons to use.

setDefaultIconName

public void setDefaultIconName(String name)
Sets an icon to be used as fallback for windows that haven't had setIconList called on them from a named themed icon.

setDefaultSize

public void setDefaultSize(int width,
                           int height)
Sets the default size for a Window. If a Window's natural size is larger than the default, the default will be ignored.
Parameters:
width - The width to set for the default size.
height - the height to set for the default size.

setDefaultWidget

public void setDefaultWidget(Widget defaultWidget)
The default widget is the widget that is activated when the user presses the Enter key. This method will set defaultWidget to the default widget for the Window.
Parameters:
defaultWidget - The widget that should become the default widget.

setFocusOnMap

public void setFocusOnMap(boolean setting)
Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped. This function sets this hint.
Parameters:
setting - TRUE to let this window receive input focus on map.

setFocusWidget

public void setFocusWidget(Widget focus)
If focus is not the current focus widget and is focusable, set it as the focus widget for the window.
Parameters:
focus - The widget to receive focus for the Window.

setGeometryHints

public void setGeometryHints(Widget geometryWidget,
                             Geometry geometry,
                             WindowHints geomMask)
This method sets up hints about how a Window can be resized by the user. You can set a minimum and maximum size, allowable resize increments, aspect ratios and more.
Parameters:
geometryWidget - The Widget the geometry hints will be applied to.
geometry - The geometry information.
geomMask - Mask indicating which fields should be paid attention to.

setGravity

public void setGravity(Gravity gravity)
Window gravity defines the meaning of coordinates passed to move().
Parameters:
gravity - The window gravity.

setIcon

public void setIcon(Pixbuf icon)
Sets up the icon representing a Window. The icon is used when the Window is minimized.
Parameters:
icon - The Icon to use for this Window.

setIconFromFile

public boolean setIconFromFile(String filename)
Sets the icon for this window.
Parameters:
filename - the full path to the icon
Returns:
true if the icon was successfully set, false otherwise.

setIconList

public void setIconList(Pixbuf[] icons)
Sets up the icon representing a GtkWindow. The icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. setIconList allows you to pass in the same icon in several hand-drawn sizes. The list should contain the natural sizes your icon is available in; that is, don't scale the image before passing it. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality. By passing several sizes, you may improve the final image quality of the icon, by reducing or eliminating automatic image scaling. Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and larger images (64x64, 128x128) if you have them.

setIconName

public void setIconName(String name)
Sets the icon for the window from a named themed icon. See the docs for IconTheme for more details.

Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM.

Parameters:
name - The name of the themed icon.

setKeepAbove

public void setKeepAbove(boolean setting)

setKeepBelow

public void setKeepBelow(boolean setting)

setModal

public void setModal(boolean modal)
Sets a window modal or non-modal.
Parameters:
modal - Indicates whether the window should be modal or not.

setPosition

public void setPosition(WindowPosition position)
Sets a position constraint for this window. If the old or new constraint is WindowPosition.CENTER_ALWAYS, this will also cause the window to be repositioned to satisfy the new constraint.
Parameters:
position - A position constraint.

setResizable

public void setResizable(boolean resizable)
Sets whether the user can resize the window. Windows are user resizable by default.
Parameters:
resizable - Determines if the window can be resized.

setScreen

public void setScreen(Screen screen)
Sets the Screen where the window is displayed; if the window is already mapped, it will be unmapped, and then remapped on the new screen.
Parameters:
screen - the new screen.

setSkipPagerHint

public void setSkipPagerHint(boolean skipHint)
Set to true to keep the window from appearing in the pager.
Parameters:
skipHint -

setSkipTaskbarHint

public void setSkipTaskbarHint(boolean skipHint)
Set to true to keep this window from appearing in the task bar.
Parameters:
skipHint -

setTitle

public void setTitle(String title)
Set the title for this Window object
Parameters:
title - A string containing the title for this Window

setTransientParent

public void setTransientParent(Window parent)
Dialog windows should be set transient for the main application window they were spawned from. This allows window managers to, for example, keep the dialog on top of the main window, or center the dialog over the main window. On Windows, this method will put the child window on top of the parent, the same way the window manager would have done in X.
Parameters:
parent - Transient parent window.

stick

public void stick()
Asks to stick the window. This means that the window appear on all user desktops. Note that you shouldn't assume that the Window is definitely stuck after calling this method. Other entities could unstick the Window or the window manager may not support this feature.

unfullscreen

public void unfullscreen()

unmaximize

public void unmaximize()
Asks to unmaximize the Window so it becomes it normal size.

unstick

public void unstick()
Asks to unstick the window.