FloatingWindow

class vanilla.FloatingWindow(posSize, title='', minSize=None, maxSize=None, textured=False, autosaveName=None, closable=True, initiallyVisible=True, screen=None)

A window that floats above all other windows.

To add a control to a window, simply set it as an attribute of the window.

from vanilla import *

class FloatingWindowDemo(object):

def __init__(self):
self.w = FloatingWindow((200, 70), “FloatingWindow Demo”) self.w.myButton = Button((10, 10, -10, 20), “My Button”) self.w.myTextBox = TextBox((10, 40, -10, 17), “My Text Box”) self.w.open()

FloatingWindowDemo()

No special naming is required for the attributes. However, each attribute must have a unique name.

posSize Tuple of form (left, top, width, height) representing the position and size of the window. It may also be a tuple of form (width, height). In this case, the window will be positioned on screen automatically.

title The title to be set in the title bar of the window.

minSize Tuple of the form (width, height) representing the minimum size that the window can be resized to.

maxSize Tuple of the form (width, height) representing the maximum size that the window can be resized to.

textured Boolean value representing if the window should have a textured appearance or not.

autosaveName A string representing a unique name for the window. If given, this name will be used to store the window position and size in the application preferences.

closable Boolean value representing if the window should have a close button in the title bar.

screen A NSScreen object indicating the screen that the window should be drawn to. When None the window will be drawn to the main screen.

FloatingWindow.assignToDocument(document)

Add this window to the list of windows associated with a document.

document should be a NSDocument instance.

FloatingWindow.getNSWindow()

Return the NSWindow that this Vanilla object wraps.

FloatingWindow.getNSWindowController()

Return an NSWindowController for the NSWindow that this Vanilla object wraps, creating a one if needed.

FloatingWindow.open()

Open the window.

FloatingWindow.close()

Close the window.

Once a window has been closed it can not be re-opened.

FloatingWindow.hide()

Hide the window.

FloatingWindow.show()

Show the window if it is hidden.

FloatingWindow.makeKey()

Make the window the key window.

FloatingWindow.makeMain()

Make the window the main window.

FloatingWindow.setTitle(title)

Set the title in the window’s title bar.

title shoud be a string.

FloatingWindow.getTitle()

The title in the window’s title bar.

FloatingWindow.select()

Select the window if it is not the currently selected window.

FloatingWindow.isVisible()

A boolean value representing if the window is visible or not.

FloatingWindow.getPosSize()

A tuple of form (left, top, width, height) representing the window’s position and size.

FloatingWindow.setPosSize(posSize, animate=True)

Set the position and size of the window.

posSize A tuple of form (left, top, width, height).

FloatingWindow.center()

Center the window within the screen.

FloatingWindow.move(x, y, animate=True)

Move the window by x units and y units.

FloatingWindow.resize(width, height, animate=True)

Change the size of the window to width and height.

FloatingWindow.setDefaultButton(button)

Set the default button in the window.

button will be bound to the Return and Enter keys.

FloatingWindow.bind(event, callback)

Bind a callback to an event.

event A string representing the desired event. The options are:

“should close” Called when the user attempts to close the window. This must return a bool indicating if the window should be closed or not.
“close” Called immediately before the window closes.
“move” Called immediately after the window is moved.
“resize” Caled immediately after the window is resized.
“became main” Called immediately after the window has become the main window.
“resigned main” Called immediately after the window has lost its main window status.
“became key” Called immediately after the window has become the key window.
“resigned key” Called immediately after the window has lost its key window status.

For more information about main and key windows, refer to the Cocoa `documentation <http://developer.apple.com/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html>`_ on the subject.

callback The callback that will be called when the event occurs. It should accept a sender argument which will be the Window that called the callback.:

class WindowBindDemo(object):

    def __init__():
        self.w = Window((200, 200))
        self.w.bind("move", self.windowMoved)
        self.w.open()

    def windowMoved(sender):
        print "window moved!", sender

WindowBindDemo()
FloatingWindow.unbind(event, callback)

Unbind a callback from an event.

event A string representing the desired event. Refer to bind for the options.

callback The callback that has been bound to the event.

FloatingWindow.addToolbar(toolbarIdentifier, toolbarItems, addStandardItems=True)

Add a toolbar to the window.

toolbarIdentifier A string representing a unique name for the toolbar.

toolbarItems An ordered list of dictionaries containing the following items:

itemIdentifier A unique string identifier for the item. This is only used internally.
label (optional) The text label for the item. Defaults to None.
paletteLabel (optional) The text label shown in the customization palette. Defaults to label.
toolTip (optional) The tool tip for the item. Defaults to label.
imagePath (optional) A file path to an image. Defaults to None.
imageNamed (optional) The name of an image already loaded as a NSImage by the application. Defaults to None.
imageObject (optional) A _NSImage_ object. Defaults to None.
selectable (optional) A boolean representing if the item is selectable or not. The default value is _False_. For more information on selectable toolbar items, refer to Apple’s documentation
view (optional) A NSView object to be used instead of an image. Defaults to None.
visibleByDefault (optional) If the item should be visible by default pass True to this argument. If the item should be added to the toolbar only through the customization palette, use a value of _False_. Defaults to _True_. |

addStandardItems A boolean, specifying whether the standard Cocoa toolbar items should be added. Defaults to True. If you set it to False, you must specify any standard items manually in toolbarItems, by using the constants from the AppKit module:

NSToolbarSeparatorItemIdentifier The Separator item.
NSToolbarSpaceItemIdentifier The Space item.
NSToolbarFlexibleSpaceItemIdentifier The Flexible Space item.
NSToolbarShowColorsItemIdentifier The Colors item. Shows the color panel.
NSToolbarShowFontsItemIdentifier The Fonts item. Shows the font panel.
NSToolbarCustomizeToolbarItemIdentifier The Customize item. Shows the customization palette.
NSToolbarPrintItemIdentifier The Print item. Refer to Apple’s NSToolbarItem documentation for more information.

Returns a dictionary containing the created toolbar items, mapped by itemIdentifier.