Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 173631 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/tptp/wsdm/tooling/wizard/mrt/internal/CapabilitySelectionWizardPage.java (-9 / +65 lines)
Lines 13-18 Link Here
13
package org.eclipse.tptp.wsdm.tooling.wizard.mrt.internal;
13
package org.eclipse.tptp.wsdm.tooling.wizard.mrt.internal;
14
14
15
import java.util.Arrays;
15
import java.util.Arrays;
16
import java.util.Iterator;
16
import java.util.LinkedList;
17
import java.util.LinkedList;
17
import java.util.List;
18
import java.util.List;
18
19
Lines 101-115 Link Here
101
		{
102
		{
102
			public void checkStateChanged(CheckStateChangedEvent event)
103
			public void checkStateChanged(CheckStateChangedEvent event)
103
			{
104
			{
104
				_selectedCapabilities.clear();
105
				Object selectedelement = event.getElement();
105
				Object[] checkedElements = _capsViewer.getCheckedElements();
106
				setCheckStatus(selectedelement, event.getChecked());
106
				for (int i = 0; i < checkedElements.length; i++)
107
		}});
107
				{
108
		
108
					if (checkedElements[i] instanceof Capability)
109
						_selectedCapabilities.add(checkedElements[i]);
110
				}
111
			}
112
		});
113
	}
109
	}
114
110
115
	/*
111
	/*
Lines 133-138 Link Here
133
		return (Capability[]) _selectedCapabilities
129
		return (Capability[]) _selectedCapabilities
134
				.toArray(new Capability[_selectedCapabilities.size()]);
130
				.toArray(new Capability[_selectedCapabilities.size()]);
135
	}
131
	}
132
    private void setCheckStatus(Object selElement, boolean checkState) {
133
  		Object[] checkedElements = _capsViewer.getCheckedElements();
134
  		if(selElement instanceof Capability){
135
  			Capability selCapability = (Capability)selElement;
136
  			
137
  			// add/remove the capability from the _selectedCapabilities
138
  			boolean found = false;
139
  			for (Iterator it = _selectedCapabilities.iterator(); it.hasNext();) {
140
  				Capability cap = (Capability)it.next();
141
  				if(selCapability.equals(cap)){
142
  					found = true;
143
  					break;
144
  				}
145
  			}  
146
  			if(!found && checkState){
147
  				_selectedCapabilities.add(selCapability);
148
  			}else if(found && !checkState){
149
  				_selectedCapabilities.remove(selCapability);					
150
  			}
151
  			
152
  			Object parent = _contentProvider.getParent(selElement);
153
  			if (_capsViewer.getChecked(parent) && !checkState){
154
  				_capsViewer.setChecked(parent, false);
155
  			}
156
  			else if(!_capsViewer.getChecked(parent) && checkState && allChildrenChecked(parent)){
157
  				_capsViewer.setChecked(parent, true);
158
  			}
159
  			_capsViewer.setChecked(selElement,checkState);
160
  		}else if(selElement instanceof Category){ 
161
  			// if the Category is selected
162
  			Category selCategory = (Category) selElement;
163
  		
164
  			Object[] categoryList = _contentProvider.getChildren(_capsViewer.getInput());
165
  			for (int j=0; j< categoryList.length; j++) {
166
  				Category category = (Category) categoryList[j];
167
				if (category.getName().equals(selCategory.getName())) {
168
					Object[] capabilities = _contentProvider.getChildren(category);
169
					if (capabilities.length > 0) {
170
						for (int caps=0; caps<capabilities.length; caps++){
171
						   setCheckStatus(capabilities[caps], checkState);
172
						}
173
					} else _capsViewer.setChecked(selElement,false);
174
				}
175
			}
176
		}
177
    }
178
    
179
    private boolean allChildrenChecked(Object parent) {
180
    	boolean allChecked = true;
181
    	Object[] children = _contentProvider.getChildren(parent);
182
		if (children.length > 0) {
183
			for (int i=0; i<children.length; i++) {
184
				if (!_capsViewer.getChecked(children[i]))
185
					allChecked = false;
186
			}
187
    	}
188
		else return false;
189
		return allChecked;
190
    }
191
136
192
137
} // end class NewMr3WizardPage
193
} // end class NewMr3WizardPage
138
194
(-)src/org/eclipse/tptp/wsdm/tooling/wizard/mrt/internal/CapabilitySelectionDialog.java (-4 / +70 lines)
Lines 13-18 Link Here
13
package org.eclipse.tptp.wsdm.tooling.wizard.mrt.internal;
13
package org.eclipse.tptp.wsdm.tooling.wizard.mrt.internal;
14
14
15
import java.util.Arrays;
15
import java.util.Arrays;
16
import java.util.Iterator;
16
import java.util.LinkedList;
17
import java.util.LinkedList;
17
import java.util.List;
18
import java.util.List;
18
19
Lines 20-27 Link Here
20
import org.eclipse.jface.action.Action;
21
import org.eclipse.jface.action.Action;
21
import org.eclipse.jface.dialogs.Dialog;
22
import org.eclipse.jface.dialogs.Dialog;
22
import org.eclipse.jface.dialogs.IDialogConstants;
23
import org.eclipse.jface.dialogs.IDialogConstants;
24
import org.eclipse.jface.viewers.CheckStateChangedEvent;
23
import org.eclipse.jface.viewers.CheckboxTreeViewer;
25
import org.eclipse.jface.viewers.CheckboxTreeViewer;
24
import org.eclipse.jface.viewers.DoubleClickEvent;
26
import org.eclipse.jface.viewers.DoubleClickEvent;
27
import org.eclipse.jface.viewers.ICheckStateListener;
25
import org.eclipse.jface.viewers.IDoubleClickListener;
28
import org.eclipse.jface.viewers.IDoubleClickListener;
26
import org.eclipse.jface.viewers.ISelection;
29
import org.eclipse.jface.viewers.ISelection;
27
import org.eclipse.jface.viewers.IStructuredSelection;
30
import org.eclipse.jface.viewers.IStructuredSelection;
Lines 53-59 Link Here
53
	private CheckboxTreeViewer _capsViewer;
56
	private CheckboxTreeViewer _capsViewer;
54
	private CapsTreeContentProvider _contentProvider;
57
	private CapsTreeContentProvider _contentProvider;
55
58
56
	private List SELECTED_WSDLS = new LinkedList();
59
	private List _selectedCapabilities  = new LinkedList();
57
60
58
	/*
61
	/*
59
	 * Constructor which sets the selected capabilities and containerName
62
	 * Constructor which sets the selected capabilities and containerName
Lines 136-142 Link Here
136
		for (int i = 0; i < checkedElements.length; i++)
139
		for (int i = 0; i < checkedElements.length; i++)
137
		{
140
		{
138
			if (checkedElements[i] instanceof Capability)
141
			if (checkedElements[i] instanceof Capability)
139
				SELECTED_WSDLS.add(checkedElements[i]);
142
				_selectedCapabilities.add(checkedElements[i]);
140
		}
143
		}
141
		super.okPressed();
144
		super.okPressed();
142
	}
145
	}
Lines 146-153 Link Here
146
	 */
