File Annotation

Not logged in
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: //	利用可能文字コードリスト
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: //	「ファイルを開く」ダイアログ
dcdd144598 2011-02-23        kinaba: //
dcdd144598 2011-02-23        kinaba: //	Windows共通のダイアログの下に、文字コードの選択欄を
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: 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; // マルチスレッド禁止!
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: //	「ファイルを保存」ダイアログ
dcdd144598 2011-02-23        kinaba: //
dcdd144598 2011-02-23        kinaba: //	Windows共通のダイアログの下に、文字コードの選択欄と
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: 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; // マルチスレッド禁止!
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: //	「開き直す」ダイアログ
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: 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_