logo       

r1509 - in izpack-src/trunk: . src/dist-files src/lib/com/izforge/izpack/gu: msg#00038

Subject: r1509 - in izpack-src/trunk: . src/dist-files src/lib/com/izforge/izpack/gui src/tests/com/izforge/izpack
Author: jponge
Date: 2006-07-30 06:16:20 +0200 (Sun, 30 Jul 2006)
New Revision: 1509

Added:
   izpack-src/trunk/src/tests/com/izforge/izpack/TwoColumnLayoutTest.java
Modified:
   izpack-src/trunk/IzPack-head.iml
   izpack-src/trunk/IzPack-head.ipr
   izpack-src/trunk/Thanks.txt
   izpack-src/trunk/Versions.txt
   izpack-src/trunk/src/dist-files/IzPack-install-reg.xml
   izpack-src/trunk/src/dist-files/IzPack-install.xml
   izpack-src/trunk/src/lib/com/izforge/izpack/gui/TwoColumnLayout.java
Log:
TwoColumnLayout fix (Amit Bhayani @JBoss/RedHat)

Modified: izpack-src/trunk/IzPack-head.iml
===================================================================
--- izpack-src/trunk/IzPack-head.iml    2006-07-25 14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/IzPack-head.iml    2006-07-30 04:16:20 UTC (rev 1509)
@@ -6,7 +6,7 @@
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src/lib" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/tests" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/tests" isTestSource="true" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
@@ -28,7 +28,7 @@
         <SOURCES />
       </library>
     </orderEntry>
-    <orderEntry type="library" name="Junit" level="application" />
+    <orderEntry type="library" name="JUnit" level="application" />
     <orderEntryProperties />
   </component>
 </module>

Modified: izpack-src/trunk/IzPack-head.ipr
===================================================================
--- izpack-src/trunk/IzPack-head.ipr    2006-07-25 14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/IzPack-head.ipr    2006-07-30 04:16:20 UTC (rev 1509)
@@ -188,7 +188,7 @@
       <module fileurl="file://$PROJECT_DIR$/IzPack-head.iml" 
filepath="$PROJECT_DIR$/IzPack-head.iml" />
     </modules>
   </component>
-  <component name="ProjectRootManager" version="2" assert-keyword="true" 
jdk-15="false" project-jdk-name="1.5.0_05" />
+  <component name="ProjectRootManager" version="2" assert-keyword="true" 
jdk-15="false" project-jdk-name="1.5" />
   <component name="RmicSettings">
     <option name="IS_EANABLED" value="false" />
     <option name="DEBUGGING_INFO" value="true" />

Modified: izpack-src/trunk/Thanks.txt
===================================================================
--- izpack-src/trunk/Thanks.txt 2006-07-25 14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/Thanks.txt 2006-07-30 04:16:20 UTC (rev 1509)
@@ -105,4 +105,5 @@
 - Hal Vaughan: for the patches
 - Eric Rose: for the patch related to the logfile of AntActions.
 - Ryan Shillington: for the patches
+- Amit Bhayani & JBoss: for the patches
 

Modified: izpack-src/trunk/Versions.txt
===================================================================
--- izpack-src/trunk/Versions.txt       2006-07-25 14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/Versions.txt       2006-07-30 04:16:20 UTC (rev 1509)
@@ -30,7 +30,8 @@
 - MAC OS: Launcher is built as universal (ie, i386/ppc) binary  (Julien Ponge)
 - MAC OS: Qt is embedded in the application bundle  (Julien Ponge)
 - Added a variable for install log, InstallerFrame.logfilePath (Klaus Bartz)