149
	 */
147
	public Capability[] getSelectedCaps()
150
	public Capability[] getSelectedCaps()
148
	{
151
	{
149
		return (Capability[]) SELECTED_WSDLS
152
		return (Capability[]) _selectedCapabilities 
150
				.toArray(new Capability[SELECTED_WSDLS.size()]);
153
				.toArray(new Capability[_selectedCapabilities .size()]);
151
	}
154
	}
152
155
153
	private void hookAllListeners()
156
	private void hookAllListeners()
Lines 173-177 Link Here
173
				doubleClickAction.run();
176
				doubleClickAction.run();
174
			}
177
			}
175
		});
178
		});
179
		
180
		_capsViewer.addCheckStateListener(new ICheckStateListener() {
181
			public void checkStateChanged(CheckStateChangedEvent event) {
182
				Object element = event.getElement();
183
				setCheckStatus(element, event.getChecked());
184
				getButton(IDialogConstants.OK_ID).setEnabled(_capsViewer.getCheckedElements().length!=0);
185
			}
186
		});
176
	}
187
	}
188
	
189
    private void setCheckStatus(Object selElement, boolean checkState) {
190
		Object[] checkedElements = _capsViewer.getCheckedElements();
191
		if(selElement instanceof Capability){
192
			Capability selCapability = (Capability)selElement;
193
			// add/remove the capability from the _selectedCapabilities
194
			boolean found = false;
195
			for (Iterator it = _selectedCapabilities.iterator(); it.hasNext();) {
196
				Capability cap = (Capability)it.next();
197
				if(selCapability.equals(cap)){
198
					found = true;
199
					break;
200
				}
201
			}  
202
		
203
			Object parent = _contentProvider.getParent(selElement);
204
			if (_capsViewer.getChecked(parent) && !checkState){
205
				_capsViewer.setChecked(parent, false);
206
			}
207
			else if(!_capsViewer.getChecked(parent) && checkState && allChildrenChecked(parent)){
208
				_capsViewer.setChecked(parent, true);
209
			}
210
			_capsViewer.setChecked(selElement,checkState);
211
		}else if(selElement instanceof Category){ 
212
			// if the Category is selected
213
			Category selCategory = (Category) selElement;
214
		
215
			Object[] categoryList = _contentProvider.getChildren(_capsViewer.getInput());
216
			for (int j=0; j< categoryList.length; j++) {
217
				Category category = (Category) categoryList[j];
218
				if (category.getName().equals(selCategory.getName())) {
219
					Object[] capabilities = _contentProvider.getChildren(category);
220
					if (capabilities.length > 0) {
221
						for (int caps=0; caps<capabilities.length; caps++){
222
						   setCheckStatus(capabilities[caps], checkState);
223
						}
224
					} else _capsViewer.setChecked(selElement,false);
225
				}
226
			}
227
228
		}
229
    }
