Support This Project
Custom Search

English Home
Russian Home


Ideology of Vidge - between widgets and you business objects have to exists a chain of objects:

1. Implementation of IPropertyExplorer interface - it is a wrapper for each property of object it may be build directly from a raw object and from implementation IForm interface - it let us to have a different visual representations of business object depends of context and important additioanl features like localizable labels and tooltip descriptions, validators, special controls and providers.

2. Implementation EntityExplorer interface - it contains implementations IPropertyExplorer with some additional features for whole entity.

3. Descendant of AbstractFieldAdapter - purposed to adapt interface of current widget to common interface and control UI events for transition data changes to business object and to back

4. PlainForm - contains of all staff and manage events between them and build the end up visual form.

So if you want to show to user the business object - the best way - create and register set IForm implementation.

By example created test application with tabs where each example of use with screenshots of current code.

But some examples here:

Assume we want to show to user a list of 'Word' objects - let's create a IForm implementation
public class WordForm implements IForm {

	public WordForm() {

	public WordForm(Word word) {
		input = word;
	private Word input;

	public Word getInput() {
		return input;

	public void setInput(Word input) {
		this.input = input;

	@VisualProperty(order = 1)
	public String getWord() {
		return input.getWord();

	@VisualProperty(order = 2)
	public String getOwner() {
		return input.getOwner();

	public Integer getFrequency() {
		return input.getFrequency();

	@VisualProperty(order = 3)
	public String getRemark() {
		return input.getRemark();
Here we mark with annotations how and where we want to see a fields in a visual form.
Now invoke a TablePanel with WordForm class and a list of words - it is all.
            	TablePanel tablePanel = new TablePanel(parentComposite, FormTestClass.class, list);
If you want allow user to edit 'Word' :
		PlainForm createForm = Vidge.createForm(new WordForm(input));
		createForm.getPane(parentComposite, SWT.NONE);
What may be simpler and faster?

Just see on the source code of test application and all will be ready in minutes!