Differences

This shows you the differences between two versions of the page.

Link to this comparison view

submit_person [2012/04/09 17:48]
dragan.milicev
submit_person [2012/07/09 10:47] (current)
srdjan.lukovic [GUI Code]
Line 56: Line 56:
 import rs.sol.soloist.server.builtindomains.builtindatatypes.Real; import rs.sol.soloist.server.builtindomains.builtindatatypes.Real;
 import rs.sol.soloist.server.builtindomains.builtindatatypes.Text; import rs.sol.soloist.server.builtindomains.builtindatatypes.Text;
-import rs.sol.soloist.server.builtindomains.common.ElementDescriptor; 
 import rs.sol.soloist.server.guiconfiguration.components.GUIApplicationComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIApplicationComponent;
 import rs.sol.soloist.server.guiconfiguration.components.GUIButtonComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIButtonComponent;
Line 62: Line 61:
 import rs.sol.soloist.server.guiconfiguration.components.GUIPanelComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIPanelComponent;
 import rs.sol.soloist.server.guiconfiguration.construction.GUIComponentBinding; import rs.sol.soloist.server.guiconfiguration.construction.GUIComponentBinding;
-import rs.sol.soloist.server.guiconfiguration.elementcomponents.GUIElementComponent; +import rs.sol.soloist.server.guiconfiguration.elementcomponents.GUIInput;
-import rs.sol.soloist.server.guiconfiguration.elementcomponents.GUIInputKind; +
-import rs.sol.soloist.server.guiconfiguration.layout.TableLayoutData;+
 import rs.sol.soloist.server.server.SoloistServiceServlet; import rs.sol.soloist.server.server.SoloistServiceServlet;
  
