#ifndef _NNTP_BROWSEVIEW_HPP_ #define _NNTP_BROWSEVIEW_HPP_ #ifndef _COMMON_MDIWIN_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif #ifndef _THREAD_MUTEX_HPP_ #include #endif #ifndef _NNTP_THUMBPAGE_HPP_ #include #endif #ifndef _JPGIMG_SCROLLINFO_HPP_ #include #endif #ifndef _MEDIAPAK_MEDIAPAK_HPP_ #include #endif class Progress; class BrowseView : public MDIWindow { public: BrowseView(void); virtual ~BrowseView(); bool browse(const String &strPathDirectoryName); void setHandler(PureCallback *pCallback); protected: virtual void preRegister(WNDCLASS &wndClass); virtual void preCreate(MDICREATESTRUCT &createStruct); private: CallbackData::ReturnType createHandler(CallbackData &someCallbackData); CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData); CallbackData::ReturnType paintHandler(CallbackData &someCallbackData); CallbackData::ReturnType verticalScrollHandler(CallbackData &someCallbackData); CallbackData::ReturnType horizontalScrollHandler(CallbackData &someCallbackData); CallbackData::ReturnType leftButtonDoubleHandler(CallbackData &someCallbackData); bool getDirectoryFileNames(const String &strDirectory,Block &strPathFileNames); void merge(Progress &progress,MediaPak &mediaPak,Block &strPathDirFileNames,const String &strPathDirectory); void setTitle(const String &strTitle); String getTitle(void)const; void analyze(PakEntry &pakEntry); Callback mCreateHandler; Callback mSizeHandler; Callback mPaintHandler; Callback mVerticalScrollHandler; Callback mHorizontalScrollHandler; Callback mLeftButtonDoubleHandler; ScrollInfo mScrollInfo; MediaPak mMediaPak; ThumbPage mThumbPage; CallbackPointer mSelectHandler; }; inline void BrowseView::setHandler(PureCallback *pCallback) { mSelectHandler=CallbackPointer(pCallback); } #endif