/******************************************************************************* * Copyright (c) 2012 Google, Inc. * 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: * Google, Inc. - initial API and implementation *******************************************************************************/ package com.windowtester.codegen.generator; import com.windowtester.codegen.assembly.block.CodeBlock; import com.windowtester.codegen.assembly.unit.ImportUnit; import com.windowtester.internal.runtime.IWidgetIdentifier; import com.windowtester.internal.runtime.PropertySet.PropertyMapping; import com.windowtester.recorder.event.IUISemanticEvent; import com.windowtester.recorder.event.user.SemanticComboSelectionEvent; import com.windowtester.recorder.event.user.SemanticFocusEvent; import com.windowtester.recorder.event.user.SemanticListSelectionEvent; import com.windowtester.recorder.event.user.SemanticMenuSelectionEvent; import com.windowtester.recorder.event.user.SemanticMoveEvent; import com.windowtester.recorder.event.user.SemanticResizeEvent; import com.windowtester.recorder.event.user.SemanticShellClosingEvent; import com.windowtester.recorder.event.user.SemanticShellDisposedEvent; import com.windowtester.recorder.event.user.SemanticShellShowingEvent; import com.windowtester.recorder.event.user.SemanticTableSelectionEvent; import com.windowtester.recorder.event.user.SemanticTreeItemSelectionEvent; import com.windowtester.recorder.event.user.SemanticWidgetClosedEvent; import com.windowtester.recorder.event.user.SemanticWidgetSelectionEvent; import com.windowtester.runtime.locator.ILocator; /** * A snippet building strategy object. * */ public interface ICodeBlockBuilder { CodeBlock buildShellClosing(SemanticShellClosingEvent event); CodeBlock buildMove(SemanticMoveEvent event); CodeBlock buildResize(SemanticResizeEvent event); CodeBlock buildFocus(SemanticFocusEvent curr); CodeBlock buildButtonSelect(SemanticWidgetSelectionEvent event); CodeBlock buildMenuSelect(SemanticMenuSelectionEvent event); CodeBlock buildTreeSelect(SemanticTreeItemSelectionEvent event); CodeBlock buildTableSelect(SemanticTableSelectionEvent tableSelection); //TODO: merge with button? CodeBlock buildSelect(SemanticWidgetSelectionEvent event); CodeBlock buildTextEntry(String string); CodeBlock buildKeyEntry(String ctrl, String key); CodeBlock buildKeyEntry(String key); CodeBlock buildFocusChange(IWidgetIdentifier newTarget); CodeBlock build(SemanticListSelectionEvent listSelection); CodeBlock build(SemanticComboSelectionEvent comboSelection); CodeBlock buildDragTo(IUISemanticEvent event); CodeBlock buildMoveTo(IUISemanticEvent event); CodeBlock buildMethodInvocation(String method); CodeBlock buildWaitForShellShowing(SemanticShellShowingEvent event); CodeBlock buildWaitForShellDisposed(SemanticShellDisposedEvent event); ImportUnit getKeyEventImport(); CodeBlock buildAssertion(ILocator locator, PropertyMapping propertyMapping); CodeBlock buildWidgetClosing(SemanticWidgetClosedEvent event); }