Changeset 3759
- Timestamp:
- Jul 29, 2010, 1:57:24 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/api/waf/src/se/lu/thep/waf/HtmlTagWriter.java
r2381 r3759 76 76 if (tag instanceof CData) 77 77 { 78 // No tags for CData79 // writer.print(getIndentString());80 78 writer.print(((CData) tag).getStr()); 81 79 } … … 83 81 { 84 82 writeStartTag(writer, tag); 85 List<Tag<?>> elements = tag.getElements(); 86 if (elements != null && elements.size() > 0) 83 } 84 List<Tag<?>> elements = tag.getElements(); 85 // Write child elements 86 if(elements != null && elements.size() > 0) 87 { 88 for (Tag child : elements) 87 89 { 88 // Close start tag 89 if (elements.get(0).getClass().equals(CData.class)) 90 writer.print(">"); 91 else 92 writer.println(">"); 93 // Write child elements 94 for (Tag child : elements) 95 { 96 indent++; 97 child.draw(this); 98 } 99 writeEndTag(writer, tag); 90 indent++; 91 child.draw(this); 100 92 } 101 else 102 103 // Close start tag 104 writer.println("/>");105 93 if(!(tag instanceof CData)) 94 { 95 writeEndTag(writer, tag); 96 indent--; 97 } 106 98 } 107 indent--;108 99 } 109 100 … … 117 108 sb.append(tag.getName()); 118 109 writeAttributes(sb, tag); 110 if (tag.getElements() != null && tag.getElements().size() > 0) 111 { 112 if (tag.getElements().get(0).getClass().equals(CData.class)) 113 sb.append(">"); 114 else 115 sb.append("\n>"); 116 } 117 else 118 { 119 sb.append("/>"); 120 } 119 121 writer.print(sb.toString()); 120 122 } -
trunk/build.xml
r3678 r3759 139 139 description="Same as 'ant clean compile hibernate dist-jar'" 140 140 > 141 <antcall target="clean"/>141 <!-- <antcall target="clean"/> --> 142 142 <ant dir="api/core" 143 143 target="set-version" -
trunk/client/servlet/src/org/proteios/gui/web/GUIConverter.java
r3711 r3759 72 72 import org.proteios.gui.table.TreeRow; 73 73 74 import se.lu.thep.waf.constraints.VString; 74 75 import se.lu.thep.waf.dom.html.A; 75 76 import se.lu.thep.waf.dom.html.Area; … … 1220 1221 public Tag convert(org.proteios.gui.form.Form w) 1221 1222 { 1222 Tag layout = hf.newLayoutDiv(); 1223 boolean clearForm = false; 1223 Tag layout; 1224 boolean clearForm; 1225 Toolbar tb; 1226 Form form; 1227 Input field; 1228 AbstractLink defaultAction; 1229 1230 layout = hf.newLayoutDiv(); 1231 clearForm = false; 1224 1232 if (currentFormTag == null) 1225 1233 { … … 1231 1239 "display: none")); 1232 1240 } 1233 Toolbartb = w.getToolbar();1241 tb = w.getToolbar(); 1234 1242 // This might cause a failure if the currentFormTag is not a Form 1235 Formform = (Form) currentFormTag;1243 form = (Form) currentFormTag; 1236 1244 if (tb != null) 1237 1245 { 1238 Inputfield = form.newInput().setId(w.getId() + "action").setName(1246 field = form.newInput().setId(w.getId() + "action").setName( 1239 1247 "action").setType("hidden"); 1240 1248 if (tb.getDefaultAction() != null) 1241 1249 { 1242 AbstractLinkdefaultAction = tb.getDefaultAction();1250 defaultAction = tb.getDefaultAction(); 1243 1251 if (defaultAction instanceof ActionLink) 1244 1252 field.setValue(((ActionLink) defaultAction).getActionId()); … … 1274 1282 private Tag convertFieldset(org.proteios.gui.form.Fieldset fs, Form form) 1275 1283 { 1276 Fieldset fieldset = new Fieldset(); 1284 Fieldset fieldset; 1285 Tag legend, title, fields, table, row, helpC, input; 1286 String subtitle; 1287 org.proteios.gui.form.Field field; 1288 1289 fieldset = new Fieldset(); 1277 1290 // Fieldset legend 1278 Taglegend = fieldset.newDiv().setClass("legend");1279 Tagtitle = new Div().addClass("title");1291 legend = fieldset.newDiv().setClass("legend"); 1292 title = new Div().addClass("title"); 1280 1293 if (fs.getLegendTitle() != null) 1281 1294 { 1282 1295 title.add(new CData( 1283 1296 locale.get(fs.getLegendTitle().getTitle()) + " ")); 1284 Stringsubtitle = fs.getLegendTitle().getSubtitle();1297 subtitle = fs.getLegendTitle().getSubtitle(); 1285 1298 if (subtitle != null) 1286 1299 { … … 1290 1303 } 1291 1304 legend.add(title.getRoot()); 1292 // 1293 Tag fields = fieldset.newDiv().setClass("fields"); 1305 1306 fields = fieldset.newDiv().setClass("fields"); 1307 table = fields.newTable(); 1294 1308 for (org.proteios.gui.GUIElement f : fs.getFields()) 1295 1309 { 1296 if (f instanceof TextField) 1297 { 1298 fields.add(convert((TextField<?>) f)); 1299 continue; 1300 } 1301 if (f instanceof PasswordField) 1302 { 1303 fields.add(convert((PasswordField) f)); 1304 continue; 1305 } 1306 if (form != null) 1307 { 1308 if (f instanceof FileField) 1309 { 1310 form.setMultipart(); 1311 fields.add(convert((FileField) f)); 1312 continue; 1313 } 1314 } 1315 if (f instanceof TextArea) 1316 { 1317 fields.add(convert((TextArea) f)); 1318 continue; 1319 } 1320 if (f instanceof org.proteios.gui.form.Select) 1321 { 1322 fields.add(convert((org.proteios.gui.form.Select) f)); 1323 continue; 1324 } 1325 if (f instanceof org.proteios.gui.form.Checkbox) 1326 { 1327 fields.add(convert((org.proteios.gui.form.Checkbox) f, true)); 1328 continue; 1329 } 1310 row = table.newTr(); 1311 // Label cell 1312 if(f instanceof org.proteios.gui.form.Field) 1313 { 1314 field = (org.proteios.gui.form.Field) f; 1315 row.newTd().addClass("label").newCData(locale.get(field.getLabel())); 1316 input = null; 1317 // Field cell 1318 if (f instanceof TextField) 1319 { 1320 input = convert((TextField<?>) f); 1321 if(((TextField<?>)field).isHidden()) 1322 { 1323 row.addClass("hidden"); 1324 } 1325 } 1326 else if (f instanceof PasswordField) 1327 { 1328 input = convert((PasswordField) f); 1329 } 1330 else if (f instanceof FileField) 1331 { 1332 if (form != null) 1333 { 1334 form.setMultipart(); 1335 } 1336 input = convert((FileField) f); 1337 } 1338 else if (f instanceof TextArea) 1339 { 1340 input = convert((TextArea) f); 1341 } 1342 else if (f instanceof org.proteios.gui.form.Select) 1343 { 1344 input = convert((org.proteios.gui.form.Select) f); 1345 } 1346 else if (f instanceof org.proteios.gui.form.Checkbox) 1347 { 1348 input = convert((org.proteios.gui.form.Checkbox) f, false); 1349 } 1350 1351 if (field.getParam().isRequired() || 1352 (field.getParam() instanceof VString && ((VString) field.getParam()).getMinCharacterLength() > 0)) 1353 { 1354 input.addClass("required"); 1355 } 1356 if(input != null) 1357 { 1358 row.newTd().add(input); 1359 } 1360 1361 // Help and error field 1362 helpC = row.newTd(); 1363 helpC.newDiv().addClass("error").add(hf.getFieldError(field)); 1364 helpC.newDiv().addClass("help").newCData(field.getHelp()); 1365 } 1330 1366 if (f instanceof org.proteios.gui.table.Table) 1331 1367 { 1332 fields.add(convert((org.proteios.gui.table.Table) f));1333 continue;1334 } 1368 row.newTd().add(convert((org.proteios.gui.table.Table) f)); 1369 } 1370 1335 1371 } 1336 1372 return fieldset; … … 1346 1382 if (f.isDisabled()) 1347 1383 in.disable(); 1348 Tag field = hf.newField(f); 1349 field.add(in); 1350 field.add(hf.getFieldError(f)); 1351 return field; 1352 } 1384 return in; 1385 } 1386 1353 1387 1354 1388 1355 1389 public Tag convert(org.proteios.gui.form.Select<?> select) 1356 1390 { 1357 Tag field = hf.newField(select);1391 Tag field = new CData(""); 1358 1392 Select selectTag = field.newSelect().setId(select.getId()).setName( 1359 1393 select.getName()); … … 1711 1745 in.addClass("disabled"); 1712 1746 } 1713 Tag field = hf.newField(f); 1714 field.add(in); 1715 if (request != null) 1716 { 1717 field.add(hf.getFieldError(f)); 1718 } 1719 return field; 1720 } 1721 1722 1723 private <D extends Object> Tag<?> convert( 1724 org.proteios.gui.form.TextField<D> f) 1725 { 1726 // Format the value 1727 String value = null; 1728 if (f.getValue() != null) 1747 return in; 1748 } 1749 1750 1751 private String formatedValue(TextField<?> f) 1752 { 1753 String value; 1754 value = null; 1755 if (f != null && f.getValue() != null) 1729 1756 { 1730 1757 if (f.getValue() instanceof Date) … … 1733 1760 value = f.getValue().toString(); 1734 1761 } 1735 Input in = null; 1736 // Use input 1737 String type = "text"; 1762 return value; 1763 } 1764 1765 1766 private <D extends Object> Tag<?> convert( 1767 org.proteios.gui.form.TextField<D> f) 1768 { 1769 String value, type; 1770 Tag table, row, labelC, inC, helpC, container; 1771 Input in; 1772 Tag<?> field; 1773 1774 // Format the value 1775 value = formatedValue(f); 1776 container = new CData(""); 1777 1778 in = null; 1779 type = "text"; 1738 1780 if (f.isHidden() || f.isDisabled()) 1739 1781 { … … 1743 1785 in.setSize(f.getCharWidth()); 1744 1786 if (value != null) 1787 { 1745 1788 in.setValue(value); 1789 } 1746 1790 in.setId(f.getId()); 1747 Tag<?> field = null; 1748 if (f.isHidden()) 1749 { 1750 field = in; 1751 field.addClass("hidden"); 1752 } 1753 else 1754 { 1755 field = hf.newField(f); 1756 field.add(in); 1757 } 1758 if (request != null) 1759 { 1760 field.add(hf.getFieldError(f)); 1761 } 1762 if(!f.isHidden()) 1763 { 1764 // Add help text to this field 1765 field.newSpan().addClass("help").newCData(f.getHelp()); 1791 container.add(in); 1792 if (f.isDisabled()) 1793 { 1794 container.newCData(value); 1766 1795 } 1767 if (f.isDisabled() && !f.isHidden()) 1768 { 1769 if (value == null) 1770 value = ""; 1771 field.newCData(value); 1772 } 1773 return field; 1796 return container; 1774 1797 } 1775 1798 … … 1780 1803 "password").setSize(f.getCharWidth()); 1781 1804 if (f.getValue() != null) 1805 { 1782 1806 in.setValue(f.getValue().toString()); 1783 Tag<?> field = hf.newField(f); 1784 field.add(in); 1785 field.add(hf.getFieldError(f)); 1786 return field; 1807 } 1808 return in; 1787 1809 } 1788 1810 -
trunk/client/servlet/www/static/css/colors.css
r3711 r3759 120 120 Required fields 121 121 *************************************************/ 122 div.form form fieldset div.fields div.required input 122 div.form form fieldset div.fields div.required input, input.required 123 123 { 124 124 background-color: #d0f0ff; -
trunk/client/servlet/www/static/css/layout2.jsp
r3712 r3759 234 234 } 235 235 236 div.form form fieldset div.fields div.field 236 div.form form fieldset div.fields table.field 237 { 238 border: 0px; 239 border-collapse: collapsed; 240 } 241 242 div.form form fieldset div.fields .field 237 243 { 238 244 float:left; … … 246 252 } 247 253 248 div.form form fieldset div.fields div.field label254 div.form form fieldset div.fields .field label 249 255 { 250 256 float: left; … … 252 258 } 253 259 254 div.form form fieldset div.fields div.fieldinput,255 div.form form fieldset div.fields div.fieldselect,256 div.form form fieldset div.fields div.fieldtextarea260 div.form form fieldset input, 261 div.form form fieldset select, 262 div.form form fieldset textarea 257 263 { 258 264 border-width: 1px; … … 274 280 { 275 281 width: 100%; 282 } 283 284 div.form form .label 285 { 286 white-space: nowrap; 287 } 288 289 div.form tr.hidden 290 { 291 display: none; 276 292 } 277 293
Note: See TracChangeset
for help on using the changeset viewer.