-- Added the docu for install log (Fabrice Mirabile)
+- Added the docu for install log (Fabrice Mirabile).
+- TwoColumnLayout fix (Amit Bhayani @JBoss/RedHat).
 
   > 3.8.1 (build 2006.01.06)
 - Added Greek language support (Fabrice Mirabile, thanks to Panayotis

Modified: izpack-src/trunk/src/dist-files/IzPack-install-reg.xml
===================================================================
--- izpack-src/trunk/src/dist-files/IzPack-install-reg.xml      2006-07-25 
14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/src/dist-files/IzPack-install-reg.xml      2006-07-30 
04:16:20 UTC (rev 1509)
@@ -29,10 +29,13 @@
 
             <author email="" name="Klaus Bartz (developer)"/>
             <author email="" name="Fabrice Mirabile (developer)"/>
+            <author email="" name="Marc Eppelmann (developer)" />
 
             <author email="" name="Oliver Kiddle (contributor)"/>
             <author email="" name="Cesar Martinez Izquierdo (contributor)"/>
-            <author email="" name="(Ryan Shillington" />
+            <author email="" name="Ryan Shillington (contributor)" />
+            <author email="" name="Eric Rose (contributor)" />
+            <author email="" name="Amit Bhayani @JBoss/RedHat (contributors)" 
/>
 
             <author email=""
                 name="... the many other developers and contributors to the 
previous releases (see Thanks.txt)" />

Modified: izpack-src/trunk/src/dist-files/IzPack-install.xml
===================================================================
--- izpack-src/trunk/src/dist-files/IzPack-install.xml  2006-07-25 14:26:28 UTC 
(rev 1508)
+++ izpack-src/trunk/src/dist-files/IzPack-install.xml  2006-07-30 04:16:20 UTC 
(rev 1509)
@@ -29,10 +29,13 @@
 
             <author email="" name="Klaus Bartz (developer)"/>
             <author email="" name="Fabrice Mirabile (developer)"/>
+            <author email="" name="Marc Eppelmann (developer)" />
 
             <author email="" name="Oliver Kiddle (contributor)"/>
             <author email="" name="Cesar Martinez Izquierdo (contributor)"/>
-            <author email="" name="(Ryan Shillington" />
+            <author email="" name="Ryan Shillington (contributor)" />
+            <author email="" name="Eric Rose (contributor)" />
+            <author email="" name="Amit Bhayani @JBoss/RedHat (contributors)" 
/>
 
             <author email=""
                     name="... the many other developers and contributors to 
the previous releases (see Thanks.txt)"/>

Modified: izpack-src/trunk/src/lib/com/izforge/izpack/gui/TwoColumnLayout.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/gui/TwoColumnLayout.java        
2006-07-25 14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/gui/TwoColumnLayout.java        
2006-07-30 04:16:20 UTC (rev 1509)
@@ -21,14 +21,7 @@
 
 package com.izforge.izpack.gui;
 
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.LayoutManager2;
-import java.awt.Stroke;
+import java.awt.*;
 import java.util.Vector;
 
 /**
@@ -875,12 +868,52 @@
     }
 
     /**
-     * This functionality is not supported
+     * This functionality removes the TwoColumnConstraints from Vectors
+     * so that alignment of components on UserInputPanel doesn't get
+     * dirty
      * 
      * @param comp the component to be removed
      */
     public void removeLayoutComponent(Component comp)
     {
+        Vector left = components[LEFT];
+        Vector right = components[RIGHT];
+
+        for (int i = 0; i < left.size(); i++)
+        {
+            TwoColumnConstraints constraints = (TwoColumnConstraints) 
left.get(i);
+            if (constraints == null)
+            {
+                continue;
+            }
+            Component ctemp = constraints.component;
+            if (ctemp != null && ctemp.equals(comp))
+            {
+                if (constraints.position == TwoColumnConstraints.BOTH || 
constraints.position == TwoColumnConstraints.WESTONLY)
+                {
+                    right.remove(i);
+                }
+                break;
+            }
+        }
+
+        for (int j = 0; j < right.size(); j++)
+        {
+            TwoColumnConstraints constraints = (TwoColumnConstraints) 
right.get(j);
+            if (constraints == null)
+            {
+                continue;
+            }
+            Component ctemp = constraints.component;
+            if (ctemp != null && ctemp.equals(comp))
+            {
+                if (constraints.position == TwoColumnConstraints.BOTH || 
constraints.position == TwoColumnConstraints.EASTONLY)
+                {
+                    left.remove(j);
+                }
+                break;
+            }
+        }
     }
 
     /**

Added: izpack-src/trunk/src/tests/com/izforge/izpack/TwoColumnLayoutTest.java
===================================================================
--- izpack-src/trunk/src/tests/com/izforge/izpack/TwoColumnLayoutTest.java      
2006-07-25 14:26:28 UTC (rev 1508)
+++ izpack-src/trunk/src/tests/com/izforge/izpack/TwoColumnLayoutTest.java      
2006-07-30 04:16:20 UTC (rev 1509)
@@ -0,0 +1,160 @@
+/*
+ * IzPack - Copyright 2001-2006 Julien Ponge, All Rights Reserved.
+ *
+ * http://www.izforge.com/izpack/
+ * http://developer.berlios.de/projects/izpack/
+ *
+ * Copyright 2006 Amit Bhayani / JBoss
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.izforge.izpack;
+
+/**
+ * TwoColumnLayoutTest.java is a 1.4 application that 
+ * demonstrates the use of JButton, JTextField and
+ * JLabel.  It requires no other files.
+ * @author abhayani Amit Bhayani
+ */
+
+import com.izforge.izpack.gui.TwoColumnConstraints;
+import com.izforge.izpack.gui.TwoColumnLayout;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+public class TwoColumnLayoutTest implements ActionListener
+{
+    JFrame converterFrame;
+    JPanel converterPanel;
+    JTextField tempText;
+    JLabel label;
+    JButton addRow;
+    JButton removeRow;
+
+    boolean removed = false;
+
+    public TwoColumnLayoutTest()
+    {
+        //Create and set up the window.
+        converterFrame = new JFrame("TwoColumnLayoutTest");
+        converterFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        converterFrame.setSize(new Dimension(240, 80));
+
+        TwoColumnLayout layout = new TwoColumnLayout(10, 5, 30, 25, 
TwoColumnLayout.LEFT);
+
+        //Create and set up the panel.
+        converterPanel = new JPanel();
+        converterPanel.setLayout(layout);
+
+        //Add the widgets.
+        addWidgets();
+
+        //Set the default button.
+        converterFrame.getRootPane().setDefaultButton(addRow);
+
+        //Add the panel to the window.
+        converterFrame.getContentPane().add(converterPanel, 
BorderLayout.CENTER);
+
+        //Display the window.
+        converterFrame.pack();
+        converterFrame.setVisible(true);
+    }
+
+    /**
+     * Create and add the widgets.
+     */
+    private void addWidgets()
+    {
+        //Create widgets.
+        tempText = new JTextField("10", 30);
+        TwoColumnConstraints constraints = new TwoColumnConstraints();
+        constraints.position = TwoColumnConstraints.EAST;
+
+        label = new JLabel("Label : ");
+        TwoColumnConstraints constraints1 = new TwoColumnConstraints();
+        constraints1.position = TwoColumnConstraints.WEST;
+
+        addRow = new JButton("Add Row");
+        TwoColumnConstraints constraints2 = new TwoColumnConstraints();
+        constraints2.position = TwoColumnConstraints.BOTH;
+
+        //Listen to events from the Convert button.
+        addRow.addActionListener(this);
+
+        //Add the widgets to the container.
+        converterPanel.add(tempText, constraints);
+        converterPanel.add(label, constraints1);
+        converterPanel.add(addRow, constraints2);
+
+
+        label.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+
+    }
+
+    public void actionPerformed(ActionEvent event)
+    {
+
+        if (!removed)
+        {
+
+            converterPanel.remove(tempText);
+            converterPanel.remove(label);
+            removed = true;
+
+        }
+        else
+        {
+            TwoColumnConstraints constraints = new TwoColumnConstraints();
+            constraints.position = TwoColumnConstraints.EAST;
+            converterPanel.add(tempText, constraints);
+
+            TwoColumnConstraints constraints1 = new TwoColumnConstraints();
+            constraints1.position = TwoColumnConstraints.WEST;
+            converterPanel.add(label, constraints1);
+            removed = false;
+
+        }
+        converterPanel.repaint();
+
+    }
+
+    /**
+     * Create the GUI and show it.  For thread safety,
+     * this method should be invoked from the
+     * event-dispatching thread.
+     */
+    private static void createAndShowGUI()
+    {
+        //Make sure we have nice window decorations.
+        JFrame.setDefaultLookAndFeelDecorated(true);
+
+        TwoColumnLayoutTest converter = new TwoColumnLayoutTest();
+    }
+
+    public static void main(String[] args)
+    {
+        //Schedule a job for the event-dispatching thread:
+        //creating and showing this application's GUI.
+        javax.swing.SwingUtilities.invokeLater(new Runnable()
+        {
+            public void run()
+            {
+                createAndShowGUI();
+            }
+        });
+    }
+}


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
web.pylons.gene...    hurd.l4/2002-10...    kernel.commits....    user-groups.lin...    yellowdog.gener...    java.drools.use...    security.openva...    package-managem...    linux.debian.us...    qnx.openqnx.dev...    genealogy.gramp...    file-systems.if...    voip.wengophone...    tex.context/200...    ietf.smime/2003...    audio.csound.de...    culture.region....    xfree86.devel/2...    mobile.kannel.u...    distributed.con...    education.engli...    org.user-groups...    bug-tracking.gn...    recreation.bicy...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe