Files
Work/vidcap/entrydlg.hpp
2024-08-07 09:16:27 -04:00

78 lines
2.4 KiB
C++

#ifndef _VIDCAP_ENTRYDLG_HPP_
#define _VIDCAP_ENTRYDLG_HPP_
#ifndef _COMMON_DWINDOW_HPP_
#include <common/dwindow.hpp>
#endif
#ifndef _COMMON_WINDOW_HPP_
#include <common/window.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _VIDCAP_VIDREG_HPP_
#include <vidcap/vidreg.hpp>
#endif
class EntryDialog : private DWindow
{
public:
EntryDialog(const GUIWindow &parentWindow);
virtual ~EntryDialog();
WORD perform(void);
private:
EntryDialog(const EntryDialog &someEntryDialog);
EntryDialog &operator=(const EntryDialog &someEntryDialog);
CallbackData::ReturnType initDialogHandler(CallbackData &someCallbackData);
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
CallbackData::ReturnType dialogCodeHandler(CallbackData &someCallbackData);
void handleBrowse(void);
void setParams(void);
void getParams(void);
void setPreviewRates(void);
void selectPreviewRate(DWORD previewRate);
DWORD getPreviewRate(void);
bool verifyCaptureFile(const String &strCaptureFile);
Callback<EntryDialog> mInitDialogHandler;
Callback<EntryDialog> mCommandHandler;
Callback<EntryDialog> mDialogCodeHandler;
SmartPointer<Control> mPreviewRate;
VidReg mVidReg;
HWND mhParent;
};
inline
EntryDialog::EntryDialog(const GUIWindow &parentWindow)
: mhParent(parentWindow)
{
mInitDialogHandler.setCallback(this,&EntryDialog::initDialogHandler);
mCommandHandler.setCallback(this,&EntryDialog::commandHandler);
mDialogCodeHandler.setCallback(this,&EntryDialog::dialogCodeHandler);
insertHandler(VectorHandler::CommandHandler,&mCommandHandler);
insertHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler);
insertHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler);
}
inline
EntryDialog::EntryDialog(const EntryDialog &someEntryDialog)
: mhParent(someEntryDialog.mhParent)
{ // no implementation
mInitDialogHandler.setCallback(this,&EntryDialog::initDialogHandler);
mCommandHandler.setCallback(this,&EntryDialog::commandHandler);
mDialogCodeHandler.setCallback(this,&EntryDialog::dialogCodeHandler);
}
inline
EntryDialog::~EntryDialog()
{
removeHandler(VectorHandler::CommandHandler,&mCommandHandler);
removeHandler(VectorHandler::InitDialogHandler,&mInitDialogHandler);
removeHandler(VectorHandler::DialogCodeHandler,&mDialogCodeHandler);
}
inline
EntryDialog &EntryDialog::operator=(const EntryDialog &/*someEntryDialog*/)
{ // no implementation
return *this;
}
#endif