--- RCPTT testcase ---
Format-Version: 1.0
Context-Type: org.eclipse.rcptt.ctx.ecl
Element-Name: ECL_DiagramNavigation
Element-Type: context
Element-Version: 2.0
Id: _diagramnavigation
Runtime-Version: 2.2.0.201611022324
Save-Time: 12/2/16 3:40 PM

------=_.ecl.context-718f04b4-ed39-33e3-af62-0995e4561998
Content-Type: text/ecl
Entry-Name: .ecl.context

// This function selects a named edit part in the diagram
proc "select-edit-part" [val x] [val y] [val name ""] [val className ""] [val text ""] [val height] [val width]
{
	
	with [if [$name | not-eq ""] -then {get-edit-part -name $name } -else 
		  {
			if [$className | not-eq ""] -then {get-edit-part -className $className} -else
			{
				if [$text | not-eq ""] -then {get-edit-part -text $text} -else {}
		  }}] {
        mouse-press $x $y button1 -height $height -width $width
        mouse-release $x $y button1 -height $height -width $width
    }
}

proc "select-target-connection" [val x] [val y] [val sourceName] [val index 0] [val height] [val width]
{
	with [get-edit-part -name $sourceName | get-target-connection $index] {
        mouse-press $x $y button1 -height $height -width $width
        mouse-release $x $y button1 -height $height -width $width
    }
}

proc "close-diagram" [val editorName][val diagramName]
{
	with [get-editor $editorName | get-tab-folder] {
    	with [get-tab-item $diagramName] {
    		click
	    	close
    	}
	}
}

proc "close-all-diagrams" [val editorName]
{
	with [get-editor $editorName | get-tab-folder] {
	    get-tab-item Welcome | click
	    with [get-menu -path "Close All Diagrams"]{
	    	if [is-disabled | not]{
		    	click
	    	}
	    }
	}
}

------=_.ecl.context-718f04b4-ed39-33e3-af62-0995e4561998--
