logo

class

fwt::Window

sys::Obj
  fwt::Widget
    fwt::Pane
      fwt::ContentPane
        fwt::Window
//
// Copyright (c) 2008, Brian Frank and Andy Frank
// Licensed under the Academic Free License version 3.0
//
// History:
//   10 Jun 08  Brian Frank  Creation
//

**
** Window is the base class for widgets which represent
** top level windows.
**
class Window : ContentPane
{

  **
  ** Child menu bar widget if top level frame.
  **
  Menu menuBar { set { remove(@menuBar); Widget.super.add(val); @menuBar= val } }

  **
  ** Icon if window is a frame.
  **
  Image icon { set { @icon = val; sync(iconId) } }
  internal const static Str iconId := "icon"

  **
  ** Title string if window is a frame.  Defaults to "".
  **
  Str title := "" { set { @title= val; sync(titleId) } }
  internal const static Str titleId := "title"

  **
  ** Open the window.
  **
  This open() { send(openId, null); return this }
  internal const static Str openId := "open"

  **
  ** Close the window.
  **
  This close() { send(closeId, null); return this }
  internal const static Str closeId := "close"

}