VIDGE
Support This Project
Custom Search

English Home
Russian Home
Quickstart
Download
Contacts

Quickstart

Идеология Vidge - между виджетами и вашими бизнес-объектами нахоится цепочка автоматически создаваемых объектов:

1. Имплементация IPropertyExplorer - оболочка для каждого свойства объекта - может быть построена напрямую на основе объекта или на основе имплементации IForm - которая дает возможность создавать различные визуальные представления объекта в зависимости от текущего контекста а так же добавлять дополнительные фичи - как локализуемые лейблы, тоолтипы и описания, валидаторы, проавйдеры и др.

2. Имплементация EntityExplorer - содержит имплементации IPropertyExplorer и добавляет дополнительные фичи для всей сущности(создание удаление и т.д.)

3. Потомки AbstractFieldAdapter предназначены для адаптации интерфейса текущего виджета к общему виду и контроля событий для передачи изменений к бизнес-объекту и обратно.

4. PlainForm - содержит все компоненты , управляет их взаимодействием и строит конечную визуальную форму.



Таким образом - если вы хотите показать пользователю какой-то бизнес- объект - лучший путь - создать имплементацию IForm.

В качестве примера создано специальное тестовое приложение vidge-test-2.0.zip где каждый пример применения сопровождается скриншотом кода.

Еще для примера:

Предположим мы хотим показать пользователюсписок объектов 'Word' - давайте создадим имплементацию IForm -
            
public class WordForm implements IForm {

	public WordForm() {
	}

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

	@Override
	public Word getInput() {
		return input;
	}

	@Override
	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();
	}
}
            
Здесь мы пометили аннотациями 'где' и 'как' мы хотим видеть поля на форме.
Теперь создадим TablePanel для WordForm class и списком объектов - и это все.
            
            	TablePanel tablePanel = new TablePanel(parentComposite, Word.class, list);
		
            
Если вы хотите дать пользователю возможность редактировать объект 'Word' :
		PlainForm createForm = Vidge.createForm(new WordForm(input));
		createForm.getPane(parentComposite, SWT.NONE);
		
          
Что можетбыть еще быстрее и проще?

Просто смотрите на исходный код тестового приложения - и все будет готово в минуты.