1 package org.sapia.regis.gui.widgets; 2 3 import javax.swing.JComponent ; 4 import javax.swing.JDialog ; 5 import javax.swing.JFrame ; 6 import javax.swing.JTextField ; 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 { 18 19 RenderContext ctx; 20 boolean newNode; 21 22 public NewPropertyDialog(boolean newNode) throws Exception { 23 super((JFrame )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 )ctx.render( 29 ctx.getSettings().resolveResource("org/sapia/regis/gui/screens/newPropertyDialog.xml"))); 30 } 31 32 public void addProperty(){ 33 JTextField name = (JTextField )ctx.getEnv().get("name", "local"); 34 JTextField value = (JTextField )ctx.getEnv().get("value", "local"); 35 36 if(name.getText() != null){ 37 String strName = name.getText().trim(); 38 if(strName.length() > 0){ 39 String 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 |