00001 // DasherAppInterface.h 00002 // 00004 // 00005 // Copyright (c) 2002 Iain Murray 00006 // 00008 00009 #ifndef __DasherAppInterface_h__ 00010 #define __DasherAppInterface_h__ 00011 00012 #include "DasherScreen.h" 00013 #include "DashEdit.h" 00014 #include "AlphIO.h" 00015 #include <string> 00016 #include <vector> 00017 00018 namespace Dasher {class CDasherAppInterface;} 00019 class Dasher::CDasherAppInterface 00020 { 00021 public: 00022 // We may change the widgets Dasher uses at run time 00023 00025 virtual void ChangeScreen(CDasherScreen* NewScreen)=0; 00026 00028 virtual void ChangeEdit(CDashEditbox* NewEdit)=0; 00029 00030 // Training by string segments or file all training data must be in UTF-8. 00032 // 00038 virtual void Train(std::string* TrainString, bool IsMore)=0; 00039 00041 // 00043 virtual void TrainFile(std::string Filename)=0; 00044 00045 // App may want to display characters per minute or frames per second. 00046 00048 00049 virtual void GetFontSizes(std::vector<int> *FontSizes)=0; 00050 00052 virtual double GetCurCPM()=0; 00053 00055 virtual double GetCurFPS()=0; 00056 00057 // Customize alphabet 00059 virtual void GetAlphabets(std::vector< std::string >* AlphabetList)=0; 00060 00062 virtual const CAlphIO::AlphInfo& GetInfo(const std::string& AlphID)=0; 00063 00065 virtual void SetInfo(const CAlphIO::AlphInfo& NewInfo)=0; 00066 00068 virtual void DeleteAlphabet(const std::string& AlphID)=0; 00069 }; 00070 00071 00072 #endif /* #ifndef __DasherAppInterface_h__ */
1.4.2