Шаблон формы скаутского затмения
Я вижу в дереве, представляющем мои приложения в представлении Scout Explorer, что у меня есть две подпапки в узле шаблона:
- формы
- Поля формы
Я знаю, как добавить поля формы, и это довольно просто, но я не знаю, как создать шаблон формы, и я не могу найти его в Интернете.
Marko
РЕДАКТИРОВАТЬ:
Теперь я выясняю, как добавить форму в папку "Из шаблона". Вам просто нужно добавить abstract
тег, а затем вы можете создать новую форму из этого шаблона.
Теперь мне нужно изменить класс основного блока по умолчанию с: AbstractGroupBox
в AbstractMyGroupBox
, Чтобы понять, что мне нужно, это как-то установить внутри AbstractMyForm
, что все формы, которые приходят из AbstractMyForm
Шаблон имеет вместо:
public class TestFromForm extends AbstractMyForm
...
@Order(10.0)
@ClassId("e23ebc80-d948-4e23-aff6-ae49d3278331")
public class MainBox extends AbstractGroupBox {
@Order(10.0)
@ClassId("571bc88f-67ee-454d-b6ce-9616bc43bf74")
public class OkButton extends AbstractOkButton {
}
@Order(20.0)
@ClassId("66969857-002f-4689-981e-20ab60bbaf0e")
public class CancelButton extends AbstractCancelButton {
}
}
есть это:
@Order(10.0)
@ClassId("e23ebc80-d948-4e23-aff6-ae49d3278331")
public class MainBox extends AbstractMyGroupBox {
}
1 ответ
Вы правы; В перспективе Scout нет поддержки для создания шаблона формы. Вам необходимо использовать инструментарий Java из IDE.
Шаблон формы
Шаблон формы - это не что иное, как расширение класса Abstract. org.eclipse.scout.rt.client.ui.form.AbstractForm
, Ваш шаблон может быть расположен там, где вы хотите (где это имеет смысл, в зависимости от вашей организации кода). Возможная упаковка: <your_app>.client.ui.template.form
,
Это минимальный пример:
import org.eclipse.scout.commons.exception.ProcessingException;
import org.eclipse.scout.rt.client.ui.form.AbstractForm;
public abstract class AbstractMyForm extends AbstractForm {
/**
* @throws ProcessingException
*/
public AbstractMyForm() throws ProcessingException {
super();
}
}
Форма и Mainbox
Помните, что форма (используется с шаблоном или нет) имеет только один основной блок (блок корневой группы, содержащий дерево дочерних полей). Загружается во время инициализации формы. (см. расширенный ответ на основе примера).
Из реализации частного метода AbstractForm.getConfiguredMainBox()
Я могу сделать вывод, что только первый внутренний класс, реализующий IGroupBox
выбран.
Поэтому шаблоны форм подходят для согласования логики на уровне формы. Иногда также некоторые обработчики форм или кнопки инструментов.
Если идея состоит в том, чтобы объединить общие поля между несколькими формами, можно использовать шаблон поля для самого основного блока:
@Order(10.0)
public class MainBox extends AbstractMyTemplateGroupBox {
//…
}
Не зная больше о сценарии использования, трудно сказать, что вы должны делать.