<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- 
Copyright (c) 2011, Texas Instruments. All rights reserved.

This program and the accompanying materials are made available under the 
terms of the Eclipse Public License v1.0 and Eclipse Distribution License
v. 1.0 which accompanies this distribution. The Eclipse Public License is
available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse
Distribution License is available at 
    http://www.eclipse.org/org/documents/edl-v10.php.

Contributors:
   Texas Instruments - initial implementation
-->

<gep name="XDC/Text" title="Runtime Text Managment" version="1">

<page name="Module" title="Module Settings">
<html><body><table>
  <tr>
    <td>
      <form>
        <p>The Text module provides string management services that enables you to minimaize the static string data required on the runtime target.</p>
        <p> </p>
      </form>
    </td>
  </tr>
  <tr><td colspan="2">
    <control type="checkbox" label="Add Text to my configuration" value="value:this.$used" bold="true"/></td>
  </tr>
  <tr></tr>
  <tr>
    <td>
      <h1>Basic Options</h1>
        <table>
        <tr>
          <td><control type="checkbox"
               label="Load text into target memory"
               value="value:this.isLoaded" 
               tooltip="value:this.isLoaded.$summary"/></td>
        </tr>
      </table>
    </td>
    <td>
      <h1>Default Instance Names</h1>
        <table>
        <tr>
          <td><control type="label" label="Anonymous instance name" align="left"/></td>
          <td><control type="editbox" 
               value="value:this.nameUnknown" 
               tooltip="value:this.nameUnknown.$summary"/></td>
        </tr>
        <tr>
          <td><control type="label" label="NULL instance name" align="left"/></td>
          <td><control type="editbox" 
               value="value:this.nameEmpty" 
               tooltip="value:this.nameEmpty.$summary"/></td>
        </tr>
        <tr>
          <td><control type="label" label="Static instance name" align="left"/></td>
          <td><control type="editbox" 
               value="value:this.nameStatic"
               tooltip="value:this.nameStatic.$summary"/></td>
        </tr>
        </table>
        <form><p>These names are used in situations where the name of an instance is needed by the target but it's not provided.  Making these strings shorter will reduce your target data footprint.</p></form>
    </td>
  </tr>
</table></body></html>
</page>

<properties name="Advanced" title="All Options" enabled="true" visible="true" link="this"/>

</gep>
