package elements import "image" // Window represents a top-level container generated by the currently running // backend. It can contain a single element. It is hidden by default, and must // be explicitly shown with the Show() method. type Window interface { Parent // Adopt sets the root element of the window. There can only be one of // these at one time. Adopt (Element) // Child returns the root element of the window. Child () Element // SetTitle sets the title that appears on the window's title bar. This // method might have no effect with some backends. SetTitle (string) // SetIcon taks in a list different sizes of the same icon and selects // the best one to display on the window title bar, dock, or whatever is // applicable for the given backend. This method might have no effect // for some backends. SetIcon (sizes []image.Image) // NewModal creates a new modal dialog window. NewModal (width, height int) (window Window, err error) // Show shows the window. The window starts off hidden, so this must be // called after initial setup to make sure it is visible. Show () // Hide hides the window. Hide () // Close closes the window. Close () // OnClose specifies a function to be called when the window is closed. OnClose (func ()) } // MainWindow is a window capable of owning multiple sub-windows. type MainWindow interface { Window // NewPanel creates a panel window that is semantically tied to this // window. This is intended to be used for utility windows, tool bars, // torn-off menus, etc. NewPanel (width, height int) (window Window, err error) }