1 31 32 package org.opencms.workplace.demos.widget; 33 34 import org.opencms.jsp.CmsJspActionElement; 35 import org.opencms.widgets.CmsCheckboxWidget; 36 import org.opencms.widgets.CmsImageGalleryWidget; 37 import org.opencms.widgets.CmsInputWidget; 38 import org.opencms.widgets.CmsTextareaWidget; 39 import org.opencms.widgets.CmsVfsFileWidget; 40 import org.opencms.workplace.CmsWidgetDialog; 41 import org.opencms.workplace.CmsWidgetDialogParameter; 42 import org.opencms.workplace.CmsWorkplaceSettings; 43 44 import java.util.ArrayList ; 45 import java.util.Iterator ; 46 import java.util.List ; 47 48 import javax.servlet.http.HttpServletRequest ; 49 import javax.servlet.http.HttpServletResponse ; 50 import javax.servlet.jsp.PageContext ; 51 52 62 public class CmsAdminWidgetDemo1 extends CmsWidgetDialog { 63 64 65 public static final String DIALOG_TYPE = "widgetdemo1"; 66 67 72 public CmsAdminWidgetDemo1(CmsJspActionElement jsp) { 73 74 super(jsp); 75 } 76 77 84 public CmsAdminWidgetDemo1(PageContext context, HttpServletRequest req, HttpServletResponse res) { 85 86 this(new CmsJspActionElement(context, req, res)); 87 } 88 89 92 public void actionCommit() { 93 94 96 } 97 98 103 public String buildDemo1Form() { 104 105 StringBuffer retValue = new StringBuffer (512); 106 107 try { 108 109 retValue.append("<table class=\"xmlTable\">"); 110 111 Iterator i = getWidgets().iterator(); 112 while (i.hasNext()) { 113 114 CmsWidgetDialogParameter base = (CmsWidgetDialogParameter)i.next(); 116 List sequence = (List )getParameters().get(base.getName()); 117 int count = sequence.size(); 118 119 if ((count < 1) && (base.getMinOccurs() > 0)) { 120 sequence = new ArrayList (); 122 sequence.add(base); 123 } 124 125 Iterator j = sequence.iterator(); 126 while (j.hasNext()) { 127 CmsWidgetDialogParameter param = (CmsWidgetDialogParameter)j.next(); 128 retValue.append("<tr>\n"); 129 retValue.append(getWidget(param)); 130 retValue.append("</tr>\n"); 131 } 132 } 133 134 retValue.append("</table>\n"); 135 136 } catch (Exception e) { 137 e.printStackTrace(System.err); 138 } 139 140 return retValue.toString(); 141 } 142 143 146 protected void defineWidgets() { 147 148 addWidget(new CmsWidgetDialogParameter("stringwidget", new CmsInputWidget())); 149 addWidget(new CmsWidgetDialogParameter("textwidget", new CmsTextareaWidget())); 150 addWidget(new CmsWidgetDialogParameter("boolwidget", new CmsCheckboxWidget())); 151 addWidget(new CmsWidgetDialogParameter("vfsfilewidget", new CmsVfsFileWidget())); 152 addWidget(new CmsWidgetDialogParameter("imagegalwidget", new CmsImageGalleryWidget())); 153 } 154 155 158 protected String [] getPageArray() { 159 160 return new String [] {"page1"}; 161 } 162 163 166 protected void initMessages() { 167 168 addMessages(Messages.get().getBundleName()); 170 addMessages(org.opencms.workplace.demos.Messages.get().getBundleName()); 172 super.initMessages(); 173 } 174 175 178 protected void initWorkplaceRequestValues(CmsWorkplaceSettings settings, HttpServletRequest request) { 179 180 setParamDialogtype(DIALOG_TYPE); 182 183 fillParamValues(request); 185 186 defineWidgets(); 188 fillWidgetValues(request); 189 190 if (DIALOG_SAVE.equals(getParamAction())) { 192 setAction(ACTION_SAVE); 194 } else if (DIALOG_OK.equals(getParamAction())) { 195 setAction(ACTION_CANCEL); 197 } else if (DIALOG_CANCEL.equals(getParamAction())) { 198 setAction(ACTION_CANCEL); 200 } else { 201 setAction(ACTION_DEFAULT); 203 } 204 } 205 } 206 | Popular Tags |