Return-Path: Delivered-To: apmail-forrest-svn-archive@www.apache.org Received: (qmail 88597 invoked from network); 9 Jul 2005 21:12:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 Jul 2005 21:12:41 -0000 Received: (qmail 14604 invoked by uid 500); 9 Jul 2005 21:12:41 -0000 Delivered-To: apmail-forrest-svn-archive@forrest.apache.org Received: (qmail 14562 invoked by uid 500); 9 Jul 2005 21:12:41 -0000 Mailing-List: contact svn-help@forrest.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Forrest Developers List" List-Id: Delivered-To: mailing list svn@forrest.apache.org Received: (qmail 14549 invoked by uid 99); 9 Jul 2005 21:12:40 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Jul 2005 14:12:40 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Sat, 09 Jul 2005 14:12:39 -0700 Received: (qmail 88589 invoked by uid 65534); 9 Jul 2005 21:12:38 -0000 Message-ID: <20050709211238.88588.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r209965 - in /forrest/trunk/tools/eclipse/plugins: org.apache.forrest.eclipse.servletEngine/.classpath org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java Date: Sat, 09 Jul 2005 21:12:37 -0000 To: svn@forrest.apache.org From: rgardler@apache.org X-Mailer: svnmailer-1.0.2 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: rgardler Date: Sat Jul 9 14:12:35 2005 New Revision: 209965 URL: http://svn.apache.org/viewcvs?rev=209965&view=rev Log: Add dialog to allow new element attributes to be entered when it is added to the site tree (thanks to Anil Ramnanan, FOR-571) Modified: forrest/trunk/tools/eclipse/plugins/org.apache.forrest.eclipse.servletEngine/.classpath forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java Modified: forrest/trunk/tools/eclipse/plugins/org.apache.forrest.eclipse.servletEngine/.classpath URL: http://svn.apache.org/viewcvs/forrest/trunk/tools/eclipse/plugins/org.apache.forrest.eclipse.servletEngine/.classpath?rev=209965&r1=209964&r2=209965&view=diff ============================================================================== --- forrest/trunk/tools/eclipse/plugins/org.apache.forrest.eclipse.servletEngine/.classpath (original) +++ forrest/trunk/tools/eclipse/plugins/org.apache.forrest.eclipse.servletEngine/.classpath Sat Jul 9 14:12:35 2005 @@ -3,6 +3,6 @@ - + Modified: forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java URL: http://svn.apache.org/viewcvs/forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java?rev=209965&r1=209964&r2=209965&view=diff ============================================================================== --- forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java (original) +++ forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java Sat Jul 9 14:12:35 2005 @@ -16,6 +16,7 @@ */ package org.apache.forrest.eclipse.views; + import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -49,14 +50,27 @@ import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.wizard.IWizardPage; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.FileTransfer; import org.eclipse.swt.dnd.Transfer; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.layout.RowLayout; +import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Dialog; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.ISharedImages; @@ -75,6 +89,8 @@ + + /** * A tree view for site.xml files. The view handles drag and * drop from the navigator and supports a number of context @@ -82,7 +98,7 @@ */ public class SiteXMLView extends ViewPart implements IMenuListener, ISelectionListener { -private TreeViewer treeViewer; + private TreeViewer treeViewer; private DocumentBuilder parser; private Document document; private String projectName; @@ -91,6 +107,13 @@ private Action AddElement; private Action RemoveElement; private Action SaveDocument; + private Text elementText; + private Text hrefText; + private Text locationText; + private Text labelText; + private Text descriptionText; + + protected IProject activeProject; @@ -225,6 +248,7 @@ + java.io.File.separator + "site.xml"); try { + Document newDocument = parser.parse(new File(path)); if ((document != (newDocument))) { document = newDocument; @@ -273,14 +297,7 @@ AddElement = new Action() { public void run() { if (treeSelection != null) { - //TODO: Code to add Element goes here - Node insertionElement = (Element) treeSelection.getFirstElement(); - Node element = document.createElement("NewElement"); - - insertionElement.appendChild(element); - - //showMessage(element.atoString()); - treeViewer.refresh(); + insertElementDialog(); } } }; @@ -338,4 +355,62 @@ message); } + private void insertElementDialog () { + + + Shell shell = treeViewer.getControl().getShell(); + shell.open (); + + final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); + GridData data = new GridData(); + + dialog.setLayout(new GridLayout(2, true)); + dialog.setText("Add Element"); + dialog.setSize(300,150); + Label elementLabel = new Label (dialog, SWT.FLAT); + elementLabel.setText ("Element Name"); + elementText = new Text (dialog, SWT.FILL); + + Label descriptionLabel = new Label (dialog, SWT.FLAT); + descriptionLabel.setText ("Description"); + descriptionText = new Text (dialog, SWT.FILL); + + Label hrefLabel = new Label (dialog, SWT.FLAT); + hrefLabel.setText ("Href"); + hrefText = new Text (dialog, SWT.FILL); + + Label labelLabel = new Label (dialog, SWT.FLAT); + labelLabel.setText ("Label"); + labelText = new Text (dialog, SWT.FILL); + + final Button ok = new Button (dialog, SWT.PUSH); + ok.setText ("Ok"); + Button cancel = new Button (dialog, SWT.PUSH); + cancel.setText ("Cancel"); + + ok.addListener(SWT.Selection, new Listener() { + public void handleEvent(Event event) { + Node insertionElement = (Element) treeSelection.getFirstElement(); + + Element element = document.createElement(elementText.getText()); + element.setAttribute("href", hrefText.getText()); + element.setAttribute("description", descriptionText.getText()); + element.setAttribute("label", labelText.getText()); + insertionElement.appendChild(element); + + treeViewer.refresh(); + dialog.close(); + } + }); + + cancel.addListener(SWT.Selection, new Listener() { + public void handleEvent(Event event) { + dialog.close(); + } + }); + + dialog.open (); + + + } }