Changeset 1199
- Timestamp:
- 10/30/07 15:10:50 (1 year ago)
- Files:
-
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/MasterViewAndDetailEditorGenerator.java (modified) (3 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/editor/DetailEditorGeneratorHelper.java (added)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/editor/DetailEditorModel.java (modified) (4 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/editorinput/DetailEditorInputModel.java (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/view/MasterViewGeneratorHelper.java (added)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/view/MasterViewPartModel.java (modified) (3 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/DetailEditorGenerator.jet (modified) (2 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/DetailEditorInputGenerator.jet (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/MasterViewGenerator.jet (modified) (9 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/DetailEditorGenerator.skeleton (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/DetailEditorInputGenerator.skeleton (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/MasterViewGenerator.skeleton (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/MasterViewAndDetailEditorGenerator.java
r1196 r1199 50 50 51 51 GeneratableClassModel editor = createGeneratableEditor(targetPackage, 52 targetBean, detailComposite );52 targetBean, detailComposite, detailViewModel); 53 53 generatableList.add(editor); 54 54 … … 68 68 targetPackage.getElementName(), 69 69 (IPackageFragmentRoot) targetPackage.getParent(), targetBean, 70 editor, editorInput );70 editor, editorInput, masterViewModel.getVisibleProperties()); 71 71 72 72 return viewPart; … … 75 75 private GeneratableClassModel createGeneratableEditor( 76 76 IPackageFragment targetPackage, TargetBean targetBean, 77 GeneratableClassModel detailComposite) { 77 GeneratableClassModel detailComposite, 78 DetailViewModel detailViewModel) { 78 79 String className = targetBean.getClassName() + "Editor"; 79 80 GeneratableClassModel editor = new DetailEditorModel(className, 80 81 targetPackage.getElementName(), 81 82 (IPackageFragmentRoot) targetPackage.getParent(), targetBean, 82 detailComposite );83 detailComposite, detailViewModel.getPropertyControlFieldPairs()); 83 84 return editor; 84 85 } org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/editor/DetailEditorModel.java
r1190 r1199 12 12 package org.jalcedo.generator.editor.core.internal.editor; 13 13 14 import java.util.List; 15 14 16 import org.eclipse.core.runtime.CoreException; 15 17 import org.eclipse.jdt.core.IPackageFragmentRoot; … … 17 19 import org.jalcedo.generator.beans.GeneratableClassModel; 18 20 import org.jalcedo.generator.beans.TargetBean; 21 import org.jalcedo.generator.masterdetail.core.detail.PropertyControlFieldPair; 19 22 20 23 /** … … 25 28 private TargetBean targetBean; 26 29 private GeneratableClassModel targetComposite; 30 private List<PropertyControlFieldPair> pairs; 27 31 28 32 public DetailEditorModel(String className, String targetPackageName, 29 33 IPackageFragmentRoot root, TargetBean targetBean, 30 GeneratableClassModel targetComposite) { 34 GeneratableClassModel targetComposite, 35 List<PropertyControlFieldPair> pairs) { 31 36 super(className, targetPackageName, root); 32 37 this.targetBean = targetBean; 33 38 this.targetComposite = targetComposite; 39 this.pairs = pairs; 40 } 41 42 public TargetBean getTargetBean() { 43 return targetBean; 44 } 45 46 public GeneratableClassModel getTargetComposite() { 47 return targetComposite; 48 } 49 50 public List<PropertyControlFieldPair> getPropertyControlFieldPairs() { 51 return pairs; 34 52 } 35 53 … … 37 55 protected String createSource() throws CoreException { 38 56 DetailEditorGenerator generator = new DetailEditorGenerator(); 39 return generator.generate(this , targetBean, targetComposite);57 return generator.generate(this); 40 58 } 41 59 org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/editorinput/DetailEditorInputModel.java
r1190 r1199 30 30 } 31 31 32 public TargetBean getTargetBean() { 33 return targetBean; 34 } 35 32 36 @Override 33 37 protected String createSource() throws CoreException { 34 38 DetailEditorInputGenerator generator = new DetailEditorInputGenerator(); 35 return generator.generate(this , targetBean);39 return generator.generate(this); 36 40 } 37 41 org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/view/MasterViewPartModel.java
r1196 r1199 12 12 package org.jalcedo.generator.editor.core.internal.view; 13 13 14 import java.util.List; 15 14 16 import org.eclipse.core.runtime.CoreException; 15 17 import org.eclipse.jdt.core.IPackageFragmentRoot; 16 18 import org.jalcedo.generator.beans.AbstractGeneratableClass; 17 19 import org.jalcedo.generator.beans.GeneratableClassModel; 20 import org.jalcedo.generator.beans.Property; 18 21 import org.jalcedo.generator.beans.TargetBean; 19 22 … … 26 29 private GeneratableClassModel editorModel; 27 30 private GeneratableClassModel editorInputModel; 31 private List<Property> properties; 28 32 29 33 public MasterViewPartModel(String className, String targetPackageName, 30 34 IPackageFragmentRoot root, TargetBean targetBean, 31 35 GeneratableClassModel editorModel, 32 GeneratableClassModel editorInputModel ) {36 GeneratableClassModel editorInputModel, List<Property> properties) { 33 37 super(className, targetPackageName, root); 34 38 this.targetBean = targetBean; 35 39 this.editorModel = editorModel; 36 40 this.editorInputModel = editorInputModel; 41 this.properties = properties; 37 42 43 } 44 45 public TargetBean getTargetBean() { 46 return targetBean; 47 } 48 49 public GeneratableClassModel getEditorModel() { 50 return editorModel; 51 } 52 53 public GeneratableClassModel getEditorInputModel() { 54 return editorInputModel; 55 } 56 57 public List<Property> getProperties() { 58 return properties; 38 59 } 39 60 … … 41 62 protected String createSource() throws CoreException { 42 63 MasterViewGenerator generator = new MasterViewGenerator(); 43 return generator.generate(this, targetBean, editorModel, 44 editorInputModel); 64 return generator.generate(this); 45 65 } 46 66 org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/DetailEditorGenerator.jet
r1190 r1199 5 5 String editorPackageName = editorModel.getPackageName(); 6 6 String editorClassName = editorModel.getClassName(); 7 String modelPackageName = targetBean.getPackageName(); 8 String modelClassName = targetBean.getClassName(); 7 String modelPackageName = editorModel.getTargetBean().getPackageName(); 8 String modelClassName = editorModel.getTargetBean().getClassName(); 9 String compositeClassName = editorModel.getTargetComposite().getClassName(); 10 List<PropertyControlFieldPair> pairs = editorModel.getPropertyControlFieldPairs(); 11 DetailEditorGeneratorHelper helper = new DetailEditorGeneratorHelper(); 9 12 %> 10 13 package <%=editorPackageName%>; … … 71 74 @Override 72 75 public void createPartControl(Composite parent) { 76 final <%=compositeClassName%> detailComposite = new <%=compositeClassName%>(parent, 77 SWT.NONE); 78 79 <% for (PropertyControlFieldPair pair : pairs) { 80 Property p = pair.getProperty(); %> 81 IObservableValue <%=p.getName()%>DetailObservable = BeansObservables 82 .observeValue(model, "<%=p.getName()%>"); 83 <% } %> 84 85 DataBindingContext dbc = new DataBindingContext(); 86 87 <% for (PropertyControlFieldPair pair : pairs) { 88 Property p = pair.getProperty(); 89 ControlField field = pair.getControlField(); %> 90 dbc.bindValue( 91 <%=helper.getObservableValue(field)%>, 92 <%=p.getName()%>DetailObservable, 93 null, null); 94 <% } %> 73 95 74 96 } org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/DetailEditorInputGenerator.jet
r1196 r1199 5 5 String editorInputPackageName = editorInputModel.getPackageName(); 6 6 String editorInputClassName = editorInputModel.getClassName(); 7 String modelPackageName = targetBean.getPackageName();8 String modelClassName = targetBean.getClassName();7 String modelPackageName = editorInputModel.getTargetBean().getPackageName(); 8 String modelClassName = editorInputModel.getTargetBean().getClassName(); 9 9 %> 10 10 package <%=editorInputPackageName%>; org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/MasterViewGenerator.jet
r1196 r1199 5 5 String masterViewPackageName = masterViewModel.getPackageName(); 6 6 String masterViewClassName = masterViewModel.getClassName(); 7 String modelPackageName = targetBean.getPackageName(); 8 String modelClassName = targetBean.getClassName(); 9 String editorPackageName = editorModel.getPackageName(); 10 String editorClassName = editorModel.getClassName(); 11 String editorInputPackageName = editorInputModel.getPackageName(); 12 String editorInputClassName = editorInputModel.getClassName(); 7 String modelPackageName = masterViewModel.getTargetBean().getPackageName(); 8 String modelClassName = masterViewModel.getTargetBean().getClassName(); 9 String editorPackageName = masterViewModel.getEditorModel().getPackageName(); 10 String editorClassName = masterViewModel.getEditorModel().getClassName(); 11 String editorInputPackageName = masterViewModel.getEditorInputModel().getPackageName(); 12 String editorInputClassName = masterViewModel.getEditorInputModel().getClassName(); 13 MasterViewGeneratorHelper helper = new MasterViewGeneratorHelper(); 14 List<Property> masterProperties = masterViewModel.getProperties(); 13 15 %> 14 16 package <%=masterViewPackageName%>; … … 17 19 import java.util.List; 18 20 21 import org.eclipse.core.databinding.beans.BeansObservables; 22 import org.eclipse.core.databinding.observable.list.IObservableList; 23 import org.eclipse.core.databinding.observable.list.WritableList; 24 import org.eclipse.core.databinding.observable.map.IObservableMap; 19 25 import org.eclipse.jface.action.Action; 20 26 import org.eclipse.jface.action.IMenuListener; … … 22 28 import org.eclipse.jface.action.MenuManager; 23 29 import org.eclipse.jface.action.Separator; 24 import org.eclipse.jface.viewers.ArrayContentProvider; 30 import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; 31 import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; 25 32 import org.eclipse.jface.viewers.DoubleClickEvent; 26 33 import org.eclipse.jface.viewers.IDoubleClickListener; 27 34 import org.eclipse.jface.viewers.ISelection; 28 35 import org.eclipse.jface.viewers.IStructuredSelection; 29 import org.eclipse.jface.viewers.LabelProvider; 30 import org.eclipse.jface.viewers.ListViewer; 36 import org.eclipse.jface.viewers.TableViewer; 31 37 import org.eclipse.swt.SWT; 32 38 import org.eclipse.swt.widgets.Composite; 33 39 import org.eclipse.swt.widgets.Menu; 40 import org.eclipse.swt.widgets.TableColumn; 34 41 import org.eclipse.ui.IWorkbenchActionConstants; 35 42 import org.eclipse.ui.PartInitException; … … 42 49 public static final String ID = "<%=masterViewPackageName%>.<%=masterViewClassName%>"; 43 50 44 private ListViewer viewer;45 private List<<%=modelClassName%>> modelList;51 private TableViewer viewer; 52 private IObservableList masterData; 46 53 47 54 private Action addAction; … … 51 58 52 59 public <%=masterViewClassName%>() { 53 54 this.modelList = new ArrayList<<%=modelClassName%>>(); 55 56 } 57 58 public <%=masterViewClassName%>(List<<%=modelClassName%>> modelList) { 59 60 this.modelList = modelList; 60 List<<%=modelClassName%>> modelList = new ArrayList<<%=modelClassName%>>(); 61 this.masterData = new WritableList(modelList, <%=modelClassName%>.class); 62 61 63 } 62 64 … … 66 68 */ 67 69 public void createPartControl(Composite parent) { 68 viewer = new ListViewer(parent, SWT.SINGLE | SWT.H_SCROLL 69 | SWT.V_SCROLL); 70 viewer.setContentProvider(new ArrayContentProvider()); 71 viewer.setLabelProvider(new LabelProvider()); 72 viewer.setInput(modelList); 70 createMasterTable(parent); 71 ObservableListContentProvider masterTableViewerContentProvider = new ObservableListContentProvider(); 72 viewer.setContentProvider(masterTableViewerContentProvider); 73 74 IObservableMap[] attributeMaps = BeansObservables.observeMaps( 75 masterTableViewerContentProvider.getKnownElements(), <%=modelClassName%>.class, 76 <%=helper.getStringArrayOfPropertyName(masterProperties)%>); 77 viewer.setLabelProvider(new ObservableMapLabelProvider(attributeMaps)); 78 79 viewer.setInput(this.masterData); 73 80 74 81 makeActions(); … … 76 83 hookDoubleClickAction(); 77 84 85 } 86 87 private void createMasterTable(Composite parent) { 88 viewer = new TableViewer(parent, SWT.SINGLE | SWT.FULL_SELECTION); 89 90 <% for (Property p : masterProperties) { %> 91 TableColumn <%=p.getName()%>TableColumn = new TableColumn(viewer.getTable(), SWT.NONE); 92 <%=p.getName()%>TableColumn.setWidth(60); 93 <%=p.getName()%>TableColumn.setText("<%=helper.getPropertyDisplayName(p)%>"); 94 <% } %> 78 95 } 79 96 … … 129 146 @Override 130 147 public void run() { 131 148 <%=modelClassName%> newModel = new <%=modelClassName%>(); 149 masterData.add(newModel); 150 viewer.setSelection(new StructuredSelection(newModel)); 132 151 <%=editorInputClassName%> input = new <%=editorInputClassName%>(new <%=modelClassName%>()); 133 152 try { … … 177 196 if (!ss.isEmpty() && ss.getFirstElement() instanceof <%=modelClassName%>) { 178 197 <%=modelClassName%> model = (<%=modelClassName%>) ss.getFirstElement(); 179 modelList.remove(model); 180 viewer.refresh(); 198 masterData.remove(model); 181 199 } 182 200 } org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/DetailEditorGenerator.skeleton
r1190 r1199 9 9 * NEC Soft, Ltd.- initial API and implementation 10 10 *******************************************************************************/ 11 import org.jalcedo.generator.beans.GeneratableClassModel; 12 import org.jalcedo.generator.beans.TargetBean; 11 12 import java.util.List; 13 import org.jalcedo.generator.beans.Property; 14 import org.jalcedo.generator.masterdetail.core.detail.ControlField; 15 import org.jalcedo.generator.masterdetail.core.detail.PropertyControlFieldPair; 13 16 14 17 public class CLASS { 15 18 16 public String generate(DetailEditorModel editorModel, TargetBean targetBean, 17 GeneratableClassModel targetComposite) { 19 public String generate(DetailEditorModel editorModel) { 18 20 return ""; 19 21 } org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/DetailEditorInputGenerator.skeleton
r1190 r1199 10 10 *******************************************************************************/ 11 11 12 import org.jalcedo.generator.beans.TargetBean;13 14 12 public class CLASS { 15 13 16 public String generate(DetailEditorInputModel editorInputModel , TargetBean targetBean) {14 public String generate(DetailEditorInputModel editorInputModel) { 17 15 return ""; 18 16 } org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/MasterViewGenerator.skeleton
r1196 r1199 9 9 * NEC Soft, Ltd.- initial API and implementation 10 10 *******************************************************************************/ 11 import org.jalcedo.generator.beans.GeneratableClassModel; 12 import org.jalcedo.generator.beans.TargetBean; 11 12 import java.util.List; 13 14 import org.jalcedo.generator.beans.Property; 13 15 14 16 public class CLASS { 15 17 16 public String generate(MasterViewPartModel masterViewModel, TargetBean targetBean, 17 GeneratableClassModel editorModel, GeneratableClassModel editorInputModel) { 18 public String generate(MasterViewPartModel masterViewModel) { 18 19 return ""; 19 20 }
