メインページ   モジュール   クラス階層   アルファベット順一覧   構成   ファイル一覧   構成メンバ   ファイルメンバ   関連ページ    

TUserInterface.hh

解説を見る。
00001 // =====================================================================
00021 // =====================================================================
00022 #ifndef __TUSERINTERFACE_HH
00023 #define __TUSERINTERFACE_HH
00024 
00025 #include "Tglobals.h"
00026 #include "TCommandHistory.hh"
00027 #include "TCommandTable.hh"
00028 
00029 class TCommand;
00030 
00031 
00051 class TUserInterface
00052 {
00053 
00054   protected:
00055     TCommandTable theCommandTable;
00056     Tofstream theHistoryFileStream;
00057     Tstring theCurrentWorkingDirectory;
00058     TCommandHistory theCommandHistory;
00059 
00060   public:
00061     TUserInterface( const Tstring& history );
00062     virtual ~TUserInterface();
00063 
00064   public:
00065     Tint AddCommand( TCommand* command );
00066     Tint RemoveCommand( Tint index );
00067     Tvoid ClearCommands();
00068     TCommand* FindCommand( const Tstring& fullname );
00069     TCommand* FindCommand( const Tstring& name, const Tstring& path );
00070     TCommand* GetCommand( Tint index );
00071     TCommand* GetCommand( const Tstring& fullname );
00072     TCommand* GetCommand( const Tstring& name, const Tstring& path );
00073     Tvoid ExecuteCommand( const Tstring& command, const TstringList& arguments );
00074     Tvoid ExecuteCommand( const Tstring& command );
00075     Tint GetCurrentWorkingDirectoryLevel() const;
00076     Tstring ModifyPath( const Tstring& path ) const;
00077 
00078   public:
00079     const TCommandTable& GetCommandTable() const;
00080     TCommandTable& GetCommandTable();
00081     const Tstring& GetCurrentWorkingDirectory() const;
00082     Tstring& GetCurrentWorkingDirectory();
00083     const TCommandHistory& GetCommandHistory() const;
00084     TCommandHistory& GetCommandHistory();
00085     Tofstream& GetHistoryFileStream();
00086     Tvoid SetCommandTable( const TCommandTable& table );
00087     Tvoid SetCurrentWorkingDirectory( const Tstring& directory );
00088     Tvoid SetCommandHistory( const TCommandHistory& history );
00089 
00090   public:
00091     virtual Tbool AcceptCommand() = 0;
00092     virtual const Tstring& GetInputCommand() = 0;
00093 
00094   public:
00095     virtual Tvoid NotFoundCommand( const Tstring& commandname ) const;
00096     virtual Tvoid ClearScreen() const;
00097     virtual Tint GetNumberOfColumns() const;
00098     virtual Tint GetNumberOfLines() const;
00099 
00100 };
00101 
00102 inline const TCommandTable& TUserInterface::GetCommandTable() const
00103 {
00104   return theCommandTable;
00105 }
00106 
00107 inline TCommandTable& TUserInterface::GetCommandTable()
00108 {
00109   return theCommandTable;
00110 }
00111 
00112 inline const Tstring& TUserInterface::GetCurrentWorkingDirectory() const
00113 {
00114   return theCurrentWorkingDirectory;
00115 }
00116 
00117 inline Tstring& TUserInterface::GetCurrentWorkingDirectory()
00118 {
00119   return theCurrentWorkingDirectory;
00120 }
00121 
00122 inline const TCommandHistory& TUserInterface::GetCommandHistory() const
00123 {
00124   return theCommandHistory;
00125 }
00126 
00127 inline TCommandHistory& TUserInterface::GetCommandHistory()
00128 {
00129   return theCommandHistory;
00130 }
00131 
00132 inline Tofstream& TUserInterface::GetHistoryFileStream()
00133 {
00134   return theHistoryFileStream;
00135 }
00136 
00137 inline Tvoid TUserInterface::SetCommandTable( const TCommandTable& table )
00138 {
00139   theCommandTable = table;
00140   return;
00141 }
00142 
00143 inline Tvoid TUserInterface::SetCommandHistory( const TCommandHistory& history )
00144 {
00145   theCommandHistory = history;
00146   return;
00147 }
00148 
00149 #endif

CLDAQ - a Class Library for Data AcQuisition (Version 1.11.0)
Go IWAI <goiwai@users.sourceforge.jp>