230
    
231
    private boolean allChildrenChecked(Object parent) {
232
    	boolean allChecked = true;
233
    	Object[] children = _contentProvider.getChildren(parent);
234
		if (children.length > 0) {
235
			for (int i=0; i<children.length; i++) {
236
				if (!_capsViewer.getChecked(children[i]))
237
					allChecked = false;
238
			}
239
    	}
240
		else return false;
241
		return allChecked;
242
    }
177
}
243
}
(-)src/org/eclipse/tptp/wsdm/tooling/editor/mrt/internal/MrtPrototypeForm.java (-11 / +4 lines)
Lines 310-316 Link Here
310
		// Expand All Button
310
		// Expand All Button
311
		_expandAllButton = getToolkit().createButton(_mrtSection,
311
		_expandAllButton = getToolkit().createButton(_mrtSection,
312
				Messages.EXPAND_ALL, SWT.TOP);
312
				Messages.EXPAND_ALL, SWT.TOP);
313
		_expandAllButton.setEnabled(false);
314
		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
313
		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
315
		gd.horizontalSpan = 1;
314
		gd.horizontalSpan = 1;
316
		_expandAllButton.setLayoutData(gd);
315
		_expandAllButton.setLayoutData(gd);
Lines 319-324 Link Here
319
		_collapseAllButton = getToolkit().createButton(_mrtSection,
318
		_collapseAllButton = getToolkit().createButton(_mrtSection,
320
				Messages.COLLAPSE_ALL, SWT.TOP);
319
				Messages.COLLAPSE_ALL, SWT.TOP);
321
		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
320
		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
321
		_collapseAllButton.setEnabled(false);
322
		gd.horizontalSpan = 1;
322
		gd.horizontalSpan = 1;
323
		_collapseAllButton.setLayoutData(gd);
323
		_collapseAllButton.setLayoutData(gd);
324
324
Lines 547-557 Link Here
547
					{
547
					{
548
						_selectedCapForDelete = (Capability) selected;
548
						_selectedCapForDelete = (Capability) selected;
549
						// Default capabilities
549
						// Default capabilities
550
						boolean _deleteableCap = true;
550
						/*boolean _deleteableCap = true;
551
						if (MrtUtils
551
						if (MrtUtils
552
								.isMandatoryCapability(_selectedCapForDelete))
552
								.isMandatoryCapability(_selectedCapForDelete))
553
							_deleteableCap = false;
553
							_deleteableCap = false;
554
						_deleteCapButton.setEnabled(_deleteableCap);
554
							*/
555
						_deleteCapButton.setEnabled(true);
555
					}
556
					}
556
					else
557
					else
557
					{
558
					{
Lines 618-624 Link Here
618
				}
619
				}
619
				// TODO
620
				// TODO
620
				// selectCaps();
621
				// selectCaps();
621
				// _treeViewer.setInput(getAllNamespaces());
622
				_treeViewer.refresh();
622
				_treeViewer.refresh();
623
				_treeViewer.expandAll();
623
				_treeViewer.expandAll();
624
				_expandAllButton.setEnabled(true);
624
				_expandAllButton.setEnabled(true);
Lines 632-649 Link Here
632
		{
632
		{
633
			public void handleEvent(Event event)
633
			public void handleEvent(Event event)
634
			{
634
			{
635
				System.out.println("Capability to delete : "
636
						+ _selectedCapForDelete.getName());
637
				DeleteCapabilityCommand delete = new DeleteCapabilityCommand(
635
				DeleteCapabilityCommand delete = new DeleteCapabilityCommand(
638
						_editingDomain, _mrt, _selectedCapForDelete);
636
						_editingDomain, _mrt, _selectedCapForDelete);
639
				delete.execute();
637
				delete.execute();
640
				// TODO
638
				// TODO
641
				// deleteDefinition(_selectedCapForDelete);
639
				// deleteDefinition(_selectedCapForDelete);
642
				// _allCaps.add(_selectedCapForDelete);
643
				// RemoveCommand rc = new RemoveCommand(_editingDomain, _mrt
644
				// .getImplements(), _selectedCapForDelete.getLocation());
645
				// _editingDomain.getCommandStack().execute(rc);
646
				// _treeViewer.setInput(getAllNamespaces());
647
				_treeViewer.refresh();
640
				_treeViewer.refresh();
648
				_treeViewer.expandAll();
641
				_treeViewer.expandAll();
649
				_expandAllButton.setEnabled(true);
642
				_expandAllButton.setEnabled(true);

Return to bug 173631