dcdd144598 2011-02-23 kinaba: #ifndef _GREENPAD_OPENSAVEDLG_H_ dcdd144598 2011-02-23 kinaba: #define _GREENPAD_OPENSAVEDLG_H_ dcdd144598 2011-02-23 kinaba: #include "kilib/ktlarray.h" dcdd144598 2011-02-23 kinaba: #include "kilib/ktlaptr.h" dcdd144598 2011-02-23 kinaba: #include "kilib/string.h" dcdd144598 2011-02-23 kinaba: #include "rsrc/resource.h" dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: //@{ @pkg Gp.Dlg //@} dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // ���p�\�����R�[�h���X�g dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class CharSetList dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: struct CsInfo dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: int ID; dcdd144598 2011-02-23 kinaba: const TCHAR* longName; dcdd144598 2011-02-23 kinaba: const TCHAR* shortName; dcdd144598 2011-02-23 kinaba: int type; dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: CharSetList(); dcdd144598 2011-02-23 kinaba: const CsInfo& operator[](size_t i) const { return list_[i]; } dcdd144598 2011-02-23 kinaba: ulong size() const { return list_.size(); } dcdd144598 2011-02-23 kinaba: int defaultCs() const; dcdd144598 2011-02-23 kinaba: ulong defaultCsi() const; dcdd144598 2011-02-23 kinaba: ulong findCsi( int cs ) const; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: enum { SAVE=1, LOAD=2, BOTH=3 }; dcdd144598 2011-02-23 kinaba: ki::storage<CsInfo> list_; dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // �u�t�@�C�����J���v�_�C�A���O dcdd144598 2011-02-23 kinaba: // dcdd144598 2011-02-23 kinaba: // Windows���ʂ̃_�C�A���O�̉��ɁA�����R�[�h�̑I�𗓂� dcdd144598 2011-02-23 kinaba: // �t�����������̂�\������B dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class OpenFileDlg dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: explicit OpenFileDlg( const CharSetList& csl ); dcdd144598 2011-02-23 kinaba: bool DoModal( HWND wnd, const TCHAR* filter, const TCHAR* fnm ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: const TCHAR* filename() const; dcdd144598 2011-02-23 kinaba: int csi() const; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: static ki::aarr<TCHAR> ConnectWithNull( ki::String lst[], int num ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: const CharSetList& csl_; dcdd144598 2011-02-23 kinaba: TCHAR filename_[MAX_PATH]; dcdd144598 2011-02-23 kinaba: int csIndex_; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: static OpenFileDlg* pThis; // �}���`�X���b�h�֎~�I dcdd144598 2011-02-23 kinaba: static UINT_PTR CALLBACK OfnHook( HWND, UINT, WPARAM, LPARAM ); dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //------------------------------------------------------------------------ dcdd144598 2011-02-23 kinaba: #ifndef __ccdoc__ dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline OpenFileDlg::OpenFileDlg( const CharSetList& csl ) dcdd144598 2011-02-23 kinaba: : csl_(csl) {} dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline const TCHAR* OpenFileDlg::filename() const dcdd144598 2011-02-23 kinaba: { return filename_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline int OpenFileDlg::csi() const dcdd144598 2011-02-23 kinaba: { return csIndex_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: #endif // __ccdoc__ dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // �u�t�@�C����ۑ��v�_�C�A���O dcdd144598 2011-02-23 kinaba: // dcdd144598 2011-02-23 kinaba: // Windows���ʂ̃_�C�A���O�̉��ɁA�����R�[�h�̑I�𗓂� dcdd144598 2011-02-23 kinaba: // ���s�R�[�h�̑I�𗓂�t�����������̂�\������B dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class SaveFileDlg dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: explicit SaveFileDlg( const CharSetList& csl, int cs, int lb ); dcdd144598 2011-02-23 kinaba: bool DoModal( HWND wnd, const TCHAR* filter, const TCHAR* fnm ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: const TCHAR* filename() const; dcdd144598 2011-02-23 kinaba: int csi() const; dcdd144598 2011-02-23 kinaba: int lb() const; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: static ki::aarr<TCHAR> ConnectWithNull( ki::String lst[], int num ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: const CharSetList& csl_; dcdd144598 2011-02-23 kinaba: TCHAR filename_[MAX_PATH]; dcdd144598 2011-02-23 kinaba: int csIndex_; dcdd144598 2011-02-23 kinaba: int lb_; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: static SaveFileDlg* pThis; // �}���`�X���b�h�֎~�I dcdd144598 2011-02-23 kinaba: static UINT_PTR CALLBACK OfnHook( HWND, UINT, WPARAM, LPARAM ); dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //------------------------------------------------------------------------ dcdd144598 2011-02-23 kinaba: #ifndef __ccdoc__ dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline SaveFileDlg::SaveFileDlg( const CharSetList& csl, int cs, int lb ) dcdd144598 2011-02-23 kinaba: : csl_(csl), csIndex_(cs), lb_(lb) {} dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline const TCHAR* SaveFileDlg::filename() const dcdd144598 2011-02-23 kinaba: { return filename_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline int SaveFileDlg::csi() const dcdd144598 2011-02-23 kinaba: { return csIndex_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline int SaveFileDlg::lb() const dcdd144598 2011-02-23 kinaba: { return lb_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline ki::aarr<TCHAR> SaveFileDlg::ConnectWithNull dcdd144598 2011-02-23 kinaba: ( ki::String lst[], int num ) dcdd144598 2011-02-23 kinaba: { return OpenFileDlg::ConnectWithNull( lst, num ); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: #endif // __ccdoc__ dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // �u�J�������v�_�C�A���O dcdd144598 2011-02-23 kinaba: // dcdd144598 2011-02-23 kinaba: // �����R�[�h�I�𗓕\�� dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class ReopenDlg : public ki::DlgImpl dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: ReopenDlg( const CharSetList& csl, int csi ); dcdd144598 2011-02-23 kinaba: int csi() const; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: void on_init(); dcdd144598 2011-02-23 kinaba: bool on_ok(); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: const CharSetList& csl_; dcdd144598 2011-02-23 kinaba: int csIndex_; dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //------------------------------------------------------------------------ dcdd144598 2011-02-23 kinaba: #ifndef __ccdoc__ dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline int ReopenDlg::csi() const dcdd144598 2011-02-23 kinaba: { return csIndex_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //======================================================================== dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: #endif // __ccdoc__ dcdd144598 2011-02-23 kinaba: #endif // _GREENPAD_OPENSAVEDLG_H_