// TaskSchedulerHelper2Dlg.h : ヘッダー ファイル
//

#pragma once

#include "afxwin.h"
#include "afxdtctl.h"
#include "afxcmn.h"

typedef struct TIME{
	int hour;
	int minutes;
}TIME;

#define EPG_WORD_MAX	80
typedef struct EPG{
	int		version;
	wchar_t	station[EPG_WORD_MAX];
	int		year;
	int		month;
	int		date;
	TIME	start, end, end2;///
	wchar_t	program_title[EPG_WORD_MAX];
	wchar_t	program_subtitle[EPG_WORD_MAX];
	wchar_t performer[EPG_WORD_MAX];
	int		genre;
	int		subgenre;
	int		extend;
	wchar_t memo[WCHAR_MAX];
	wchar_t	task_name[EPG_WORD_MAX];///cap_stsTaskViewer連携の拡張.
}EPG;

#define OPTION_MAX	10
typedef struct OPTION{
	wchar_t Title[50];
	wchar_t Capsts[256];
	wchar_t Foldername[256];
	wchar_t Id[10];
	wchar_t VlcParam[30];
	wchar_t FileExt[10];
	BOOL PowerOn;
	BOOL PowerOff;
	BOOL Bcs;
	BOOL B25;
	BOOL Sel;
	BOOL Sus;
	BOOL Vlc;
	BOOL Rmc;
}OPTION;

#define CHANNEL_MAX	50
typedef struct Channel{
	wchar_t name[32];
	wchar_t command[10];
	wchar_t IdentificationWord[128];
}CHANNEL;


// CTaskSchedulerHelper2Dlg ダイアログ
class CTaskSchedulerHelper2Dlg : public CDialog
{
// コンストラクション
public:
	CTaskSchedulerHelper2Dlg(CWnd* pParent = NULL);	// 標準コンストラクタ

// ダイアログ データ
	enum { IDD = IDD_TASKSCHEDULERHELPER2_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV サポート


// 実装
protected:
	HICON m_hIcon;

	// 生成された、メッセージ割り当て関数
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedOk(){};
	afx_msg void OnBnClickedCancel(){};
	afx_msg void OnClose();

	CListBox		ctrlChannelList;
	CDateTimeCtrl	ctrlDateTime1;
	CDateTimeCtrl	ctrlDateTime2;
	CMonthCalCtrl	ctrlCal;
	CTabCtrl		ctrlOptTab;

	int		opt_number;
	OPTION	opt[OPTION_MAX];
	int		channel_number;
	CHANNEL	channel[CHANNEL_MAX];
	wchar_t wFilename[256];
	wchar_t wParameter[256];
	wchar_t *cmdline;

	CString s_title, s_subtitle;
	CTime	endt[2];

	CString strCapsts;
	CString strFoldername;
	CString strFilename;
	CString strFileExt;
	CString strChannel;
	CString strId;
	CString strCommandline;
	CString strVlcParam;
	BOOL bPowerOn;
	BOOL bPowerOff;
	BOOL bBcs;
	BOOL bB25;
	BOOL bSel;
	BOOL bSus;
	BOOL bVlc;
	BOOL bRmc;
	BOOL bSubtitle;
	BOOL bExtend;
	BOOL bParentheses;

	CString strTaskName;
	int nTaskType;
	CString strAccount;
	CString strPass1;
	CString strPass2;
	BOOL bDelTask;
	BOOL bResume;
	BOOL bAutoClose;
	BOOL bForceSet;

	void LoadIniFile(void);
	void SaveIniFile(void);
	void SetOptions(int num);
	void MakeCommandline(void);
	void GetOptions(void);
	bool OpenEPGFile(const wchar_t * filename, EPG * epg);
	void SetEPG(const EPG * epg);
	void LoadChannelFile(void);
	void DeleteParentheses(CString *str);
	bool OpenSeaIni(void);
	
	afx_msg void ChangeOptions();
	afx_msg void OnDtnDatetimechangePicker(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnBnClickedCapstsButton();
	afx_msg void OnBnClickedFolderButton();
	afx_msg void OnBnClickedTaskSetButton();
	afx_msg void OnBnClickedEpgButton();
	afx_msg void OnBnClickedExtendCheck();
	afx_msg void OnDeltaposIdSpin(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnLbnSelchangeChannelList();
	afx_msg void OnTcnSelchangingOptionTab(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnTcnSelchangeOptionTab(NMHDR *pNMHDR, LRESULT *pResult);
	afx_msg void OnBnClickedAddOptionButton();
	afx_msg void OnBnClickedDelOptionButton();
	afx_msg void OnBnClickedTaskviewerButton();
	afx_msg void OnBnClickedSubtitleCheck();
	afx_msg void OnBnClickedParenthesesCheck();
	CComboBox m_ComboEncode;
public:
	afx_msg void OnCbnCloseupComboEncode();
};
