KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > regis > gui > widgets > NewPropertyDialog


1 package org.sapia.regis.gui.widgets;
2
3 import javax.swing.JComponent JavaDoc;
4 import javax.swing.JDialog JavaDoc;
5 import javax.swing.JFrame JavaDoc;
6 import javax.swing.JTextField JavaDoc;
7
8 import org.sapia.gumby.RenderContext;
9 import org.sapia.gumby.event.EventManager;
10 import org.sapia.regis.Property;
11 import org.sapia.regis.gui.GlobalContext;
12 import org.sapia.regis.gui.GuiConsts;
13 import org.sapia.regis.gui.event.NewNodePropertyCreationEvent;
14 import org.sapia.regis.gui.event.PropertyCreationEvent;
15 import org.sapia.regis.impl.PropertyImpl;
16
17 public class NewPropertyDialog extends JDialog JavaDoc{
18   
19   RenderContext ctx;
20   boolean newNode;
21
22   public NewPropertyDialog(boolean newNode) throws Exception JavaDoc{
23     super((JFrame JavaDoc)GlobalContext.getInstance().getWidget(GuiConsts.FRAME_KEY), true);
24     super.setTitle("New Property");
25     this.newNode = newNode;
26     ctx = GlobalContext.getInstance().getRenderContext().newChildInstance();
27     ctx.getEnv().put("dialog", this, "local");
28     super.getContentPane().add((JComponent JavaDoc)ctx.render(
29         ctx.getSettings().resolveResource("org/sapia/regis/gui/screens/newPropertyDialog.xml")));
30   }
31   
32   public void addProperty(){
33     JTextField JavaDoc name = (JTextField JavaDoc)ctx.getEnv().get("name", "local");
34     JTextField JavaDoc value = (JTextField JavaDoc)ctx.getEnv().get("value", "local");
35     
36     if(name.getText() != null){
37       String JavaDoc strName = name.getText().trim();
38       if(strName.length() > 0){
39         String JavaDoc strValue = value.getText();
40         if(strValue != null){
41           strValue = strValue.trim();
42           Property prop = new PropertyImpl(strName, strValue);
43           if(newNode){
44             EventManager.getInstance().dispatchEvent(new NewNodePropertyCreationEvent(prop));
45           }
46           else{
47             EventManager.getInstance().dispatchEvent(new PropertyCreationEvent(prop));
48           }
49         }
50       }
51     }
52   }
53   
54 }
55
Popular Tags