| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -20,11 +20,13 @@ import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.eclipse.e4.ui.workbench.modeling.EModelService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.eclipse.jface.viewers.ISelection;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.eclipse.jface.viewers.IStructuredSelection;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.eclipse.osgi.util.NLS;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.minres.scviewer.database.BitVector;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.minres.scviewer.database.DoubleVal;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.minres.scviewer.database.WaveformType;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.minres.scviewer.database.ui.TrackEntry;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.minres.scviewer.e4.application.Messages;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.minres.scviewer.e4.application.parts.WaveformViewer;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				public class WaveformPopupMenuContribution {
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -86,14 +88,15 @@ public class WaveformPopupMenuContribution {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							ISelection sel = wfv.getSelection();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							TrackEntry elem = getSingleTrackEntry(sel);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							if(selHasBitVector(sel, false)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, "hex", TrackEntry.ValueDisplay.DEFAULT, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, "unsigned", TrackEntry.ValueDisplay.UNSIGNED, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, "signed", TrackEntry.ValueDisplay.SIGNED, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_0, TrackEntry.ValueDisplay.BINARY, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_1, TrackEntry.ValueDisplay.DEFAULT, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_2, TrackEntry.ValueDisplay.UNSIGNED, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addValueMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_3, TrackEntry.ValueDisplay.SIGNED, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								items.add(MMenuFactory.INSTANCE.createMenuSeparator());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addWaveMenuItem(items, application, modelService, "bit vector", TrackEntry.WaveDisplay.DEFAULT, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								addWaveMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_4, TrackEntry.WaveDisplay.DEFAULT, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							}						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							addWaveMenuItem(items, application, modelService, "analog step-wise", TrackEntry.WaveDisplay.STEP_WISE, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							addWaveMenuItem(items, application, modelService, "analog continous", TrackEntry.WaveDisplay.CONTINOUS, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							addWaveMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_5, TrackEntry.WaveDisplay.STEP_WISE, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							addWaveMenuItem(items, application, modelService, Messages.WaveformPopupMenuContribution_6, TrackEntry.WaveDisplay.CONTINOUS, elem);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -102,13 +105,13 @@ public class WaveformPopupMenuContribution {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						MHandledMenuItem item = MMenuFactory.INSTANCE.createHandledMenuItem();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setType(ItemType.RADIO);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setSelected(elem != null && elem.valueDisplay == value);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setLabel("Show as "+label);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setContributorURI("platform:/plugin/com.minres.scviewer.e4.application");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						List<MCommand> cmds = modelService.findElements(application, "com.minres.scviewer.e4.application.command.changevaluedisplay", MCommand.class, null);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if(cmds.size()!=1) System.err.println("No command found!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setLabel(NLS.bind(Messages.WaveformPopupMenuContribution_7, label));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setContributorURI("platform:/plugin/com.minres.scviewer.e4.application"); //$NON-NLS-1$
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						List<MCommand> cmds = modelService.findElements(application, "com.minres.scviewer.e4.application.command.changevaluedisplay", MCommand.class, null); //$NON-NLS-1$
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if(cmds.size()!=1) System.err.println(Messages.WaveformPopupMenuContribution_10);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						else item.setCommand(cmds.get(0));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						MParameter param = MCommandsFactory.INSTANCE.createParameter();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						param.setName("com.minres.scviewer.e4.application.commandparameter.changevaluedisplay");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						param.setName("com.minres.scviewer.e4.application.commandparameter.changevaluedisplay"); //$NON-NLS-1$
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						param.setValue(value.toString());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.getParameters().add(param);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						items.add(item);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -119,13 +122,13 @@ public class WaveformPopupMenuContribution {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						MHandledMenuItem item = MMenuFactory.INSTANCE.createHandledMenuItem();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setType(ItemType.RADIO);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setSelected(elem != null && elem.waveDisplay==value);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setLabel("Render "+label);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setContributorURI("platform:/plugin/com.minres.scviewer.e4.application");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						List<MCommand> cmds = modelService.findElements(application, "com.minres.scviewer.e4.application.command.changewavedisplay", MCommand.class, null);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if(cmds.size()!=1) System.err.println("No command found!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setLabel(NLS.bind(Messages.WaveformPopupMenuContribution_12, label));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.setContributorURI("platform:/plugin/com.minres.scviewer.e4.application"); //$NON-NLS-1$
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						List<MCommand> cmds = modelService.findElements(application, "com.minres.scviewer.e4.application.command.changewavedisplay", MCommand.class, null); //$NON-NLS-1$
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if(cmds.size()!=1) System.err.println(Messages.WaveformPopupMenuContribution_15);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						else item.setCommand(cmds.get(0));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						MParameter param = MCommandsFactory.INSTANCE.createParameter();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						param.setName("com.minres.scviewer.e4.application.commandparameter.changewavedisplay");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						param.setName("com.minres.scviewer.e4.application.commandparameter.changewavedisplay"); //$NON-NLS-1$
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						param.setValue(value.toString());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						item.getParameters().add(param);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						items.add(item);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				 
 |