You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mo...@apache.org on 2003/01/03 22:22:36 UTC

cvs commit: jakarta-commons-sandbox/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing DialogTag.java SwingTagLibrary.java

morgand     2003/01/03 13:22:36

  Modified:    jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing
                        SwingTagLibrary.java
  Added:       jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing
                        DialogTag.java
  Log:
  added Dave Krohn's DialogTag class
  
  Revision  Changes    Path
  1.17      +3 -1      jakarta-commons-sandbox/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing/SwingTagLibrary.java
  
  Index: SwingTagLibrary.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing/SwingTagLibrary.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- SwingTagLibrary.java	9 Dec 2002 14:40:54 -0000	1.16
  +++ SwingTagLibrary.java	3 Jan 2003 21:22:36 -0000	1.17
  @@ -137,6 +137,9 @@
           // BorderLayout
           registerTag( "borderLayout", BorderLayoutTag.class );
           registerTag( "borderAlign", BorderAlignTag.class );
  +        
  +        // Dialog
  +        registerTag( "dialog", DialogTag.class );
       }
   
       /** Creates a new script to execute the given tag name and attributes */
  @@ -186,7 +189,6 @@
   					// can the element control it's children ?
   					// but children should also be able to be any component (as Swing comps. are all container)
           registerBeanFactory( "desktopPane", JDesktopPane.class );
  -        registerBeanFactory( "dialog", JDialog.class );
           registerBeanFactory( "editorPane", JEditorPane.class );
           registerBeanFactory( "fileChooser", JFileChooser.class );
           registerBeanFactory( "frame", JFrame.class );
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing/DialogTag.java
  
  Index: DialogTag.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/swing/src/java/org/apache/commons/jelly/tags/swing/DialogTag.java,v 1.1 2003/01/03 21:22:36 morgand Exp $
   * $Revision: 1.1 $
   * $Date: 2003/01/03 21:22:36 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: DialogTag.java,v 1.1 2003/01/03 21:22:36 morgand Exp $
   */
  package org.apache.commons.jelly.tags.swing;
  
  import java.awt.Component;
  import java.awt.Container;
  import java.awt.Dialog;
  import java.awt.Frame;
  import java.util.Map;
  import javax.swing.JDialog;
  
  import org.apache.commons.jelly.XMLOutput;
  import org.apache.commons.jelly.tags.core.UseBeanTag;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  
  /** 
   * Creates a Swing Dialog.  A JDialog needs to have it's owner set in the constructor,
   * which is why this class is needed instead of just using a BeanFactory.
   *
   * @author Dave Pekarek Krohn
   * @version $Revision: 1.1 $
   */
  public class DialogTag extends UseBeanTag implements ContainerTag {
  
      /** The Log to which logging calls will be made. */
      private static final Log log = LogFactory.getLog(DialogTag.class);
  
      public DialogTag() {
          super(JDialog.class);
      }
  
      // Implementation methods
      //-------------------------------------------------------------------------                    
  
      /**
       * Creates a JDialog.  The constructor used depends on the value of the owner attribute.
       */
      protected Object newInstance(Class theClass, Map attributes, XMLOutput output) throws Exception {
          Object owner = attributes.remove( "owner" );
          if (owner instanceof Frame) {
              return new JDialog((Frame) owner);
          } else if (owner instanceof Dialog) {
              return new JDialog((Dialog) owner);
          } else {
              return new JDialog();
          }
      }
  
      // ContainerTag interface
      //-------------------------------------------------------------------------                    
  
      /**
       * Adds a component to the dialog.
       */
      public void addChild(Component component, Object constraints) {
          Container contentPane = ((JDialog) getBean()).getContentPane();
          if (constraints != null) {
              contentPane.add( component, constraints );
          } else {
              contentPane.add( component );
          }
      }
  }
  
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>