Hi,
I'm trying to do what's described in this post, that is setting the Form's value on a custom FormItem so I can call this value via Form.getValues().
However, the reference to getForm() inside the FormItem is null.
Repro case:
SmartGWT 1.3
	
							
						
					I'm trying to do what's described in this post, that is setting the Form's value on a custom FormItem so I can call this value via Form.getValues().
However, the reference to getForm() inside the FormItem is null.
Repro case:
SmartGWT 1.3
Code:
	
	private class MyCanvasItem extends CanvasItem {
	private int timesClicked = 0;
	public MyCanvasItem() {
		super();
		Button b = new Button("Click me");
		b.addClickHandler(new ClickHandler() {
			public void onClick(ClickEvent event) {
				timesClicked++;
				DynamicForm form = MyCanvasItem.this.getForm();
				if (form == null) {
					SC.say("Form reference is null :(");
				} else {
					form.setValue(MyCanvasItem.this.getName(), timesClicked);
				}	
			}
		});
		setCanvas(b);
	}
}
private Canvas getFormRefTest() {
	VLayout result = new VLayout();
	
	final DynamicForm form = new DynamicForm();
	TextItem field1 = new TextItem("field1");
	MyCanvasItem field2 = new MyCanvasItem();
	field2.setName("field2");
	field2.setTitle("Field 2");
	
	form.setFields(field1, field2);
	
	Button getValueMap = new Button("Show values");
	getValueMap.addClickHandler(new ClickHandler() {
		public void onClick(ClickEvent event) {
			Map<String, String> map = form.getValues();
			StringBuffer string = new StringBuffer("Form Value Map:<br/>");
			for (String key : map.keySet()) {
				string.append(key).append(": ").append(map.get(key)).append("<br/>");
			}
			SC.say(string.toString());
		}
	});
	
	
	result.setMembers(form, getValueMap);
	return result;
}

Comment