Changeset 1244

Show
Ignore:
Timestamp:
11/07/07 15:20:36 (1 year ago)
Author:
yuanying
Message:

fix: #194, #195

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • org.jalcedo.generator/trunk/org.jalcedo.generator.masterdetail.core/templates/MasterDetailCompositeGenerator.jet

    r1141 r1244  
    115115            .observeSingleSelection(masterTableViewer); 
    116116 
    117         <% for (PropertyControlFieldPair pair : detailPairs) {  
    118             Property p = pair.getProperty(); %> 
    119         IObservableValue <%=p.getName()%>DetailObservable = BeansObservables 
     117        <% 
     118        Map<Property, String> pMap = new HashMap<Property, String>(); 
     119        for (PropertyControlFieldPair pair : detailPairs) {  
     120            Property p = pair.getProperty();  
     121            if (pMap.containsKey(p)) { 
     122                continue; 
     123            } 
     124            String valueName = p.getName() + "DetailObservable"; 
     125            pMap.put(p, valueName); 
     126        %> 
     127        IObservableValue <%=valueName%> = BeansObservables 
    120128        .observeDetailValue(Realm.getDefault(), selection, "<%=p.getName()%>", <%=p.getFQTN()%>.class); 
    121129 
     
    130138        dbc.bindValue( 
    131139                <%=helper.getObservableValue(field)%>, 
    132                 <%=p.getName()%>DetailObservable,  
     140                <%=pMap.get(p)%>,  
    133141                null, null); 
    134142        <% } %> 
     
    227235        detailGroup.setLayout(gridLayout1); 
    228236 
    229         <% for (PropertyControlFieldPair pair : detailPairs) {  
     237        <%  
     238        for (int i=0; i<detailPairs.size(); i++) {  
     239            PropertyControlFieldPair pair = detailPairs.get(i); 
    230240            Property p = pair.getProperty(); 
    231241            ControlField f = pair.getControlField(); 
     242             
     243            String gridDataName = p.getName() + i + "GridData"; 
     244            String labelName = p.getName() + i + "Label"; 
    232245        %> 
    233         GridData <%=p.getName()%>GridData = new GridData(); 
    234         <%=p.getName()%>GridData.grabExcessHorizontalSpace = true; 
    235         <%=p.getName()%>GridData.horizontalAlignment = GridData.FILL; 
    236         <%=p.getName()%>GridData.verticalAlignment = GridData.CENTER; 
    237         Label <%=p.getName()%>Label = new Label(detailGroup, SWT.NONE); 
    238         <%=p.getName()%>Label.setText("<%=helper.getPropertyDisplayName(p)%>"); 
     246        GridData <%=gridDataName%> = new GridData(); 
     247        <%=gridDataName%>.grabExcessHorizontalSpace = true; 
     248        <%=gridDataName%>.horizontalAlignment = GridData.FILL; 
     249        <%=gridDataName%>.verticalAlignment = GridData.CENTER; 
     250        Label <%=labelName%> = new Label(detailGroup, SWT.NONE); 
     251        <%=labelName%>.setText("<%=helper.getPropertyDisplayName(p)%>"); 
    239252        <%=f.getName()%> = <%=helper.getConstructor("detailGroup", f.getControlStyle())%>; 
    240         <%=f.getName()%>.setLayoutData(<%=p.getName()%>GridData); 
     253            <% if (f.getControlStyle() instanceof ViewerStyle) { %> 
     254        <%=f.getName()%>.getControl().setLayoutData(<%=gridDataName%>); 
     255            <% } else { %> 
     256        <%=f.getName()%>.setLayoutData(<%=gridDataName%>); 
     257            <% } %> 
    241258        <% } %> 
    242259    } 
  • org.jalcedo.generator/trunk/org.jalcedo.generator.masterdetail.core/templates/skeleton/MasterDetailCompositeGenerator.skeleton

    r1144 r1244  
    1111 
    1212import java.util.List; 
     13import java.util.Map; 
     14import java.util.HashMap; 
    1315 
    1416import org.jalcedo.generator.beans.Property; 
    1517import org.jalcedo.generator.beans.TargetBean; 
     18import org.jalcedo.generator.masterdetail.core.controls.ViewerStyle; 
    1619import org.jalcedo.generator.masterdetail.core.detail.ControlField; 
    1720import org.jalcedo.generator.masterdetail.core.detail.PropertyControlFieldPair;