Dlg.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /******************************************************************************
  2. |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. |* PARTICULAR PURPOSE.
  6. |*
  7. |* Copyright 1995-2005 Nero AG. All Rights Reserved.
  8. |*-----------------------------------------------------------------------------
  9. |* NeroSDK / NeroCBUI
  10. |*
  11. |* PROGRAM: TestNeroCBUI
  12. |*
  13. |* PURPOSE: Sample application for the use of NeroCBUI
  14. ******************************************************************************/
  15. #if !defined(AFX_DLG_H__69443FF9_C64C_45A7_B2D0_E414174232DC__INCLUDED_)
  16. #define AFX_DLG_H__69443FF9_C64C_45A7_B2D0_E414174232DC__INCLUDED_
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif // _MSC_VER > 1000
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CDlg dialog
  22. class CDlg :
  23. public CDialog,
  24. public IEraseDiscCallbacks,
  25. public IRecorderComboboxCallbacks,
  26. public IConfigureRoboDlgCallbacks
  27. {
  28. // Construction
  29. public:
  30. CDlg(CWnd* pParent = NULL); // standard constructor
  31. ~CDlg ();
  32. // Dialog Data
  33. //{{AFX_DATA(CDlg)
  34. enum { IDD = IDD_TESTNEROCBUI_DIALOG };
  35. CButton c_WizardMode;
  36. CComboBox m_MediaCombo;
  37. CButton c_ModalEraseDisc;
  38. CComboBox m_Combo;
  39. CButton c_TestEraseDisc;
  40. CButton c_TestDiscInfo;
  41. //}}AFX_DATA
  42. // ClassWizard generated virtual function overrides
  43. //{{AFX_VIRTUAL(CDlg)
  44. protected:
  45. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  46. //}}AFX_VIRTUAL
  47. // Implementation
  48. protected:
  49. HICON m_hIcon;
  50. // Generated message map functions
  51. //{{AFX_MSG(CDlg)
  52. virtual BOOL OnInitDialog();
  53. afx_msg void OnPaint();
  54. afx_msg HCURSOR OnQueryDragIcon();
  55. afx_msg void OnTestEraseDisc();
  56. afx_msg void OnTestDiscInfo();
  57. afx_msg void OnDestroy();
  58. afx_msg void OnTestBurnSettings();
  59. afx_msg void OnTestBurnSettingsOle();
  60. afx_msg void OnTestBurnProgress();
  61. afx_msg void OnTestImageInfo();
  62. afx_msg void OnTestChooseRecorder();
  63. afx_msg void OnTestChooseSession();
  64. afx_msg void OnSelchangeLangCombo();
  65. afx_msg void OnTestEraseDiscModeless();
  66. afx_msg void OnTestWaitForMedia();
  67. afx_msg void OnSelchangeMediaCombo();
  68. afx_msg void OnSelchangeRecorder();
  69. afx_msg void OnTestImageInfoOle();
  70. afx_msg void OnTestConfigureRobot();
  71. //}}AFX_MSG
  72. DECLARE_MESSAGE_MAP()
  73. protected:
  74. CComPtr<IRecorderCombobox2> m_pRecorderCombobox;
  75. CComPtr<ISpeedCombobox> m_pWriteSpeedCombobox;
  76. // IUnknown dummy implementation
  77. protected:
  78. NERO_MEDIA_TYPE SelectedMediaType();
  79. STDMETHOD (QueryInterface) (REFIID riid, void ** ppvObject)
  80. {
  81. if (ppvObject != NULL)
  82. {
  83. if(riid==IID_IRecorderComboboxCallbacks)
  84. *ppvObject = static_cast<IRecorderComboboxCallbacks *> (this);
  85. else if(riid==IID_IEraseDiscCallbacks)
  86. *ppvObject = static_cast<IEraseDiscCallbacks *> (this);
  87. return S_OK;
  88. }
  89. return E_NOINTERFACE;
  90. }
  91. ULONG STDMETHODCALLTYPE AddRef ()
  92. {
  93. return 0;
  94. }
  95. ULONG STDMETHODCALLTYPE Release ()
  96. {
  97. return 0;
  98. }
  99. //
  100. // IEraseDiscCallbacks implementation
  101. //
  102. STDMETHOD (OnEraseDone) (IEraseDiscDlg * pEraseDiscDlg);
  103. //
  104. // IRecorderComboboxCallbacks implementation
  105. //
  106. STDMETHOD (OnFilterRecorder) (LPCNERO_SCSI_DEVICE_INFO pDeviceInfo, BOOL * pbAccept);
  107. STDMETHOD (OnFilterEnd) ();
  108. STDMETHOD (OnContentRefreshed) ();
  109. STDMETHOD (OnCurSelInUseStatusChange) (BOOL bInUse);
  110. //
  111. // IConfigureRoboDlgCallbacks implementation
  112. //
  113. STDMETHOD (OnConfigureRobot)(IRoboInfo* pRoboInfo);
  114. STDMETHOD (OnTestRobot)(IRoboInfo* pRoboInfo);
  115. STDMETHOD (OnRobotPortChanged)(IRoboInfo* pRoboInfo);
  116. STDMETHOD (OnRobotBlankCdrw)(IRoboInfo* pRoboInfo, BOOL bChecked);
  117. private:
  118. CString GetRoboInfoString(IRoboInfo* pRoboInfo);
  119. private:
  120. CComPtr<IRoboInfos> m_pRoboInfos; /** Valid robot infos retrieved from configure robot dialog. */
  121. };
  122. //{{AFX_INSERT_LOCATION}}
  123. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  124. #endif // !defined(AFX_DLG_H__69443FF9_C64C_45A7_B2D0_E414174232DC__INCLUDED_)