Files
Work/browse/brwsview.hpp
2024-08-07 09:12:07 -04:00

70 lines
2.1 KiB
C++

#ifndef _BROWSE_BROWSEVIEW_HPP_
#define _BROWSE_BROWSEVIEW_HPP_
#ifndef _COMMON_MDIWIN_HPP_
#include <common/mdiwin.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _COMMON_BLOCK_HPP_
#include <common/block.hpp>
#endif
#ifndef _THREAD_MUTEX_HPP_
#include <thread/mutex.hpp>
#endif
#ifndef _BROWSE_THUMBPAGE_HPP_
#include <browse/thmbpage.hpp>
#endif
#ifndef _NNTP_SCROLLINFO_HPP_
#include <browse/scroll.hpp>
#endif
#ifndef _MEDIAPAK_MEDIAPAK_HPP_
#include <mediapak/mediapak.hpp>
#endif
class StatusBarEx;
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:
enum {StatusBarID=101};
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<String> &strPathFileNames);
void merge(MediaPak &mediaPak,Block<String> &strPathDirFileNames,const String &strPathDirectory,PureDevice &pureDevice);
void setTitle(const String &strTitle);
String getTitle(void)const;
void analyze(PakEntry &pakEntry);
Callback<BrowseView> mCreateHandler;
Callback<BrowseView> mSizeHandler;
Callback<BrowseView> mPaintHandler;
Callback<BrowseView> mVerticalScrollHandler;
Callback<BrowseView> mHorizontalScrollHandler;
Callback<BrowseView> mLeftButtonDoubleHandler;
ScrollInfo mScrollInfo;
SmartPointer<StatusBarEx> mStatusBar;
MediaPak mMediaPak;
ThumbPage mThumbPage;
CallbackPointer mSelectHandler;
};
inline
void BrowseView::setHandler(PureCallback *pCallback)
{
mSelectHandler=CallbackPointer(pCallback);
}
#endif