Revision 2031

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.impl/src/main/java/org/gvsig/tools/dynform/impl/DefaultDynFormLibrary.java
40 40
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_HEIGHT;
41 41
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_LABEL_EMPTY;
42 42
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_READONLY;
43
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_RESIZEWEIGHT;
43 44
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_ROWS;
44 45
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_SEPARATOR;
45 46
import static org.gvsig.tools.dynform.spi.DynFormSPIManager.TAG_DYNFORM_TRANSLATE_EMPTY_TO_NULL;
......
79 80
            dynObjectManager.registerTag(TAG_DYNFORM_TRANSLATE_EMPTY_TO_NULL, null);
80 81
            dynObjectManager.registerTag(TAG_DYNFORM_SEPARATOR, "String value to add a separator previos this field with this.");
81 82
            dynObjectManager.registerTag(TAG_DYNFORM_DROPDOWN, "String value to force the type of dropdown to use, must be 'label' or 'combo'.");
83
            dynObjectManager.registerTag(TAG_DYNFORM_RESIZEWEIGHT, "Integer value between 0 and 100 indicating what the field should expand. A value of 0 indicates that it should not be expanded.");
82 84
        }
83 85

  
84 86
	protected void doPostInitialize() throws LibraryException {
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.impl/src/main/java/org/gvsig/tools/dynform/impl/DefaultJDynForm.java
50 50
import org.gvsig.tools.service.ServiceException;
51 51

  
52 52
import com.jgoodies.forms.builder.DefaultFormBuilder;
53
import com.jgoodies.forms.layout.CellConstraints;
53 54
import com.jgoodies.forms.layout.FormLayout;
54 55
import com.jgoodies.forms.layout.RowSpec;
55 56
import java.util.Collection;
......
149 150
                jfield.setReadOnly(fieldDefinition.isReadOnly());
150 151
            }
151 152
            jfield.addListener(this);
152
            builder.append(jfield.getJLabel(), jfield.asJComponent());
153

  
153
            double resizeWeight = jfield.getResizeWeight();
154
            if( resizeWeight>0 ) {
155
                builder.appendRow(new RowSpec(
156
                    RowSpec.FILL,
157
                    builder.getLayout().getRowSpec(1).getSize(),
158
                    resizeWeight)
159
                );
160
                builder.append(jfield.getJLabel());
161
                builder.add(
162
                        jfield.asJComponent(), 
163
                        new CellConstraints(
164
                            builder.getColumn(), 
165
                            builder.getRow(),
166
                            CellConstraints.FILL,
167
                            CellConstraints.FILL
168
                        )
169
                );
170
                builder.nextColumn();
171
            } else {
172
                builder.append(jfield.getJLabel(), jfield.asJComponent());
173
            }
154 174
            this.components.put(jfield.getName(), jfield);
155 175
        }
156 176
        return builder.getPanel();
......
213 233
                    firstfield = false;
214 234
                    builder.appendSeparator(group);
215 235
                }
216
                builder.append(jfield.getJLabel(), jfield.asJComponent());
217

  
236
                double resizeWeight = jfield.getResizeWeight();
237
                if( resizeWeight>0 ) {
238
                    builder.appendRow(new RowSpec(
239
                        RowSpec.FILL,
240
                        builder.getLayout().getRowSpec(1).getSize(),
241
                        resizeWeight)
242
                    );
243
                    builder.append(jfield.getJLabel());
244
                    builder.add(
245
                            jfield.asJComponent(), 
246
                            new CellConstraints(
247
                                builder.getColumn(), 
248
                                builder.getRow(),
249
                                CellConstraints.FILL,
250
                                CellConstraints.FILL
251
                            )
252
                    );
253
                    builder.nextColumn();
254
                } else {
255
                    builder.append(jfield.getJLabel(), jfield.asJComponent());
256
                }
218 257
                this.components.put(jfield.getName(), jfield);
219 258
            }
220 259
        }
......
276 315
                        builder.appendSeparator(i18n.getTranslation(sep));
277 316
                    }
278 317
                }                
279
                builder.append(jfield.getJLabel(), jfield.asJComponent());
318
                double resizeWeight = jfield.getResizeWeight();
319
                if( resizeWeight>0 ) {
320
                    builder.appendRow(new RowSpec(
321
                        RowSpec.FILL,
322
                        builder.getLayout().getRowSpec(1).getSize(),
323
                        resizeWeight)
324
                    );
325
                    builder.append(jfield.getJLabel());
326
                    builder.add(
327
                            jfield.asJComponent(), 
328
                            new CellConstraints(
329
                                builder.getColumn(), 
330
                                builder.getRow(),
331
                                CellConstraints.FILL,
332
                                CellConstraints.FILL
333
                            )
334
                    );
335
                    builder.nextColumn();
336
                } else {
337
                    builder.append(jfield.getJLabel(), jfield.asJComponent());
338
                }
280 339

  
281 340
                this.components.put(jfield.getName(), jfield);
282 341
            }
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.api/src/main/java/org/gvsig/tools/dynform/JDynFormField.java
86 86
        public void clear();
87 87
        
88 88
        public JDynForm getForm();
89
        
90
        public double getResizeWeight();
89 91
}
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.spi/src/main/java/org/gvsig/tools/dynform/spi/dynformfield/AbstractJDynFormField.java
535 535
        return defaultVaue;
536 536
    }
537 537

  
538
    @Override
539
    public double getResizeWeight() {
540
        Tags tags = this.getDefinition().getTags();
541
        int resizeWeight = tags.getInt(DynFormSPIManager.TAG_DYNFORM_RESIZEWEIGHT, 0);
542
        if( resizeWeight<1 ) {
543
            return 0;
544
        }
545
        if( resizeWeight>100 ) {
546
            return 1;
547
        }
548
        return resizeWeight / 100.0;
549
    }
550

  
551
    
538 552
}
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.dynform/org.gvsig.tools.dynform.spi/src/main/java/org/gvsig/tools/dynform/spi/DynFormSPIManager.java
106 106
    public static final String TAG_DYNFORM_TRANSLATE_EMPTY_TO_NULL = "dynform.translateEmptyToNull";
107 107
    public static final String TAG_DYNFORM_SEPARATOR = "dynform.separator";
108 108
    public static final String TAG_DYNFORM_DROPDOWN = "dynform.dropdown";
109
    public static final String TAG_DYNFORM_RESIZEWEIGHT = "dynform.resizeWeight";
109 110

  
110 111
    public void registerDynFieldFactory(JDynFormFieldFactory factory);
111 112
    

Also available in: Unified diff