/** * Adds the given execution statement to the lifeline view it covers. * * @param executionStatement the {@link ExecutionStatement} to add */ private void addStatementView(ExecutionStatement executionStatement) { Lifeline lifeline = executionStatement.getCovered().get(0); LifelineView lifelineView = lifelines.get(lifeline); int modelIndex = getModelIndex(executionStatement); // Currently we assume that the statements specification is always an opaque expression. // If this changes we need to adaptively get the actual value. TextView textView = new TextView(executionStatement, RamPackage.Literals.EXECUTION_STATEMENT__SPECIFICATION); textView.setNoFill(false); textView.setNoStroke(false); textView.setFillColor(Colors.MESSAGE_STATEMENT_FILL_COLOR); ITextViewHandler textViewHandler = HandlerFactoryMessageView.INSTANCE.getExecutionStatementHandler(); textView.registerTapProcessor(textViewHandler); textView.registerInputProcessor( new TapAndHoldProcessor(RamApp.getApplication(), Constants.TAP_AND_HOLD_DURATION)); textView.addGestureListener(TapAndHoldProcessor.class, textViewHandler); textView.addGestureListener( TapAndHoldProcessor.class, new TapAndHoldVisualizer(RamApp.getApplication(), RamApp.getActiveScene().getCanvas())); textView.setPlaceholderText(Strings.PH_SPECIFY_STATEMENT); addChild(textView); lifelineView.addStatement(textView, executionStatement, modelIndex); fragments.put(executionStatement, textView); layoutMessageView(); }
@Override protected void registerInputProcessors() { registerInputProcessor(new PanProcessorTwoFingers(RamApp.getApplication())); registerInputProcessor(new RightClickDragProcessor(RamApp.getApplication())); registerInputProcessor(new ZoomProcessor(RamApp.getApplication())); registerInputProcessor(new MouseWheelProcessor(RamApp.getApplication())); }