ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From meta...@apache.org
Subject cvs commit: jakarta-ant/src/antidote/org/apache/tools/ant/gui Args.java Antidote.java Main.java
Date Mon, 15 Jan 2001 19:47:24 GMT
metasim     01/01/15 11:47:24

  Modified:    src/antidote/org/apache/tools/ant/gui Antidote.java
                        Main.java
  Added:       src/antidote/org/apache/tools/ant/gui Args.java
  Log:
  Initial framework for a build-file wizzard.
  
  Revision  Changes    Path
  1.9       +2 -2      jakarta-ant/src/antidote/org/apache/tools/ant/gui/Antidote.java
  
  Index: Antidote.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/Antidote.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Antidote.java	2001/01/08 19:43:06	1.8
  +++ Antidote.java	2001/01/15 19:47:24	1.9
  @@ -62,10 +62,10 @@
    * The root class for the Ant GUI. Assembles all the graphical components
    * based on the configuration files.
    * 
  - * @version $Revision: 1.8 $ 
  + * @version $Revision: 1.9 $ 
    * @author Simeon Fitch 
    */
  -public class Antidote extends JPanel {
  +public class Antidote extends JComponent {
       /** Source of application state data. */
       private AppContext _context = null;
   
  
  
  
  1.13      +57 -26    jakarta-ant/src/antidote/org/apache/tools/ant/gui/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/Main.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Main.java	2001/01/11 19:20:46	1.12
  +++ Main.java	2001/01/15 19:47:24	1.13
  @@ -54,8 +54,11 @@
   package org.apache.tools.ant.gui;
   import org.apache.tools.ant.gui.core.*;
   import org.apache.tools.ant.gui.util.XMLHelper;
  +import org.apache.tools.ant.gui.wizzard.Wizzard;
  +import org.apache.tools.ant.gui.wizzard.WizzardListener;
   import org.apache.tools.ant.gui.command.LoadFileCmd;
   import org.apache.tools.ant.gui.event.EventBus;
  +import org.apache.tools.ant.gui.acs.ACSFactory;
   import javax.swing.*;
   import java.awt.BorderLayout;
   import java.io.File;
  @@ -63,7 +66,7 @@
   /**
    * Launch point for the Antidote GUI. Configurs it as an application.
    * 
  - * @version $Revision: 1.12 $ 
  + * @version $Revision: 1.13 $ 
    * @author Simeon Fitch 
    */
   public class Main {
  @@ -75,29 +78,64 @@
       public static void main(String[] args) {
           XMLHelper.init();
   
  +        Args settings = new Args(args);
  +
  +
           try {
               JFrame f = new JFrame("Antidote");
  +            f.setDefaultCloseOperation(3 /*JFrame.EXIT_ON_CLOSE*/);
               AppContext context = new AppContext(f);
  -            EventResponder resp = new EventResponder(context);
  -            Antidote gui = new Antidote(context);
   
  -            f.setDefaultCloseOperation(3 /*JFrame.EXIT_ON_CLOSE*/);
  -            JMenuBar menu = context.getActions().createMenuBar();
  -            f.setJMenuBar(menu);
  -            f.getContentPane().add(BorderLayout.CENTER, gui);
  -            f.getContentPane().add(BorderLayout.NORTH, 
  -                                   context.getActions().createToolBar());
  -
  -            // Add the project selection menu.
  -            ProjectSelectionMenu ps = new ProjectSelectionMenu(context);
  -            ps.insertInto(menu);
  -
  -            // Add debugging items.
  -            if(context.isDebugOn()) {
  -                context.getEventBus().addMember(
  -                    EventBus.VETOING, new EventDebugMonitor());
  +            if(!settings.isWizzardMode()) {
  +                EventResponder resp = new EventResponder(context);
  +                Antidote gui = new Antidote(context);
  +
  +                JMenuBar menu = context.getActions().createMenuBar();
  +                f.setJMenuBar(menu);
  +                f.getContentPane().add(BorderLayout.CENTER, gui);
  +                f.getContentPane().add(BorderLayout.NORTH, 
  +                                       context.getActions().createToolBar());
  +                
  +                // Add the project selection menu.
  +                ProjectSelectionMenu ps = new ProjectSelectionMenu(context);
  +                ps.insertInto(menu);
  +                
  +                // Add debugging items.
  +                if(settings.isDebugMode()) {
  +                    context.getEventBus().addMember(
  +                        EventBus.VETOING, new EventDebugMonitor());
  +                }
  +
  +                // Load a build file if one is provided.
  +                if(settings.getBuildFile() != null) {
  +                    LoadFileCmd load = new LoadFileCmd(context);
  +                    load.setFile(new File(settings.getBuildFile()));
  +                    load.run();
  +                }
               }
  +            else {
  +                // We are in wizzard mode. Create it.
  +                ResourceManager resources = new ResourceManager(
  +                    "org.apache.tools.ant.gui.resources.buildFileWizzard");
  +                Wizzard wiz = new Wizzard(
  +                    resources, ACSFactory.getInstance().createProject());
  +                // XXX this is temporary for testing. Eventually
  +                // it will launch the regular antidote screen with the
  +                // results of the wizzard.
  +                wiz.addWizzardListener(new WizzardListener() {
  +                        public void finished(Object model) {
  +                            System.out.println(model);
  +                            System.exit(0);
  +                        }
  +                        public void canceled() {
  +                            System.exit(0);
  +                        }
  +
  +                    });
   
  +                f.getContentPane().add(BorderLayout.CENTER, wiz);
  +            }
  +
               ImageIcon icon = 
                   context.getResources().loadImageIcon("icon-small.gif");
               if(icon != null) {
  @@ -106,17 +144,10 @@
               else {
                   System.out.println("Application icon not found.");
               }
  -            f.pack();
   
  +            f.pack();
               f.setVisible(true);
   
  -            // XXX this will change once full command line argument parsing
  -            // is supported.
  -            if(args.length > 0) {
  -                LoadFileCmd load = new LoadFileCmd(context);
  -                load.setFile(new File(args[0]));
  -                load.run();
  -            }
           }
           catch(Exception ex) {
               ex.printStackTrace();
  
  
  
  1.1                  jakarta-ant/src/antidote/org/apache/tools/ant/gui/Args.java
  
  Index: Args.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 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", "Ant", 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/>.
   */
  
  package org.apache.tools.ant.gui;
  import org.apache.tools.ant.gui.core.ResourceManager;
  
  /**
   * Class encapsulating the parsing of command-line arguments for Antidote.
   * 
   * @version $Revision: 1.1 $ 
   * @author Simeon Fitch 
   */
  public class Args {
  
      private ResourceManager _resources = null;
      private boolean _wizzardMode = false;
      private String _fileName = null;
      private boolean _debugMode = false;
  
      /** 
       * Ctor for parsing command line arguments.
       * 
       * @param args Arguments to parse.
       */
      public Args(String[] args) {
          for(int i = 0; i < args.length; i++) {
              String arg = args[i];
              if(i == args.length - 1 && !arg.startsWith("-")) {
                  _fileName = arg;
              }
              else if(arg.startsWith("-h")) {
                  System.out.println(getUsage());
                  System.exit(0);
              }
              else if(arg.equals("-wizzard")) {
                  _wizzardMode = true;
              }
              else if(arg.equals("-debug")) {
                  _debugMode = true;
              }
              else {
                  String msg = getResources().getMessage(
                      "invalidArg", new Object[] { arg });
                  abort(msg);
              }
          }
      }
  
      /** 
       * Get the resources, loading them if necessary.
       * 
       * @return Loaded resources.
       */
      private ResourceManager getResources() {
          if(_resources == null) {
              _resources = new ResourceManager(
                  "org.apache.tools.ant.gui.resources.args");
          }
          return _resources;
      }
  
      /** 
       * Print message and exit.
       * 
       * @param error Error message to print.
       */
      private void abort(String error) {
          System.err.println(error);
          System.err.println(getUsage());
          System.exit(1);
      }
  
      /** 
       * Get the command line usage of Antidote.
       * 
       * @return Command line usage help.
       */
      public String getUsage() {
          return getResources().getString("usage");
      }
  
      /** 
       * Get the build filename.
       * 
       * @return Build file name.
       */
      public String getBuildFile() {
          return _fileName;
      }
  
      /** 
       * Determine if wizzard mode was requested for generating a new 
       * build file.
       * 
       * @return True if wizzard mode, false otherwise.
       */
      public boolean isWizzardMode() {
          return _wizzardMode;
      }
  
      /** 
       * Determine if debug mode was requested.
       * 
       * @return True if debug mode, false otherwise.
       */
      public boolean isDebugMode() {
          return _debugMode;
      }
  
  }
  
  
  

Mime
View raw message