<!DOCTYPE html>
<head>
  <title>RCPTT Documentation Center</title>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="https://www.eclipse.org/rcptt/shared/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://www.eclipse.org/rcptt/shared/css/main.css">
  <link rel="stylesheet" href="https://www.eclipse.org/rcptt/shared/css/prism.css">
  <link rel="icon" href="https://www.eclipse.org/rcptt/shared/img/favicon.ico">
  <script src="https://www.eclipse.org/rcptt/shared/js/jquery.min.js"></script>
  <script src="https://www.eclipse.org/rcptt/shared/js/bootstrap.min.js"></script>
  <script src="https://www.eclipse.org/rcptt/shared/js/prism.js"></script>
  <script src="https://www.eclipse.org/rcptt/shared/js/ecl.js"></script>
  <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
    ga('create', 'UA-39589807-5', 'eclipse.org');
    ga('send', 'pageview');
  </script>
</head>
<body>
  <div id="before-footer">
    <header>
      <nav class="navbar navbar-default navbar-static-top" role="navigation">
	<div class="container">
	  
	  <div class="navbar-header">
	    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
	    </button>
	    <span class="navbar-brand">RCPTT Documentation Center</span>
	  </div>
	  <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
	    <ul class="nav navbar-nav">
	      <li  class="active" >
		<a href="https://www.eclipse.org/rcptt/documentation/userguide/getstarted">User Guide</a>
	      </li>
	      <li >
		<a href="https://www.eclipse.org/rcptt/documentation/faq/">FAQ</a>
	      </li>
	      <li>
		<a href="http://eclipse.org/rcptt">Back to RCPTT Main Site</a>
	      </li>
	      <li>
		<a href="http://eclipse.org">Eclipse.org</a>
	      </li>
	    </ul>
	  </div>
      </nav>
    </header>
    <section class="content">
      <div class="container">
	<div class="row">
  <div class="col-sm-3">
    <div class="rcptt-sidebar">
      <ul class="nav">
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/getstarted/">Get Started</a>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/testeditor/">Test Case Editor</a>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/controlpanel">Control Panel</a>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/assertions/">Assertions</a>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/">Eclipse Command Language</a>
	  	  <ul class="nav">
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/new-command-guide/">New ECL Command Guide</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/excel-import-export/">ECL commands for Excel import and export</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/ecl/xml-import-export/">ECL commands for XML import and export</a>
	    </li>
	    	  </ul>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/">Contexts</a>
	  	  <ul class="nav">
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/workspace/">Workspace</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/workbench/">Workbench</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/launch/">Launch</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/preferences/">Preferences</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/parameters/">Parameters</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/group/">Group</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/folder/">Folder</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/default/">Default</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/super/">Super</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/contexts/ecl/">ECL Script</a>
	    </li>
	    	  </ul>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/">Verifications</a>
	  	  <ul class="nav">
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/text/">Text</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/treetable/">Table/Tree</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/errorlog/">Error Log</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/verifications/time/">Time</a>
	    </li>
	    	  </ul>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/procedures/">Procedures and Variables</a>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/runner/">Test Runner</a>
	  	  <ul class="nav">
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/runner/arguments/">Arguments</a>
	    </li>
	    	  </ul>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/maven/">Maven plugin</a>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/">RAP</a>
	  	  <ul class="nav">
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/install/">Install instructions</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/recordReplay/">Record and Replay</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/capability/">Capability Contexts</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/rap-commands/">ECL commands</a>
	    </li>
	    	    <li >
	      <a href="https://www.eclipse.org/rcptt/documentation/userguide/rap/rap-maven/">Maven plugin</a>
	    </li>
	    	  </ul>
	  	</li>
		<li ><a href="https://www.eclipse.org/rcptt/documentation/userguide/integration/test-rail-integration/">Integration with TestRail</a>
	  	</li>
	      </ul>
    </div>
  </div>
  <div class="col-sm-9">
    <h1>Define EMF model for ShowViews command</h1>
    <p></p>

<h3>Create Ecore Model</h3>

<ul>
<li>Create <b>model</b> folder in the root directory of your plugin</li>
<li>Right click on model folder and select <b>New > Other... > Eclipse Modeling Framework > Ecore Model > Next</b></li>
<li>Choose a name for your model. In our case it will be <b>view.ecore</b></li>
<li>Press <span class="uiElement">Finish</span></li>
</ul>

<p>Created model will be opened in the editor and we need to specify package details using Properties View as shown below:</p>

<div class="screenshot">
  <img src="https://www.eclipse.org/rcptt/shared/img/screenshot-new-command-guide-2.png"></img>
</div>

<h3>Add ShowViews command class</h3>

<p>We need to create new EClass for our ECL command.</p>

<ul>
<li>Create new EClass and change its name to <b>ShowViews</b> in the Properties View</li>
<li>Right click your editor and select <span class="uiElement">Load Resource...</span> menu item</li>
<li>In the opened dialog press <span class="uiElement">Browse Workspace...</span> button</li>
<li>Select <b>org.eclipse.rcptt.ecl.core/model/ecl.ecore</b> package:</li>
</ul>

<p><br></p>

<div class="screenshot">
  <img src="https://www.eclipse.org/rcptt/shared/img/screenshot-new-command-guide-3.png"></img>
</div>

<ul>
<li>Add <b>Command</b> from the ECL package as a super type to your ShowViews class.</li>
</ul>

<h3>Add View class</h3>

<p>Now we need one more EClass to represent Eclipse View details.</p>

<ul>
<li>Create EClass called <b>View</b></li>
<li>Add three string attributes to this class: <b>id</b>, <b>label</b> and <b>description</b></li>
</ul>

<div class="screenshot">
  <img src="https://www.eclipse.org/rcptt/shared/img/screenshot-new-command-guide-4.png"></img>
</div>

<h3>Generate java sources</h3>

<p>We need to create generation model to build java sources for our model.</p>

<ul>
<li>Right click on the <b>view.ecore</b> file in the <b>Package Explorer</b> and select <b>New > Other... > Eclipse Modeling Framework > EMF Generator Model > Next</b></li>
<li>Default <b>view.genmodel</b> name for generator model is OK for us, so just press <span class="uiElement">Next</span></li>
<li>Select Ecore model item and press <span class="uiElement">Next</span></li>
<li>Click <span class="uiElement">Load</span> button and press <span class="uiElement">Next</span> again</li>
<li>Select view.ecore as a root package and add ECL and EMF packages as references. Press <span class="uiElement">Finish</span></li>
</ul>

<div class="screenshot">
  <img src="https://www.eclipse.org/rcptt/shared/img/screenshot-new-command-guide-5.png"></img>
</div>

<ul>
<li>In the opened editor select View package and change base package attribute to <b>org.eclipse.rcptt.ecl.example</b>:</li>
</ul>

<div class="screenshot">
  <img src="https://www.eclipse.org/rcptt/shared/img/screenshot-new-command-guide-6.png"></img>
</div>

<ul>
<li>Right click View package and select <span class="uiElement">Generate Model Core</span>. All necessary java sources will be generated.</li>
</ul>

<div class="panel panel-warning">
<div class="panel-heading">
    <h3 class="panel-title">Important</h3>
  </div>
  <div class="panel-body">
    Please note, that you should set the same runtime version for <b>view.genmodel</b> as you have for <b>ecl.genmodel</b> in <b>org.eclipse.rcptt.ecl.core</b>.
 </div>
</div>
  </div>
</div>
      </div>

    </section>
    <script src="https://www.eclipse.org/rcptt/shared/js/main.js"></script>
</body>
