| /******************************************************************************* |
| * Copyright (c) 2017 Cadence Design Systems, Inc. and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Aparna Argade - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.swtbot.generator.framework.rules.complex; |
| |
| import java.util.List; |
| |
| import org.eclipse.swtbot.generator.framework.GenerationComplexRule; |
| import org.eclipse.swtbot.generator.framework.GenerationSimpleRule; |
| import org.eclipse.swtbot.generator.framework.rules.simple.CComboTextModifyRule; |
| |
| public class ModifyCComboComplexRule extends GenerationComplexRule{ |
| |
| private int textIndex; |
| |
| @Override |
| public boolean appliesToPartially(GenerationSimpleRule rule, int i) { |
| if(i==0 && rule instanceof CComboTextModifyRule){ //first event, so we will store some identifier of text |
| this.textIndex = ((CComboTextModifyRule)rule).getTextIndex(); |
| } |
| //check whether CComboTextModifyRule happened on the same text as the first one |
| //if not then it should be processed by another ModifyTextComplexRule |
| return rule instanceof CComboTextModifyRule && ((CComboTextModifyRule)rule).getTextIndex() == textIndex; |
| } |
| |
| @Override |
| public boolean appliesTo(List<GenerationSimpleRule> rules) { |
| for(GenerationSimpleRule r: rules){ |
| if (!(r instanceof CComboTextModifyRule)) { |
| return false; |
| } else if (((CComboTextModifyRule)r).getTextIndex() != this.textIndex){ |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| @Override |
| public List<String> getActions() { |
| return ((CComboTextModifyRule)getInitializationRules().get(getInitializationRules().size()-1)).getActions(); |
| } |
| |
| @Override |
| public List<String> getImports() { |
| // TODO Auto-generated method stub |
| return null; |
| } |
| |
| } |