我在树中看到代表Scout Explorer view中的应用程序,我在模板节点下有两个子文件夹:
我知道如何添加表单字段并且非常简单,但我不知道如何创建表单模板,我无法在互联网上找到它。
马尔科
编辑:
现在我想出如何将表单添加到From模板文件夹。您只需添加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 {
}
答案 0 :(得分:1)
表单模板只不过是一个扩展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();
}
}
请注意,Form(与模板一起使用)只有一个MainBox(包含子字段树的根组框)。它在表单初始化期间加载。 (见extended answer based on an example)。
从私有方法AbstractForm.getConfiguredMainBox()
的实现中我可以推断出只选择了实现IGroupBox
的第一个内部类。
因此,表单模板适合在表单级别上共享逻辑。有时也会形成一些处理程序或工具按钮。
如果想要在多个表单之间共享公共字段,则有可能使用字段模板作为主框本身:
@Order(10.0)
public class MainBox extends AbstractMyTemplateGroupBox {
//…
}
在不了解用例的情况下,很难说出你应该做什么。