tagging release
[dasher.git] / Src / Win32 / Dasher.h
blob35787e4e24808aabab2ef9c01ccff05297688b16
1 #pragma once
3 #include "../DasherCore/DasherInterfaceBase.h"
4 #include "../DasherCore/UserLog.h"
6 extern CONST UINT WM_DASHER_EVENT;
7 #define _WM_DASHER_EVENT (LPCWSTR)"wm_dasher_event"
9 extern CONST UINT WM_DASHER_FOCUS;
10 #define _WM_DASHER_FOCUS (LPCWSTR)"wm_dasher_focus"
12 class CCanvas;
13 class CSlidebar;
14 class CDashEditbox;
16 namespace Dasher {
17 class CDasher : public CDasherInterfaceBase
19 public:
20 CDasher(HWND Parent);
21 ~CDasher(void);
23 // The following functions will not be part of the final interface
25 CCanvas *GetCanvas() {
26 return m_pCanvas;
29 void SetEdit(CDashEditbox * pEdit);
31 void ExternalEventHandler(Dasher::CEvent *pEvent);
33 virtual void WriteTrainFile(const std::string &strNewText);
35 void Main();
38 private:
40 virtual void ScanAlphabetFiles(std::vector<std::string> &vFileList);
41 virtual void ScanColourFiles(std::vector<std::string> &vFileList);
42 virtual void SetupPaths();
43 virtual void SetupUI();
44 virtual void CreateLocalFactories();
45 virtual void StartTimer();
46 virtual void ShutdownTimer();
47 void CreateSettingsStore();
49 virtual int GetFileSize(const std::string &strFileName);
50 void ScanDirectory(const Tstring &strMask, std::vector<std::string> &vFileList);
51 bool GetWindowSize(int* pTop, int* pLeft, int* pBottom, int* pRight);
52 void Log(); // Does the logging
54 CCanvas *m_pCanvas;
55 CDashEditbox *m_pEdit;
57 HWND m_hParent;