Changeset 1196
- Timestamp:
- 10/29/07 19:05:02 (1 year ago)
- Files:
-
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/META-INF/MANIFEST.MF (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/plugin.properties (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/MasterViewAndDetailEditorGenerator.java (added)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/view/MasterViewPartModel.java (moved) (moved from org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/view/MasterViewModel.java) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/DetailEditorInputGenerator.jet (modified) (8 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/MasterViewGenerator.jet (modified) (2 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/MasterViewGenerator.skeleton (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/META-INF/MANIFEST.MF (modified) (2 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/build.properties (modified) (2 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/plugin.properties (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/plugin.xml (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/src/org/jalcedo/generator/editor/internal/resources/messages.properties (modified) (1 diff)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/src/org/jalcedo/generator/editor/templates/ide/MasterViewAndDetailEditorWizard.java (moved) (moved from org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/src/org/jalcedo/generator/editor/templates/ide/MasterDetailWithEditor.java) (5 diffs)
- org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/templates_3.3 (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/META-INF/MANIFEST.MF
r1190 r1196 7 7 org.jalcedo.generator.beans, 8 8 org.eclipse.jdt.core, 9 org.jalcedo.generator.masterdetail.core 9 org.jalcedo.generator.masterdetail.core, 10 org.jalcedo.generator.composite.core 10 11 Eclipse-LazyStart: true 11 12 Bundle-Vendor: %Bundle-Vendor.0 12 13 Bundle-Localization: plugin 14 Export-Package: org.jalcedo.generator.editor.core org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/plugin.properties
r1190 r1196 1 ############################################################################### 2 # Copyright (c) 2007 NEC Soft, Ltd. 3 # All rights reserved. This program and the accompanying materials 4 # are made available under the terms of the Eclipse Public License v1.0 5 # which accompanies this distribution, and is available at 6 # http://www.eclipse.org/legal/epl-v10.html 7 # 8 # Contributors: 9 # NEC Soft, Ltd.- initial API and implementation 10 ############################################################################### 11 12 1 13 #Properties file for org.jalcedo.generator.editor.core 2 14 Bundle-Vendor.0 = jalcedo.org org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/src/org/jalcedo/generator/editor/core/internal/view/MasterViewPartModel.java
r1190 r1196 22 22 * 23 23 */ 24 public class MasterView Model extends AbstractGeneratableClass {24 public class MasterViewPartModel extends AbstractGeneratableClass { 25 25 private TargetBean targetBean; 26 26 private GeneratableClassModel editorModel; 27 27 private GeneratableClassModel editorInputModel; 28 28 29 public MasterView Model(String className, String targetPackageName,29 public MasterViewPartModel(String className, String targetPackageName, 30 30 IPackageFragmentRoot root, TargetBean targetBean, 31 31 GeneratableClassModel editorModel, org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/DetailEditorInputGenerator.jet
r1190 r1196 18 18 private <%=modelClassName%> model; 19 19 20 public <%=editorInputClassName%> Input(){20 public <%=editorInputClassName%>(){ 21 21 this.model = new <%=modelClassName%>(); 22 22 } … … 26 26 } 27 27 28 @Override29 28 public boolean exists() { 30 29 // TODO Auto-generated method stub … … 32 31 } 33 32 34 @Override35 33 public ImageDescriptor getImageDescriptor() { 36 34 // TODO Auto-generated method stub … … 38 36 } 39 37 40 @Override41 38 public String getName() { 42 39 … … 44 41 } 45 42 46 @Override47 43 public IPersistableElement getPersistable() { 48 44 // TODO Auto-generated method stub … … 50 46 } 51 47 52 @Override53 48 public String getToolTipText() { 54 49 … … 56 51 } 57 52 58 @Override59 53 public Object getAdapter(Class adapter) { 60 54 if (adapter == <%=modelClassName%>.class) { … … 68 62 } 69 63 70 @Override71 64 public boolean equals(Object obj) { 72 65 if (super.equals(obj)) { org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/MasterViewGenerator.jet
r1190 r1196 53 53 54 54 this.modelList = new ArrayList<<%=modelClassName%>>(); 55 <%=modelClassName%> model1 = new <%=modelClassName%>();56 model1.setId(1);57 model1.setComment("sample1 ");58 model1.setSummary("sample1");59 this.modelList.add(model1);60 61 <%=modelClassName%> model2 = new <%=modelClassName%>();62 model2.setId(2);63 model2.setComment("sample2");64 model2.setSummary("sample2");65 this.modelList.add(model2);66 55 67 56 } … … 186 175 if (selection instanceof IStructuredSelection) { 187 176 IStructuredSelection ss = (IStructuredSelection) selection; 188 if (!ss.isEmpty() && ss.getFirstElement() instanceof Todo) {177 if (!ss.isEmpty() && ss.getFirstElement() instanceof <%=modelClassName%>) { 189 178 <%=modelClassName%> model = (<%=modelClassName%>) ss.getFirstElement(); 190 todoList.remove(todo);179 modelList.remove(model); 191 180 viewer.refresh(); 192 181 } org.jalcedo.generator/trunk/org.jalcedo.generator.editor.core/templates/skeleton/MasterViewGenerator.skeleton
r1190 r1196 14 14 public class CLASS { 15 15 16 public String generate(MasterView Model masterViewModel, TargetBean targetBean,16 public String generate(MasterViewPartModel masterViewModel, TargetBean targetBean, 17 17 GeneratableClassModel editorModel, GeneratableClassModel editorInputModel) { 18 18 return ""; org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/META-INF/MANIFEST.MF
r1167 r1196 4 4 Bundle-SymbolicName: org.jalcedo.generator.editor.templates;singleton:=true 5 5 Bundle-Version: 0.1.0.v20070927 6 Bundle-Activator: org.jalcedo.generator.editor.templates.Activator7 6 Bundle-Vendor: %Bundle-Vendor.0 8 7 Bundle-Localization: plugin … … 19 18 org.eclipse.pde, 20 19 org.jalcedo.generator.masterdetail.core, 21 org.jalcedo.generator.masterdetail.ui 20 org.jalcedo.generator.masterdetail.ui, 21 org.eclipse.ui.ide, 22 org.jalcedo.generator.composite.core, 23 org.jalcedo.generator.editor.core, 24 org.jalcedo.generator.masterdetail.standard.ui 22 25 Eclipse-LazyStart: true 23 26 Created-By: 1.4.2 (IBM Corporation) org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/build.properties
r1167 r1196 1 1 source.. = src/ 2 2 bin.includes = META-INF/,\ 3 about.html,\4 3 icons/,\ 5 4 .,\ … … 11 10 plugin.properties,\ 12 11 icons/,\ 13 META-INF/,\ 14 about.html 12 META-INF/ org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/plugin.properties
r958 r1196 22 22 newExtension.templates.editor.desc = <p>%template.editor.desc%</p> 23 23 24 template.editor.name = BeanEditor24 template.editor.name = MasterView and DetailEditor 25 25 template.editor.desc = This template creates a basic bean editor. It has the basic components \ 26 26 to edit bean. 27 27 28 28 Bundle-Vendor.0 = jalcedo.org 29 Bundle-Name.0 = Jalcedo Templates29 Bundle-Name.0 = MasterView and DetailEditor Generator org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/plugin.xml
r1167 r1196 7 7 availableAsShortcut="true" 8 8 category="org.jalcedo.generator.templates" 9 class="org.jalcedo.generator.editor.templates.ide.Master DetailWithEditor"9 class="org.jalcedo.generator.editor.templates.ide.MasterViewAndDetailEditorWizard" 10 10 icon="$nl$/icons/etool16/newex_wiz.gif" 11 11 id="org.jalcedo.generator.editor.template" org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/src/org/jalcedo/generator/editor/internal/resources/messages.properties
r1167 r1196 1 ############################################################################### 2 # Copyright (c) 2007 NEC Soft, Ltd. 3 # All rights reserved. This program and the accompanying materials 4 # are made available under the terms of the Eclipse Public License v1.0 5 # which accompanies this distribution, and is available at 6 # http://www.eclipse.org/legal/epl-v10.html 7 # 8 # Contributors: 9 # NEC Soft, Ltd.- initial API and implementation 10 ############################################################################### 11 12 1 13 SelectPropertiesPage.title=Master View Settings 2 14 SelectPropertiesPage.description=Select properties which are shown in Master View. org.jalcedo.generator/trunk/org.jalcedo.generator.editor.templates/src/org/jalcedo/generator/editor/templates/ide/MasterViewAndDetailEditorWizard.java
r1167 r1196 1 /** 2 * 3 */ 1 /******************************************************************************* 2 * Copyright (c) 2007 NEC Soft, Ltd. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * NEC Soft, Ltd.- initial API and implementation 10 *******************************************************************************/ 11 4 12 package org.jalcedo.generator.editor.templates.ide; 5 13 14 import java.lang.reflect.InvocationTargetException; 15 import java.util.List; 16 6 17 import org.eclipse.core.resources.IProject; 18 import org.eclipse.core.runtime.CoreException; 19 import org.eclipse.core.runtime.IProgressMonitor; 7 20 import org.eclipse.jdt.core.IJavaProject; 21 import org.eclipse.jdt.core.IPackageFragment; 8 22 import org.eclipse.jdt.core.JavaCore; 9 import org.eclipse.jface. viewers.IStructuredSelection;10 import org.eclipse.jface. viewers.StructuredSelection;23 import org.eclipse.jface.dialogs.MessageDialog; 24 import org.eclipse.jface.operation.IRunnableWithProgress; 11 25 import org.eclipse.jface.wizard.Wizard; 26 import org.eclipse.pde.core.plugin.IPluginImport; 12 27 import org.eclipse.pde.core.plugin.IPluginModelBase; 13 28 import org.eclipse.pde.ui.IExtensionWizard; 14 import org.eclipse.ui.IWorkbench ;29 import org.eclipse.ui.IWorkbenchWindow; 15 30 import org.eclipse.ui.PlatformUI; 31 import org.eclipse.ui.actions.WorkspaceModifyOperation; 32 import org.jalcedo.generator.beans.Generatable; 33 import org.jalcedo.generator.beans.Property; 16 34 import org.jalcedo.generator.beans.TargetBean; 17 35 import org.jalcedo.generator.beans.TargetBeanFactory; 18 36 import org.jalcedo.generator.beans.ui.wizardpages.InputPackagePage; 19 37 import org.jalcedo.generator.beans.ui.wizardpages.TargetBeanSelectionPage; 38 import org.jalcedo.generator.editor.core.MasterViewAndDetailEditorGenerator; 20 39 import org.jalcedo.generator.editor.internal.resources.Messages; 40 import org.jalcedo.generator.masterdetail.core.MasterDetailViewGenerator; 41 import org.jalcedo.generator.masterdetail.core.detail.DetailViewModel; 42 import org.jalcedo.generator.masterdetail.core.detail.PropertyControlFieldPair; 43 import org.jalcedo.generator.masterdetail.core.master.MasterViewModel; 21 44 import org.jalcedo.generator.masterdetail.ui.detail.PropertyControlPairsPage; 22 45 import org.jalcedo.generator.masterdetail.ui.master.PropertiesPage; 23 46 24 47 /** 48 * MasterView と DetailEditor を生成する wizard 49 * 25 50 * @author nozawa 26 51 * 27 52 */ 28 public class Master DetailWithEditor extends Wizard implements IExtensionWizard {29 private IWorkbench workbench = PlatformUI.getWorkbench();30 // private IStructuredSelection selection;53 public class MasterViewAndDetailEditorWizard extends Wizard implements 54 IExtensionWizard { 55 private IWorkbenchWindow window; 31 56 32 57 private TargetBean targetBean; 33 private I Project project;58 private IJavaProject javaProject; 34 59 private IPluginModelBase pluginModelBase; 35 60 36 61 private InputPackagePage inputPackagePage; 62 private TargetBeanSelectionPage targetBeanSelectionPage; 37 63 private PropertiesPage selectPropertiesPage; 38 64 private PropertyControlPairsPage propertyControlPairsPage; … … 45 71 @Override 46 72 public boolean performFinish() { 47 // TODO Auto-generated method stub 73 74 final MasterViewModel masterViewModel = new MasterViewModelImpl( 75 this.selectPropertiesPage.getVisibleProperties()); 76 final DetailViewModel detailViewModel = new DetailViewModelImpl( 77 this.propertyControlPairsPage.getPropertyControlList()); 78 79 final MasterDetailViewGenerator generator = new MasterViewAndDetailEditorGenerator(); 80 81 IRunnableWithProgress op = new WorkspaceModifyOperation() { 82 83 @Override 84 protected void execute(IProgressMonitor monitor) 85 throws CoreException, InvocationTargetException, 86 InterruptedException { 87 try { 88 doFinish(monitor, inputPackagePage.getPackageFragment(), 89 targetBean, masterViewModel, detailViewModel, 90 generator); 91 } catch (CoreException e) { 92 throw new InvocationTargetException(e); 93 } finally { 94 monitor.done(); 95 } 96 } 97 }; 98 99 try { 100 getContainer().run(false, true, op); 101 } catch (InterruptedException e) { 102 e.printStackTrace(); 103 return false; 104 } catch (InvocationTargetException e) { 105 Throwable realException = e.getTargetException(); 106 MessageDialog.openError(getShell(), "Error", realException 107 .getMessage()); 108 return false; 109 } 110 return true; 111 } 112 113 private void doFinish(IProgressMonitor monitor, 114 IPackageFragment packageFragment, TargetBean targetBean, 115 MasterViewModel masterViewModel, DetailViewModel detailViewModel, 116 MasterDetailViewGenerator generator) throws CoreException { 117 List<Generatable> list = generator.createGeneratables(packageFragment, 118 targetBean, masterViewModel, detailViewModel); 119 120 for (Generatable g : list) { 121 g.generate(monitor, true); 122 } 123 124 this.addRequiredPlugins(pluginModelBase); 125 } 126 127 private void addRequiredPlugins(IPluginModelBase pluginModelBase) 128 throws CoreException { 129 String[] pluginIDs = { "org.eclipse.ui", "org.eclipse.core.runtime", 130 "org.eclipse.ui.forms", "org.eclipse.core.databinding", 131 "org.eclipse.core.databinding.beans", 132 "org.eclipse.jface.databinding" }; 133 for (String pluginId : pluginIDs) { 134 if (!this.hasRequiredPlugin(pluginModelBase, pluginId)) { 135 this.addRequiredPlugin(pluginModelBase, pluginId); 136 } 137 } 138 139 } 140 141 /** 142 * 指定したidのプラグインが RequiredPlugin として登録されているか調べる. 143 * 144 * @param pluginModel 145 * プラグインのモデル 146 * @param pluginId 147 * プラグインのID 148 * @return 登録されている場合 true 149 */ 150 private boolean hasRequiredPlugin(IPluginModelBase pluginModelBase, 151 String pluginId) { 152 IPluginImport[] imports = pluginModelBase.getPluginBase().getImports(); 153 for (IPluginImport import1 : imports) { 154 if (import1.getId().equals(pluginId)) { 155 return true; 156 } 157 } 48 158 return false; 159 } 160 161 private void addRequiredPlugin(IPluginModelBase pluginModelBase, 162 String pluginId) throws CoreException { 163 IPluginImport import1 = pluginModelBase.getPluginFactory() 164 .createImport(); 165 import1.setId(pluginId); 166 pluginModelBase.getPluginBase().add(import1); 49 167 } 50 168 … … 56 174 */ 57 175 public void init(IProject project, IPluginModelBase pluginModel) { 58 this.project = project; 59 176 this.window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 177 this.javaProject = JavaCore.create(project); 178 this.pluginModelBase = pluginModel; 60 179 } 61 180 … … 69 188 targetBean = TargetBeanFactory.createTargetBean(); 70 189 71 this.inputPackagePage = new InputPackagePage( JavaCore.create(project));190 this.inputPackagePage = new InputPackagePage(this.javaProject); 72 191 this.addPage(this.inputPackagePage); 73 192 74 TargetBeanSelectionPage targetBeanSelectionPage = new TargetBeanSelectionPage(75 t his.workbench.getActiveWorkbenchWindow(), targetBean,76 inputPackagePage, getStructuredSelection());193 this.targetBeanSelectionPage = new TargetBeanSelectionPage(this.window, 194 targetBean, inputPackagePage); 195 this.targetBeanSelectionPage.setJavaProject(this.javaProject); 77 196 this.addPage(targetBeanSelectionPage); 78 197 … … 93 212 } 94 213 95 /** 96 * @return 97 */ 98 private IStructuredSelection getStructuredSelection() { 99 IJavaProject javaProject = JavaCore.create(project); 100 if (javaProject != null) { 101 return new StructuredSelection(javaProject); 102 } 103 return null; 104 } 105 214 private class MasterViewModelImpl implements MasterViewModel { 215 private List<Property> visibleProperties; 216 217 public MasterViewModelImpl(List<Property> visibleProperties) { 218 this.visibleProperties = visibleProperties; 219 } 220 221 public List<Property> getVisibleProperties() { 222 return this.visibleProperties; 223 } 224 } 225 226 private class DetailViewModelImpl implements DetailViewModel { 227 private List<PropertyControlFieldPair> pairs; 228 229 public DetailViewModelImpl(List<PropertyControlFieldPair> pairs) { 230 this.pairs = pairs; 231 } 232 233 public List<PropertyControlFieldPair> getPropertyControlFieldPairs() { 234 return this.pairs; 235 } 236 } 106 237 }
