1  /*
     2   Copyright aswing.org, see the LICENCE.txt.
     3  */
     4   
     5  import org.aswing.border.Border;
     6  import org.aswing.Component;
     7  import org.aswing.graphices.Graphics;
     8  import org.aswing.graphices.SolidBrush;
     9  import org.aswing.JWindow;
    10  import org.aswing.LookAndFeel;
    11  import org.aswing.plaf.ComponentUI;
    12  import org.aswing.plaf.WindowUI;
    13  import org.aswing.UIManager;
    14  
    15   
    16  /**
    17   *
    18   * @author iiley
    19   */
    20  class org.aswing.plaf.basic.BasicWindowUI extends WindowUI{
    21  
    22      // Shared UI object
    23      private static var windowUI:WindowUI;
    24  	
    25  	private var contentPaneBorder:Border;
    26      public static function createInstance(c:Component):ComponentUI {
    27  		if(windowUI == null) {
    28              windowUI = new BasicWindowUI();
    29  		}
    30          return windowUI;
    31      }
    32      
    33  	public function BasicWindowUI(){
    34  		contentPaneBorder = UIManager.getBorder("Window.contentPaneBorder");
    35  	}
    36  
    37      public function installUI(c:Component):Void {
    38          var p:JWindow = JWindow(c);
    39          installDefaults(p);
    40      }
    41  
    42      public function uninstallUI(c:Component):Void {
    43          var p:JWindow = JWindow(c);
    44          uninstallDefaults(p);
    45      }
    46  
    47      private function installDefaults(p:JWindow):Void {
    48      	var pp:String = "Window.";
    49          LookAndFeel.installColorsAndFont(p, pp + "background", pp + "foreground", pp + "font");
    50          LookAndFeel.installBorder(p, "Window.border");
    51          LookAndFeel.installBasicProperties(p, pp);
    52          p.getContentPane().setBorder(contentPaneBorder);
    53      }
    54  
    55      public function create(c:Component):Void{
    56      	var window:JWindow = JWindow(c);
    57      	var modalMC:MovieClip = window.getModalMC();
    58  		var g:Graphics = new Graphics(modalMC);
    59  		g.fillRectangle(new SolidBrush(UIManager.getColor("Window.modalColor").getRGB(), 30), 0, 0, 1, 1);
    60  		
    61      	window.resetModalMC();
    62      }
    63      
    64      private function uninstallDefaults(p:JWindow):Void {
    65          LookAndFeel.uninstallBorder(p);
    66      }
    67  }
    68