Line 74: Line 71:
  public void init() throws InitializerFailedException {  public void init() throws InitializerFailedException {
  GUIApplicationComponent page = new GUIApplicationComponent();  GUIApplicationComponent page = new GUIApplicationComponent();
- page.name.set(Text.fromString("SubmitPerson")); + page.setName("SubmitPerson"); 
  SoloistServiceServlet.registerApplication(page);  SoloistServiceServlet.registerApplication(page);
- page.context.set(DefaultContextInit.getRoot());+ page.setContext(DefaultContextInit.getRoot());
   
  GUIPanelComponent root = GUIPanelComponent.createFlow(page);  GUIPanelComponent root = GUIPanelComponent.createFlow(page);
   
  GUILabelComponent title = GUILabelComponent.create(root, "Submit Person");  GUILabelComponent title = GUILabelComponent.create(root, "Submit Person");
- title.styleName.set(Text.fromString("titleStyle"));+ title.setStyle("titleStyle");
   
  GUIPanelComponent topPanel = GUIPanelComponent.createFlow(root);  GUIPanelComponent topPanel = GUIPanelComponent.createFlow(root);
- topPanel.styleName.set(Text.fromString("topPanel"));+ topPanel.setStyle("topPanel");
   
  GUIPanelComponent table = GUIPanelComponent.createTable(topPanel);  GUIPanelComponent table = GUIPanelComponent.createTable(topPanel);
   
  int row = 0;  int row = 0;
- GUILabelComponent.create(table, "Name: ", row, 0); // instead of "row, 0" at the end, you could use "new TableLayoutDate(row, 0)"+ GUILabelComponent.create(table, "Name: ", row, 0); 
- GUIElementComponent nameInput = GUIElementComponent.createInput(table, "", Text.CLASSIFIER, row++, 1); // second parameter "" (name) + GUIInput nameInput = GUIInput.createField(table, Text.CLASSIFIER, row++, 1); 
- // this is not important unless you use this component in a search form as a parameter + nameInput.addInitialValue(Text.fromString("New Person"));
- GUIInputKind.get(nameInput).initialValues.set(ElementDescriptor.create(Text.fromString("New Person"))); // initial value for the name field+
   
  GUILabelComponent.create(table, "Gender: ", row, 0);  GUILabelComponent.create(table, "Gender: ", row, 0);
- GUIElementComponent genderInput = GUIElementComponent.createInput(table, "", Repository.getRepository().getEnumeration(Gender.FQ_TYPE_NAME), row++, 1); + GUIInput genderInput = GUIInput.createField(table, Repository.getRepository().getEnumeration(Gender.FQ_TYPE_NAME), row++, 1);
- // for an enumeration, one must fetch its type using Repository class, which is the UML model reflection povider+
   
  GUILabelComponent.create(table, "Age: ", row, 0);  GUILabelComponent.create(table, "Age: ", row, 0);
- GUIElementComponent ageInput = GUIElementComponent.createInput(table, "", Integer.CLASSIFIER, row++, 1);+ GUIInput ageInput = GUIInput.createField(table, Integer.CLASSIFIER, row++, 1);
   
  GUILabelComponent.create(table, "Date of birth: ", row, 0);  GUILabelComponent.create(table, "Date of birth: ", row, 0);
- GUIElementComponent dateOfBirthInput = GUIElementComponent.createInput(table, "", Date.CLASSIFIER, row++, 1);+ GUIInput dateOfBirthInput = GUIInput.createField(table, Date.CLASSIFIER, row++, 1);
   
  GUILabelComponent.create(table, "Height [m]: ", row, 0);  GUILabelComponent.create(table, "Height [m]: ", row, 0);
- GUIElementComponent heightInput = GUIElementComponent.createInput(table, "", Real.CLASSIFIER, row++, 1);+ GUIInput heightInput = GUIInput.createField(table, Real.CLASSIFIER, row++, 1);
   
  GUILabelComponent.create(table, "Is married: ", row, 0);  GUILabelComponent.create(table, "Is married: ", row, 0);
- GUIElementComponent isMarriedInput = GUIElementComponent.createInputCheckbox(table, """", true, new TableLayoutData(row++, 1)); // true is initial value+ GUIInput isMarriedInput = GUIInput.createField(table, Boolean.CLASSIFIER, row++, 1); // true is initial value 
 + isMarriedInput.setLowerBound(1); 
 + isMarriedInput.addInitialValue(Boolean.TRUE);
  // if you wish to allow marriage status to be undefined, i.e. a three-value combo (empty, yes, and no) instead of two value checkbox use this:  // if you wish to allow marriage status to be undefined, i.e. a three-value combo (empty, yes, and no) instead of two value checkbox use this:
- // GUIElementComponent isMarriedInput2 = GUIElementComponent.createInput(table, "", Boolean.CLASSIFIER, row++, 1); + // GUIElementComponent isMarriedInput2 =GUIInput.createField(table, Boolean.CLASSIFIER, row++, 1); 
- + 
  // Take a look at the date picker in CSS.  // Take a look at the date picker in CSS.
  // Also, take a look at .gwt-TextBox-validation_failed and .dateBoxFormatError.  // Also, take a look at .gwt-TextBox-validation_failed and .dateBoxFormatError.
  // These define how these input widgets react when invalid values are typed in,  // These define how these input widgets react when invalid values are typed in,
  // for example, if an invalid value "Java" is typed in the ageInput that accepts Integers.  // for example, if an invalid value "Java" is typed in the ageInput that accepts Integers.
- + 
  // Now let's create the buttons  // Now let's create the buttons
  GUIPanelComponent hp = GUIPanelComponent.createHorizontal(topPanel);  GUIPanelComponent hp = GUIPanelComponent.createHorizontal(topPanel);
   
  GUIButtonComponent createButton = GUIButtonComponent.create(hp, "Create Person", new CreatePerson());  GUIButtonComponent createButton = GUIButtonComponent.create(hp, "Create Person", new CreatePerson());
- createButton.confirmationRequired.set(Boolean.TRUE); + createButton.setConfirmationRequired(true); 
- createButton.confirmationMessage.set(Text.fromString("Are you sure you want to create a person?"));+ createButton.setConfirmationMessage("Are you sure you want to create a person?");
   
  // Let's now bind the button with input parameters' provider components  // Let's now bind the button with input parameters' provider components
- GUIComponentBinding.create(nameInput.value, createButton, CreatePerson.PROPERTIES.name); + GUIComponentBinding.create(nameInput.opValue(), createButton, CreatePerson.PROPERTIES.name); 
- GUIComponentBinding.create(ageInput.value, createButton, CreatePerson.PROPERTIES.age); + GUIComponentBinding.create(ageInput.opValue(), createButton, CreatePerson.PROPERTIES.age); 
- GUIComponentBinding.create(genderInput.value, createButton, CreatePerson.PROPERTIES.gender); + GUIComponentBinding.create(genderInput.opValue(), createButton, CreatePerson.PROPERTIES.gender); 
- GUIComponentBinding.create(dateOfBirthInput.value, createButton, CreatePerson.PROPERTIES.dateOfBirth); + GUIComponentBinding.create(dateOfBirthInput.opValue(), createButton, CreatePerson.PROPERTIES.dateOfBirth); 
- GUIComponentBinding.create(heightInput.value, createButton, CreatePerson.PROPERTIES.height); + GUIComponentBinding.create(heightInput.opValue(), createButton, CreatePerson.PROPERTIES.height); 
- GUIComponentBinding.create(isMarriedInput.value, createButton, CreatePerson.PROPERTIES.isMarried);+ GUIComponentBinding.create(isMarriedInput.opValue(), createButton, CreatePerson.PROPERTIES.isMarried);
   
  // Let's reset input fields after command execution  // Let's reset input fields after command execution
- GUIComponentBinding.create(createButton.commandExecutedGUIInputKind.get(nameInput).reset); + GUIComponentBinding.create(createButton.opCommandExecuted()nameInput.ipReset()); 
- GUIComponentBinding.create(createButton.commandExecutedGUIInputKind.get(ageInput).reset); + GUIComponentBinding.create(createButton.opCommandExecuted()ageInput.ipReset()); 
- GUIComponentBinding.create(createButton.commandExecutedGUIInputKind.get(genderInput).reset); + GUIComponentBinding.create(createButton.opCommandExecuted()genderInput.ipReset()); 
- GUIComponentBinding.create(createButton.commandExecutedGUIInputKind.get(dateOfBirthInput).reset); + GUIComponentBinding.create(createButton.opCommandExecuted()dateOfBirthInput.ipReset()); 
- GUIComponentBinding.create(createButton.commandExecutedGUIInputKind.get(heightInput).reset); + GUIComponentBinding.create(createButton.opCommandExecuted()heightInput.ipReset()); 
- GUIComponentBinding.create(createButton.commandExecutedGUIInputKind.get(isMarriedInput).reset);+ GUIComponentBinding.create(createButton.opCommandExecuted()isMarriedInput.ipReset());
   
  // Let's now create clear and reset form buttons  // Let's now create clear and reset form buttons
  // Note the difference between reset and clear: reset re-sets the initial values in the input fields, while clear actually makes them empty  // Note the difference between reset and clear: reset re-sets the initial values in the input fields, while clear actually makes them empty
  GUIButtonComponent clearButton = GUIButtonComponent.create(hp, "Clear Form");  GUIButtonComponent clearButton = GUIButtonComponent.create(hp, "Clear Form");
- GUIComponentBinding.create(clearButton.click, nameInput.clearValue); + GUIComponentBinding.create(clearButton.opClick(), nameInput.ipClearValue()); 
- GUIComponentBinding.create(clearButton.click, ageInput.clearValue); + GUIComponentBinding.create(clearButton.opClick(), ageInput.ipClearValue()); 
- GUIComponentBinding.create(clearButton.click, genderInput.clearValue); + GUIComponentBinding.create(clearButton.opClick(), genderInput.ipClearValue()); 
- GUIComponentBinding.create(clearButton.click, dateOfBirthInput.clearValue); + GUIComponentBinding.create(clearButton.opClick(), dateOfBirthInput.ipClearValue()); 
- GUIComponentBinding.create(clearButton.click, heightInput.clearValue); + GUIComponentBinding.create(clearButton.opClick(), heightInput.ipClearValue()); 
- GUIComponentBinding.create(clearButton.click, isMarriedInput.clearValue);+ GUIComponentBinding.create(clearButton.opClick(), isMarriedInput.ipClearValue());
   
  GUIButtonComponent resetButton = GUIButtonComponent.create(hp, "Reset Form");  GUIButtonComponent resetButton = GUIButtonComponent.create(hp, "Reset Form");
- GUIComponentBinding.create(resetButton.clickGUIInputKind.get(nameInput).reset); + GUIComponentBinding.create(resetButton.opClick()nameInput.ipReset()); 
- GUIComponentBinding.create(resetButton.clickGUIInputKind.get(ageInput).reset); + GUIComponentBinding.create(resetButton.opClick()ageInput.ipReset()); 
- GUIComponentBinding.create(resetButton.clickGUIInputKind.get(genderInput).reset); + GUIComponentBinding.create(resetButton.opClick()genderInput.ipReset()); 
- GUIComponentBinding.create(resetButton.clickGUIInputKind.get(dateOfBirthInput).reset); + GUIComponentBinding.create(resetButton.opClick()dateOfBirthInput.ipReset()); 
- GUIComponentBinding.create(resetButton.clickGUIInputKind.get(heightInput).reset); + GUIComponentBinding.create(resetButton.opClick()heightInput.ipReset()); 
- GUIComponentBinding.create(resetButton.clickGUIInputKind.get(isMarriedInput).reset);+ GUIComponentBinding.create(resetButton.opClick()isMarriedInput.ipReset());
  }  }
 } }
 </code> </code>
Print/export