Author: gumbo
Date: 2005-08-25 01:04:42 +0200 (Thu, 25 Aug 2005)
New Revision: 134
Added:
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java
Modified:
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInformation.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/packs/ListTable.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
Log:
Starting work again - Finished moving stages over to models mostly - hackish,
but each model can correctly generate its XML. Reading it is unimplemented.
Added:
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/controller/validators/PanelSelectionValidator.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -0,0 +1,43 @@
+/*
+ * Created on Jun 14, 2005
+ *
+ * $Id: PanelSelectionValidator.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ *
+ * File : PanelSelectionValidator.java
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.controller.validators;
+
+import com.jgoodies.validation.ValidationResult;
+
+/**
+ * @author Andy Gombos
+ */
+public class PanelSelectionValidator implements StageValidator
+{
+
+ /* (non-Javadoc)
+ * @see com.jgoodies.validation.ValidationCapable#validate()
+ */
+ public ValidationResult validate()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Modified:
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -23,12 +23,19 @@
*/
package izpack.frontend.model.stages;
+import izpack.frontend.model.Author;
import izpack.frontend.model.SelectListModel;
+import izpack.frontend.view.components.LangLabel;
import java.util.ArrayList;
+import javax.swing.ListModel;
+
import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import utils.XML;
+
import com.jgoodies.binding.beans.Model;
import com.jgoodies.binding.list.ArrayListModel;
@@ -163,8 +170,20 @@
*/
public Document writeToXML()
{
- // TODO Auto-generated method stub
- return null;
+ Element root = XML.createRootElement("installation");
+ Document rootDoc = root.getOwnerDocument();
+
+ root.setAttribute("version", "1.0");
+
+ Element genInfoXML = createGeneralInfoPageXML();
+ Element langXML = createLanguageXML();
+ Element uiXML = createGUIXML();
+
+ root.appendChild(rootDoc.importNode(genInfoXML, true));
+ root.appendChild(rootDoc.importNode(langXML, true));
+ root.appendChild(rootDoc.importNode(uiXML, true));
+
+ return rootDoc;
}
/* (non-Javadoc)
@@ -175,4 +194,80 @@
// TODO Auto-generated method stub
}
+
+ private Element createGeneralInfoPageXML()
+ {
+ Element info = XML.createRootElement("info");
+ Document doc = info.getOwnerDocument();
+
+ Element appname = XML.createElement("appname", doc);
+ Element appversion = XML.createElement("appversion", doc);
+ Element url = XML.createElement("url", doc);
+ Element authorsElem = XML.createElement("authors", doc);
+
+ appname.setTextContent(appName);
+ appversion.setTextContent(version);
+ url.setTextContent(homepage);
+
+ for (int i = 0; i < this.authors.size(); i++)
+ {
+ Author auth = (Author) authors.get(i);
+ Element author = XML.createElement("author", doc);
+ author.setAttribute("name", auth.getName());
+ author.setAttribute("email", auth.getEmail());
+
+ authorsElem.appendChild(author);
+ }
+
+ info.appendChild(appname);
+ info.appendChild(appversion);
+ info.appendChild(url);
+ info.appendChild(authorsElem);
+
+ return info;
+ }
+
+ /* (non-Javadoc)
+ * @see izpack.frontend.view.stages.panels.ConfigurePanel#createXML()
+ *
+ * Structure:
+ * <locale>
+ * <langpack iso3="eng" />
+ * </locale>
+ */
+ private Element createLanguageXML()
+ {
+ Element root = XML.createRootElement("locale");
+ Document rootDoc = root.getOwnerDocument();
+
+ ListModel model = langCodes;
+
+ for (int i = 0; i < model.getSize(); i++)
+ {
+ Element langElem = XML.createElement("langpack", rootDoc);
+ LangLabel lLabel = (LangLabel) model.getElementAt(i);
+ langElem.setAttribute("iso3", lLabel.getISO3Code());
+
+ root.appendChild(langElem);
+ }
+
+ return root;
+ }
+
+ /*
+ * Structure
+ * <guiprefs resizable="no" width="800" height="600"/>
+ */
+ private Element createGUIXML()
+ {
+ Document doc = XML.getDocument();
+ Element guiprefs = doc.createElement("guiprefs");
+
+ guiprefs.setAttribute("resizable", resizable ? "yes" : "no");
+
+ guiprefs.setAttribute("width", Integer.toString(width));
+ guiprefs.setAttribute("height", Integer.toString(height));
+
+ return guiprefs;
+ }
}
Added:
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/model/stages/PanelSelectionModel.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -0,0 +1,81 @@
+/*
+ * Created on Jun 14, 2005
+ *
+ * $Id: PanelSelectionModel.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2001-2003 IzPack Development Group
+ *
+ * File : PanelSelectionModel.java
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+package izpack.frontend.model.stages;
+
+import javax.swing.ListModel;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import utils.XML;
+
+import izpack.frontend.model.SelectListModel;
+import izpack.frontend.view.components.ImageLabel;
+
+/**
+ * @author Andy Gombos
+ */
+public class PanelSelectionModel extends SelectListModel implements
StageDataModel
+{
+
+ /* (non-Javadoc)
+ * @see izpack.frontend.model.stages.StageDataModel#writeToXML()
+ */
+ public Document writeToXML()
+ {
+ Element root = XML.createRootElement("installation");
+ Document rootDoc = root.getOwnerDocument();
+
+ root.setAttribute("version", "1.0");
+
+ //Create the interesting XML data
+ Element panels = XML.createRootElement("panels");
+ Document panelsDoc = panels.getOwnerDocument();
+
+ for (int i = 0; i < getSize(); i++)
+ {
+ ImageLabel il = (ImageLabel) getElementAt(i);
+ String classname = il.getClassname();
+
+ Element panel = XML.createElement("panel", panelsDoc);
+ panel.setAttribute("classname", classname);
+
+ panels.appendChild(panel);
+ }
+
+ root.appendChild(rootDoc.importNode(panels, true));
+
+ return rootDoc;
+ }
+
+ /* (non-Javadoc)
+ * @see
izpack.frontend.model.stages.StageDataModel#initFromXML(org.w3c.dom.Document)
+ */
+ public void initFromXML(Document doc)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/view/components/AbstractListSelect.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -50,7 +50,7 @@
/**
* @author Andy Gombos
*/
-public abstract class AbstractListSelect extends IzPackPanel implements
ActionListener, FocusListener, ListSelectionListener, ConfigurePanel
+public abstract class AbstractListSelect extends IzPackPanel implements
ActionListener, FocusListener, ListSelectionListener
{
public AbstractListSelect()
{
Modified: izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
2005-08-24 17:06:48 UTC (rev 133)
+++ izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -26,13 +26,13 @@
import izpack.frontend.controller.StageChangeEvent;
import izpack.frontend.controller.StageChangeListener;
import izpack.frontend.view.stages.IzPackStage;
+import izpack.frontend.view.stages.StageOrder;
import izpack.frontend.view.stages.geninfo.GeneralInformation;
import izpack.frontend.view.stages.packs.Pack;
import izpack.frontend.view.stages.panelselect.PanelSelection;
import java.awt.BorderLayout;
import java.awt.CardLayout;
-import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
@@ -44,9 +44,8 @@
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
-import javax.swing.border.LineBorder;
-import sun.awt.WindowClosingListener;
+import utils.XML;
/**
* Show Panel Select and General Information stages
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInfoPanel.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -62,7 +62,7 @@
/**
* @author Andy Gombos
*/
-public class GeneralInfoPanel extends IzPackPanel implements ConfigurePanel,
ActionListener
+public class GeneralInfoPanel extends IzPackPanel implements ActionListener
{
/**
* @param information
@@ -224,41 +224,6 @@
return returnValue;
}
-
- /* (non-Javadoc)
- * @see izpack.frontend.view.stages.panels.ConfigurePanel#createXML()
- */
- public Element createXML()
- {
- Element info = XML.createRootElement("info");
- Document doc = info.getOwnerDocument();
-
- Element appname = XML.createElement("appname", doc);
- Element appversion = XML.createElement("appversion", doc);
- Element url = XML.createElement("url", doc);
- Element authors = XML.createElement("authors", doc);
-
- appname.setTextContent(appName.getText());
- appversion.setTextContent(version.getText());
- url.setTextContent(homepage.getText());
-
- for (int i = 0; i < authorListModel.size(); i++)
- {
- Author auth = (Author) authorListModel.get(i);
- Element author = XML.createElement("author", doc);
- author.setAttribute("name", auth.getName());
- author.setAttribute("email", auth.getEmail());
-
- authors.appendChild(author);
- }
-
- info.appendChild(appname);
- info.appendChild(appversion);
- info.appendChild(url);
- info.appendChild(authors);
-
- return info;
- }
/* (non-Javadoc)
* @see
izpack.frontend.view.stages.panels.ConfigurePanel#initFromXML(org.w3c.dom.Document)
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInformation.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInformation.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/GeneralInformation.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -77,20 +77,7 @@
*/
public Document createInstallerData()
{
- Element root = XML.createRootElement("installation");
- Document rootDoc = root.getOwnerDocument();
-
- root.setAttribute("version", "1.0");
-
- Element genInfoXML = generalInfoPage.createXML();
- Element langXML = languageSelect.createXML();
- Element uiXML = uiConfig.createXML();
-
- root.appendChild(rootDoc.importNode(genInfoXML, true));
- root.appendChild(rootDoc.importNode(langXML, true));
- root.appendChild(rootDoc.importNode(uiXML, true));
-
- return rootDoc;
+ return model.writeToXML();
}
/* (non-Javadoc)
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/LanguageSelect.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -69,44 +69,8 @@
initSrcList();
initLists(src, dest);
- }
+ }
- /* (non-Javadoc)
- * @see izpack.frontend.view.stages.panels.ConfigurePanel#createXML()
- *
- * Structure:
- * <locale>
- * <langpack iso3="eng" />
- * </locale>
- */
- public Element createXML()
- {
- Element root = XML.createRootElement("locale");
- Document rootDoc = root.getOwnerDocument();
-
- ListModel model = dest.getModel();
-
- for (int i = 0; i < model.getSize(); i++)
- {
- Element langElem = XML.createElement("langpack", rootDoc);
- LangLabel lLabel = (LangLabel) model.getElementAt(i);
- langElem.setAttribute("iso3", lLabel.getISO3Code());
-
- root.appendChild(langElem);
- }
-
- return root;
- }
-
- /* (non-Javadoc)
- * @see
izpack.frontend.view.stages.panels.ConfigurePanel#initFromXML(org.w3c.dom.Document)
- */
- public void initFromXML(Document xmlFile)
- {
- // TODO Auto-generated method stub
-
- }
-
public void initSrcList()
{
for (Iterator iter = langMap.keySet().iterator(); iter.hasNext();)
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java
2005-08-24 17:06:48 UTC (rev 133)
+++ izpack-frontend/trunk/src/izpack/frontend/view/stages/geninfo/UIConfig.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -48,7 +48,7 @@
/**
* @author Andy Gombos
*/
-public class UIConfig extends IzPackPanel implements ConfigurePanel
+public class UIConfig extends IzPackPanel
{
/**
* @param information
@@ -95,35 +95,7 @@
configureValidation();
}
-
- /* (non-Javadoc)
- * @see izpack.frontend.view.pages.configure.ConfigurePage#createXML()
- *
- * Structure
- * <guiprefs resizable="no" width="800" height="600"/>
- */
- public Element createXML()
- {
- Document doc = XML.getDocument();
- Element guiprefs = doc.createElement("guiprefs");
-
- guiprefs.setAttribute("resizable", resizable.getState());
-
- guiprefs.setAttribute("width", width.getText());
- guiprefs.setAttribute("height", height.getText());
-
- return guiprefs;
- }
-
- /* (non-Javadoc)
- * @see
izpack.frontend.view.pages.configure.ConfigurePage#initFromXML(org.w3c.dom.Document)
- */
- public void initFromXML(Document xmlFile)
- {
- // TODO Auto-generated method stub
-
- }
-
+
private void configureValidation()
{
ValidationComponentUtils.setMandatory(height, true);
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/packs/ListTable.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/stages/packs/ListTable.java
2005-08-24 17:06:48 UTC (rev 133)
+++ izpack-frontend/trunk/src/izpack/frontend/view/stages/packs/ListTable.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -51,7 +51,9 @@
setDefaultRenderer(Object.class, renderer);
setDefaultEditor(Object.class, editor);
- setRowHeight(renderer.getHeight());
+ setRowHeight(renderer.getHeight());
+
+ putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
addMouseListener(this);
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelectList.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -26,6 +26,7 @@
import izpack.frontend.model.PanelInfo;
import izpack.frontend.model.PanelInfoManager;
import izpack.frontend.model.SelectListModel;
+import izpack.frontend.model.stages.PanelSelectionModel;
import izpack.frontend.view.components.AbstractListSelect;
import izpack.frontend.view.components.ImageLabel;
import izpack.frontend.view.components.SelectList;
@@ -54,6 +55,9 @@
src = new SelectList();
dest = new SelectList();
+ panelSelectModel = new PanelSelectionModel();
+
+ dest.setModel(panelSelectModel);
initSrcList();
initLists(src, dest);
@@ -70,12 +74,19 @@
}
}
+ public PanelSelectionModel getDestModel()
+ {
+ return panelSelectModel;
+ }
+
SelectList src, dest;
+ PanelSelectionModel panelSelectModel;
+
/* (non-Javadoc)
* @see izpack.frontend.view.stages.panels.ConfigurePanel#createXML()
*/
- public Element createXML()
+ /*public Element createXML()
{
ListModel lm = dest.getModel();
@@ -94,7 +105,7 @@
}
return panels;
- }
+ }*/
/* (non-Javadoc)
* @see
izpack.frontend.view.stages.panels.ConfigurePanel#initFromXML(org.w3c.dom.Document)
Modified:
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
===================================================================
---
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
2005-08-24 17:06:48 UTC (rev 133)
+++
izpack-frontend/trunk/src/izpack/frontend/view/stages/panelselect/PanelSelection.java
2005-08-24 23:04:42 UTC (rev 134)
@@ -23,23 +23,16 @@
*/
package izpack.frontend.view.stages.panelselect;
-import izpack.frontend.controller.StageChangeEvent;
+import izpack.frontend.controller.validators.PanelSelectionValidator;
+import izpack.frontend.model.stages.PanelSelectionModel;
import izpack.frontend.model.stages.StageDataModel;
import izpack.frontend.view.stages.IzPackStage;
-import izpack.frontend.view.stages.StageOrder.StageContainer;
-import izpack.frontend.view.stages.geninfo.GeneralInformation;
-import izpack.frontend.view.stages.packs.Pack;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-import javax.swing.JButton;
import javax.swing.JPanel;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import utils.UI;
import utils.XML;
import com.jgoodies.validation.Severity;
@@ -69,18 +62,20 @@
*/
public Document createInstallerData()
{
- Element root = XML.createRootElement("installation");
+ /*Element root = XML.createRootElement("installation");
Document rootDoc = root.getOwnerDocument();
root.setAttribute("version", "1.0");
root.appendChild(rootDoc.importNode(panelSelect.createXML(), true));
- return rootDoc;
+ return rootDoc;*/
+ return panelSelect.getDestModel().writeToXML();
}
/* (non-Javadoc)
* @see izpack.frontend.view.stages.IzPackStage#validateStage()
*/
+ //TODO warnings for common forgotten panels
public ValidationResult validateStage()
{
ValidationResult vr = new ValidationResult();
@@ -122,7 +117,9 @@
*/
public StageDataModel getDataModel()
{
- // TODO Auto-generated method stub
- return null;
+ return model;
}
+
+ private static PanelSelectionModel model;
+ private static PanelSelectionValidator validator;
}
|