//## begin module%1.4%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.4%.codegen_version

//## begin module%3D86D44C0370.cm preserve=no
//	  %X% %Q% %Z% %W%
//## end module%3D86D44C0370.cm

//## begin module%3D86D44C0370.cp preserve=no
//## end module%3D86D44C0370.cp

//## Module: LCD%3D86D44C0370; Pseudo Package specification
//## Source file: C:\Program Files\Rational\Rose\C++\source\LCD.h

#ifndef LCD_h
#define LCD_h 1

//## begin module%3D86D44C0370.additionalIncludes preserve=no
//## end module%3D86D44C0370.additionalIncludes

//## begin module%3D86D44C0370.includes preserve=yes
//## end module%3D86D44C0370.includes

//## begin module%3D86D44C0370.additionalDeclarations preserve=yes
//## end module%3D86D44C0370.additionalDeclarations


//## begin LCD%3D86D44C0370.preface preserve=yes
//## end LCD%3D86D44C0370.preface

//## Class: LCD%3D86D44C0370
//	/**
//	This class provides methods to access the robot LCD.
//	@author Jia L. Du
//	 */
//## Category: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n



class LCD 
{
  //## begin LCD%3D86D44C0370.initialDeclarations preserve=yes
  //## end LCD%3D86D44C0370.initialDeclarations

  public:
    //## Constructors (generated)
      LCD();


    //## Other Operations (specified)
      //## Operation: setMenu%3D9290840230
      //	/**
      //	Sets the texts for the LCD menu entries
      //	@param menuItem1 The text for the first menu entry
      //	@param menuItem2 The text for the second menu entry
      //	@param menuItem3 The text for the third menu entry
      //	@param menuItem4 The text for the fourth menu entry
      //	 */
      void setMenu (char* menuItem1, char* menuItem2, char* menuItem3, char* menuItem4);

      //## Operation: setMenuItem%3D9290D30258
      //	/**
      //	Sets the text for a specific LCD menu entry
      //	@param position LCD.MENU_POSITION_1 or LCD.MENU_POSITION_
      //	2 or LCD.MENU_POSITION_3 or LCD.MENU_POSITION_4
      //	@param menuItem The text for the menu entry
      //	 */
      void setMenuItem (int position, char* menuItem);

    // Additional Public Declarations
      //## begin LCD%3D86D44C0370.public preserve=yes
      //	/**
      //	Clears the LCD (what about the menu??)
      //	 */
      void clear ();

      //	/**
      //  Write the given string to the current cursor position
      //  and move down one row
      //	 */
      void putString (char* string);

      //## end LCD%3D86D44C0370.public

  protected:
    // Additional Protected Declarations
      //## begin LCD%3D86D44C0370.protected preserve=yes
      //## end LCD%3D86D44C0370.protected

  private:
    // Additional Private Declarations
      //## begin LCD%3D86D44C0370.private preserve=yes

      //## end LCD%3D86D44C0370.private

  private: //## implementation
    // Data Members for Class Attributes

      //## Attribute: MENU_POSITION_1%3D9A9FC001FE
      //	/**
      //	Value to identify position 1 in the LCD menu
      //	 */
      //## begin LCD::MENU_POSITION_1%3D9A9FC001FE.attr preserve=no  public: static int {UC} 1
      static const int MENU_POSITION_1;
      //## end LCD::MENU_POSITION_1%3D9A9FC001FE.attr

      //## Attribute: MENU_POSITION_2%3D9AA017030C
      //	/**
      //	Value to identify position 2 in the LCD menu
      //	 */
      //## begin LCD::MENU_POSITION_2%3D9AA017030C.attr preserve=no  public: static int {UC} 2
      static const int MENU_POSITION_2;
      //## end LCD::MENU_POSITION_2%3D9AA017030C.attr

      //## Attribute: MENU_POSITION_3%3D9AA018006E
      //	/**
      //	Value to identify position 3 in the LCD menu
      //	 */
      //## begin LCD::MENU_POSITION_3%3D9AA018006E.attr preserve=no  public: static int {UC} 3
      static const int MENU_POSITION_3;
      //## end LCD::MENU_POSITION_3%3D9AA018006E.attr

      //## Attribute: MENU_POSITION_4%3D9AA01802D0
      //	/**
      //	Value to identify position 4 in the LCD menu
      //	 */
      //## begin LCD::MENU_POSITION_4%3D9AA01802D0.attr preserve=no  public: static int {UC} 4
      static const int MENU_POSITION_4;
      //## end LCD::MENU_POSITION_4%3D9AA01802D0.attr

    // Additional Implementation Declarations
      //## begin LCD%3D86D44C0370.implementation preserve=yes
      //## end LCD%3D86D44C0370.implementation

};

//## begin LCD%3D86D44C0370.postscript preserve=yes
//## end LCD%3D86D44C0370.postscript

// Class LCD

//## begin module%3D86D44C0370.epilog preserve=yes
//## end module%3D86D44C0370.epilog


#endif
