Initial
This commit is contained in:
61
vidcap/srcdlg.cpp
Normal file
61
vidcap/srcdlg.cpp
Normal file
@@ -0,0 +1,61 @@
|
||||
#include <vidcap/srcdlg.hpp>
|
||||
#include <vidcap/vidcap.hpp>
|
||||
#include <vidcap/rsrc.hpp>
|
||||
|
||||
LRESULT SourceDialog::perform(void)
|
||||
{
|
||||
mDriverIndex=-1;
|
||||
::DialogBoxParam(processInstance(),(LPSTR)"SOURCE",mhParent,(DLGPROC)DWindow::DlgProc,(LONG)((DWindow*)this));
|
||||
return mDriverIndex;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType SourceDialog::initDialogHandler(CallbackData &/*someCallbackData*/)
|
||||
{
|
||||
mListBox=new Control(getItem(SOURCE_LIST),SOURCE_LIST,FALSE);
|
||||
mListBox.disposition(PointerDisposition::Delete);
|
||||
getDrivers();
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType SourceDialog::dialogCodeHandler(CallbackData &/*someCallbackData*/)
|
||||
{
|
||||
return (CallbackData::ReturnType)DLGC_WANTALLKEYS;
|
||||
}
|
||||
|
||||
CallbackData::ReturnType SourceDialog::commandHandler(CallbackData &someCallbackData)
|
||||
{
|
||||
switch(someCallbackData.wmCommandID())
|
||||
{
|
||||
case IDOK :
|
||||
getDriverIndex();
|
||||
endDialog(TRUE);
|
||||
break;
|
||||
case IDCANCEL :
|
||||
mDriverIndex=-1;
|
||||
endDialog(FALSE);
|
||||
break;
|
||||
case SOURCE_LIST :
|
||||
if(LBN_DBLCLK==someCallbackData.wmCommandCommand()){getDriverIndex();endDialog(true);}
|
||||
break;
|
||||
}
|
||||
return (CallbackData::ReturnType)FALSE;
|
||||
}
|
||||
|
||||
void SourceDialog::getDrivers(void)
|
||||
{
|
||||
Block<DriverInfo> drivers;
|
||||
|
||||
mListBox->sendMessage(LB_RESETCONTENT,0,0L);
|
||||
VidCap::getDrivers(drivers);
|
||||
for(int index=0;index<drivers.size();index++)
|
||||
{
|
||||
mListBox->sendMessage(LB_INSERTSTRING,-1,(LPARAM)String(drivers[index].driverName()+String("[")+ drivers[index].driverVersion()+String("]")).str());
|
||||
}
|
||||
if(drivers.size())mListBox->sendMessage(LB_SETCURSEL,0,0);
|
||||
}
|
||||
|
||||
LRESULT SourceDialog::getDriverIndex(void)
|
||||
{
|
||||
if(mListBox->sendMessage(LB_GETCOUNT,0,0))return mDriverIndex=mListBox->sendMessage(LB_GETCURSEL,0,0L);
|
||||
else return mDriverIndex=-1;
|
||||
}
|
||||
Reference in New Issue
Block a user