org.gnu.gtk
Class Window

java.lang.Object
  extended by org.gnu.glib.Struct
      extended by org.gnu.glib.GObject
          extended by org.gnu.gtk.GtkObject
              extended by org.gnu.gtk.Widget
                  extended by org.gnu.gtk.Container
                      extended by org.gnu.gtk.Bin
                          extended by org.gnu.gtk.Window
Direct Known 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(org.gnu.glib.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().
 java.lang.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.
 java.lang.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(org.gnu.glib.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(java.lang.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(java.lang.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(java.lang.String filename)
          Sets the icon for this window.
 void setIconList(Pixbuf[] icons)
          Sets up the icon representing a GtkWindow.
 void setIconName(java.lang.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(java.lang.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
 
Methods inherited from class org.gnu.gtk.Container
add, addListener, getBooleanChildProperty, getBorderWidth, getChildProperty, getChildren, getEventListenerClass, getEventType, getIntChildProperty, getResizeMode, 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, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getSensitive, getStyle, getToplevel, 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
sink
 
Methods inherited from class org.gnu.glib.GObject
addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify
 
Methods inherited from class org.gnu.glib.Struct
equals, getHandle, getNullHandle, hashCode
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Window

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


Window

public Window(WindowType windowType)
Construct a new Window object.

Parameters:
windowType - The type of window to create

Window

public Window(org.gnu.glib.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.
Method Detail

getWindow

public static Window getWindow(org.gnu.glib.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.

setTitle

public void setTitle(java.lang.String title)
Set the title for this Window object

Parameters:
title - A string containing the title for this Window

getTitle

public java.lang.String getTitle()
Returns the title for the Window object

Returns:
A string containing the title.

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.

addAccelGroup

public void addAccelGroup(AccelGroup accelGroup)
Associate accesGroup with the window.

Parameters:
accelGroup - The AccelGroup to associate with this window.

removeAccelGroup

public void removeAccelGroup(AccelGroup accelGroup)
Reverses the effect of addAccelGroup.

Parameters:
accelGroup - The AccelGroup to disassociate with this window.

setModal

public void setModal(boolean modal)
Sets a window modal or non-modal.

Parameters:
modal - Indicates whether the window should be modal or not.

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.

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.

getGravity

public Gravity getGravity()
Gets the value set by setGravity().

Returns:
The Gravity for the Window.

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.

getFocusWidget

public Widget getFocusWidget()
Retrieves the current focused Widget within the window.

Returns:
The Widget that has focus.

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.

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.

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.


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.


deiconify

public void deiconify()
Asks to deiconify the specified 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.


unstick

public void unstick()
Asks to unstick the window.


maximize

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


unmaximize

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


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.

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.

getPosition

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

Returns:
The position of the window.

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.

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.

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.

getIcon

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


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.


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.


setSkipTaskbarHint

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

Parameters:
skipHint -

getSkipTaskbarHint

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


setSkipPagerHint

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

Parameters:
skipHint -

getSkipPagerHint

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


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.

getAcceptFocus

public boolean getAcceptFocus()

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.

getScreen

public Screen getScreen()
Returns the GdkScreen associated with this window.

Overrides:
getScreen in class Widget

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.


hasToplevelFocus

public boolean hasToplevelFocus()
Returns whether the input focus is within this Window. For real toplevel windows, this is identical to isActive(), but for embedded windows, like Plug, the results will differ.


setIconFromFile

public boolean setIconFromFile(java.lang.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.

setDefaultIconFromFile

public static boolean setDefaultIconFromFile(java.lang.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.
See Also:
setIconName(String)

setDefaultIcon

public static void setDefaultIcon(Pixbuf icon)

setAutoStartupNotification

public static void setAutoStartupNotification(boolean setting)

fullscreen

public void fullscreen()

unfullscreen

public void unfullscreen()

setKeepAbove

public void setKeepAbove(boolean setting)

setKeepBelow

public void setKeepBelow(boolean setting)

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.

getDefaultIconList

public static Pixbuf[] getDefaultIconList()
Gets the icons set by setDefaultIconList.

Returns:
the list of icons

listToplevelWindows

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

Returns:
the array containing the windows

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.

getFocusOnMap

public boolean getFocusOnMap()
Gets the value set by setFocusOnMap(boolean).

Returns:
TRUE if window should receive the input focus when mapped.

setIconName

public void setIconName(java.lang.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.

getIconName

public java.lang.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.

setDefaultIconName

public void setDefaultIconName(java.lang.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.

See Also:
setIconName(String)

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.
See Also:
setTransientParent(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.

getType

public static Type getType()
Retrieve the runtime type used by the GLib library.


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 class GtkObject
See Also:
ObjectDestroyedException

isDestroyed

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