/* * Copyright (C) 2000-2012 InfoChamp System Corporation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.gk.engine.client.build; import java.util.List; import org.gk.engine.client.build.form.FieldBuilder; import org.gk.engine.client.build.form.FormBuilder; import org.gk.engine.client.build.form.FormRowBuilder; import org.gk.engine.client.build.form.HeaderBuilder; import org.gk.engine.client.build.form.field.AdaptFieldBuilder; import org.gk.engine.client.build.form.field.ButtonBuilder; import org.gk.engine.client.build.form.field.CheckBoxBuilder; import org.gk.engine.client.build.form.field.ComboBoxBuilder; import org.gk.engine.client.build.form.field.DateFieldBuilder; import org.gk.engine.client.build.form.field.DateRangeFieldBuilder; import org.gk.engine.client.build.form.field.FileUploadFieldBuilder; import org.gk.engine.client.build.form.field.FormFieldBuilder; import org.gk.engine.client.build.form.field.ImageFieldBuilder; import org.gk.engine.client.build.form.field.LabelFieldBuilder; import org.gk.engine.client.build.form.field.NumFieldBuilder; import org.gk.engine.client.build.form.field.RadioBuilder; import org.gk.engine.client.build.form.field.SliderFieldBuilder; import org.gk.engine.client.build.form.field.SpinnerFieldBuilder; import org.gk.engine.client.build.form.field.TextAreaBuilder; import org.gk.engine.client.build.form.field.TimeFieldBuilder; import org.gk.engine.client.build.form.field.TriggerFieldBuilder; import org.gk.engine.client.build.form.field.TxtFieldBuilder; import org.gk.engine.client.build.form.field.YMFieldBuilder; import org.gk.engine.client.build.frame.FrameBuilder; import org.gk.engine.client.build.grid.GridBuilder; import org.gk.engine.client.build.grid.field.GAdaptFieldBuilder; import org.gk.engine.client.build.grid.field.GButtonBuilder; import org.gk.engine.client.build.grid.field.GCheckBoxBuilder; import org.gk.engine.client.build.grid.field.GComboBoxBuilder; import org.gk.engine.client.build.grid.field.GDateFiledBuilder; import org.gk.engine.client.build.grid.field.GDateRangeFieldBuilder; import org.gk.engine.client.build.grid.field.GICBuilder; import org.gk.engine.client.build.grid.field.GImageFieldBuilder; import org.gk.engine.client.build.grid.field.GLabelFieldBuilder; import org.gk.engine.client.build.grid.field.GNumFieldBuilder; import org.gk.engine.client.build.grid.field.GRadioBuilder; import org.gk.engine.client.build.grid.field.GSliderFieldBuilder; import org.gk.engine.client.build.grid.field.GSpinnerFieldBuilder; import org.gk.engine.client.build.grid.field.GTextAreaBuilder; import org.gk.engine.client.build.grid.field.GTimeFieldBuilder; import org.gk.engine.client.build.grid.field.GTriggerFieldBuilder; import org.gk.engine.client.build.grid.field.GTxtFieldBuilder; import org.gk.engine.client.build.grid.field.GYMFiledBuilder; import org.gk.engine.client.build.grid.field.GridFieldBuilder; import org.gk.engine.client.build.gul.GULBuilder; import org.gk.engine.client.build.js.JavaScriptBuilder; import org.gk.engine.client.build.layout.BorderLayoutDataBuilder; import org.gk.engine.client.build.layout.BoxLayoutDataBuilder; import org.gk.engine.client.build.layout.FormDataBuilder; import org.gk.engine.client.build.layout.RowDataBuilder; import org.gk.engine.client.build.layout.TableDataBuilder; import org.gk.engine.client.build.menu.MenuBarBuilder; import org.gk.engine.client.build.menu.MenuBarItemBuilder; import org.gk.engine.client.build.menu.MenuBuilder; import org.gk.engine.client.build.menu.MenuItemBuilder; import org.gk.engine.client.build.page.PageBuilder; import org.gk.engine.client.build.panel.ContentPanelBuilder; import org.gk.engine.client.build.panel.FieldSetBuilder; import org.gk.engine.client.build.panel.HtmlPanelBuilder; import org.gk.engine.client.build.panel.PanelBuilder; import org.gk.engine.client.build.panel.WindowBuilder; import org.gk.engine.client.build.portal.PortalBuilder; import org.gk.engine.client.build.portal.PortletBuilder; import org.gk.engine.client.build.tab.TabBuilder; import org.gk.engine.client.build.tab.TabPanelBuilder; import org.gk.engine.client.build.toolbar.ToolBarBuilder; import org.gk.engine.client.build.tree.TreeBuilder; import org.gk.engine.client.build.tree.TreeDirBuilder; import org.gk.ui.client.com.form.gkList; /** * 建構器工廠 * * @author i23250 * @since 2010/10/18 */ public class BuilderFactory { /** * 建立容器建構器 * * @return List */ public static List createBuilders() { List<Builder> builders = new gkList(); builders.add(new PageBuilder("page")); builders.add(new TabBuilder("tab")); builders.add(new GridBuilder("grid")); builders.add(new FormBuilder("form")); builders.add(new FormRowBuilder("formRow")); builders.add(new HeaderBuilder("header")); builders.add(new FieldBuilder("field")); builders.add(new ToolBarBuilder("toolbar")); builders.add(new TabPanelBuilder("tabPanel")); builders.add(new PortletBuilder("portlet")); builders.add(new PortalBuilder("portal")); builders.add(new FrameBuilder("frame")); builders.add(new ContentPanelBuilder("contentPanel")); builders.add(new WindowBuilder("window")); builders.add(new PanelBuilder("panel")); builders.add(new HtmlPanelBuilder("hp,htmlPanel")); builders.add(new JavaScriptBuilder("js")); builders.add(new GULBuilder("gul")); builders.add(new MenuBuilder("menu")); builders.add(new MenuItemBuilder("menuItem")); builders.add(new MenuBarBuilder("menuBar")); builders.add(new MenuBarItemBuilder("menuBarItem")); builders.add(new FieldSetBuilder("fieldSet")); builders.add(new TreeBuilder("tree")); builders.add(new TreeDirBuilder("dir")); return builders; } /** * 建立Layout建構器 * * @return List */ public static List createLayoutBuilders() { List<Builder> builders = new gkList(); builders.add(new RowDataBuilder("row")); builders.add(new BorderLayoutDataBuilder("border")); builders.add(new TableDataBuilder("table")); builders.add(new FormDataBuilder("formd")); builders.add(new BoxLayoutDataBuilder("box")); return builders; } /** * 建立表單欄位建構器 * * @return List */ public static List createFormFieldBuilders() { List<FormFieldBuilder> builders = new gkList(); builders.add(new LabelFieldBuilder("label")); builders.add(new TxtFieldBuilder("txt")); builders.add(new ButtonBuilder("btn")); builders.add(new NumFieldBuilder("num")); builders.add(new AdaptFieldBuilder("adapt")); builders.add(new CheckBoxBuilder("check,checkBox")); builders.add(new RadioBuilder("radio,radioBox")); builders.add(new TextAreaBuilder("textArea")); builders.add(new DateFieldBuilder("date")); builders.add(new TimeFieldBuilder("time")); builders.add(new YMFieldBuilder("ym")); builders.add(new DateRangeFieldBuilder("dateRange")); builders.add(new ComboBoxBuilder("combo,comboBox")); builders.add(new SliderFieldBuilder("slider")); builders.add(new SpinnerFieldBuilder("spin")); builders.add(new ImageFieldBuilder("img")); builders.add(new TriggerFieldBuilder("trigger")); // 以下builder為form有,grid沒有 builders.add(new FileUploadFieldBuilder("file")); return builders; } /** * 建立清單欄位建構器 * * @return List */ public static List createGridFieldBuilders() { List<GridFieldBuilder> builders = new gkList(); builders.add(new GLabelFieldBuilder("label")); builders.add(new GTxtFieldBuilder("txt")); builders.add(new GButtonBuilder("btn")); builders.add(new GNumFieldBuilder("num")); builders.add(new GAdaptFieldBuilder("adapt")); builders.add(new GCheckBoxBuilder("check,checkBox")); builders.add(new GRadioBuilder("radio,radioBox")); builders.add(new GTextAreaBuilder("textArea")); builders.add(new GDateFiledBuilder("date")); builders.add(new GTimeFieldBuilder("time")); builders.add(new GYMFiledBuilder("ym")); builders.add(new GDateRangeFieldBuilder("dateRange")); builders.add(new GComboBoxBuilder("combo,comboBox")); builders.add(new GSliderFieldBuilder("slider")); builders.add(new GSpinnerFieldBuilder("spin")); builders.add(new GImageFieldBuilder("img")); builders.add(new GTriggerFieldBuilder("trigger")); // 以下builder為grid有,form沒有 builders.add(new GICBuilder("ic")); return builders; } }