#ifndef _FTP_MAINWINDOW_HPP_ #define _FTP_MAINWINDOW_HPP_ #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _FTP_FTPTHREAD_HPP_ #include #endif class EditWindow; template class Monitor; class MainWindow : public Window { public: MainWindow(HINSTANCE hInstance); virtual ~MainWindow(); static String className(void); private: enum{TimerID=0}; void registerClass(void)const; void insertHandlers(void); void removeHandlers(void); void processCommandLine(void); void handleRemoteHost(void); void message(const String &messageString); void message(Block &messageStrings); CallbackData::ReturnType paintHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData); CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData); CallbackData::ReturnType createHandler(CallbackData &someCallbackData); CallbackData::ReturnType timerHandler(CallbackData &someCallbackData); CallbackData::ReturnType setFocusHandler(CallbackData &someCallbackData); CallbackData::ReturnType lineHandler(CallbackData &someCallbackData); CallbackData::ReturnType completionHandler(CallbackData &someCallbackData); Callback mPaintHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mKeyDownHandler; Callback mSizeHandler; Callback mCreateHandler; Callback mLineHandler; Callback mTimerHandler; Callback mSetFocusHandler; Callback mCompletionHandler; static char szClassName[]; static char szMenuName[]; HINSTANCE mhInstance; EditWindow *mlpEditWindow; Monitor mEditMonitor; FTPThread mFTPThread; WSASystem mWSASystem; }; inline String MainWindow::className(void) { return String(szClassName); } #endif