Artifact fa92942f039f4d4bb8734d0b72abc5930913ec22:
0000: 23 69 66 6e 64 65 66 20 5f 47 52 45 45 4e 50 41 #ifndef _GREENPA
0010: 44 5f 4f 50 45 4e 53 41 56 45 44 4c 47 5f 48 5f D_OPENSAVEDLG_H_
0020: 0d 0a 23 64 65 66 69 6e 65 20 5f 47 52 45 45 4e ..#define _GREEN
0030: 50 41 44 5f 4f 50 45 4e 53 41 56 45 44 4c 47 5f PAD_OPENSAVEDLG_
0040: 48 5f 0d 0a 23 69 6e 63 6c 75 64 65 20 22 6b 69 H_..#include "ki
0050: 6c 69 62 2f 6b 74 6c 61 72 72 61 79 2e 68 22 0d lib/ktlarray.h".
0060: 0a 23 69 6e 63 6c 75 64 65 20 22 6b 69 6c 69 62 .#include "kilib
0070: 2f 6b 74 6c 61 70 74 72 2e 68 22 0d 0a 23 69 6e /ktlaptr.h"..#in
0080: 63 6c 75 64 65 20 22 6b 69 6c 69 62 2f 73 74 72 clude "kilib/str
0090: 69 6e 67 2e 68 22 0d 0a 23 69 6e 63 6c 75 64 65 ing.h"..#include
00a0: 20 22 72 73 72 63 2f 72 65 73 6f 75 72 63 65 2e "rsrc/resource.
00b0: 68 22 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d h"........//====
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0100: 3d 3d 3d 3d 0d 0a 2f 2f 40 7b 20 40 70 6b 67 20 ====..//@{ @pkg
0110: 47 70 2e 44 6c 67 20 2f 2f 40 7d 0d 0a 2f 2f 40 Gp.Dlg //@}..//@
0120: 7b 0d 0a 2f 2f 09 97 98 97 70 89 c2 94 5c 95 b6 {..//....p...\..
0130: 8e 9a 83 52 81 5b 83 68 83 8a 83 58 83 67 0d 0a ...R.[.h...X.g..
0140: 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d //@}..//========
0150: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0160: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0170: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0180: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0190: 0d 0a 0d 0a 63 6c 61 73 73 20 43 68 61 72 53 65 ....class CharSe
01a0: 74 4c 69 73 74 0d 0a 7b 0d 0a 70 75 62 6c 69 63 tList..{..public
01b0: 3a 0d 0a 0d 0a 09 73 74 72 75 63 74 20 43 73 49 :.....struct CsI
01c0: 6e 66 6f 0d 0a 09 7b 0d 0a 09 09 69 6e 74 20 20 nfo...{....int
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 I
01e0: 44 3b 0d 0a 09 09 63 6f 6e 73 74 20 54 43 48 41 D;....const TCHA
01f0: 52 2a 20 20 6c 6f 6e 67 4e 61 6d 65 3b 0d 0a 09 R* longName;...
0200: 09 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 73 68 .const TCHAR* sh
0210: 6f 72 74 4e 61 6d 65 3b 0d 0a 09 09 69 6e 74 20 ortName;....int
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 ty
0230: 70 65 3b 0d 0a 09 7d 3b 0d 0a 0d 0a 70 75 62 6c pe;...};....publ
0240: 69 63 3a 0d 0a 0d 0a 09 43 68 61 72 53 65 74 4c ic:.....CharSetL
0250: 69 73 74 28 29 3b 0d 0a 09 63 6f 6e 73 74 20 43 ist();...const C
0260: 73 49 6e 66 6f 26 20 6f 70 65 72 61 74 6f 72 5b sInfo& operator[
0270: 5d 28 73 69 7a 65 5f 74 20 69 29 20 63 6f 6e 73 ](size_t i) cons
0280: 74 20 7b 20 72 65 74 75 72 6e 20 6c 69 73 74 5f t { return list_
0290: 5b 69 5d 3b 20 7d 0d 0a 09 75 6c 6f 6e 67 20 73 [i]; }...ulong s
02a0: 69 7a 65 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 ize() const { re
02b0: 74 75 72 6e 20 6c 69 73 74 5f 2e 73 69 7a 65 28 turn list_.size(
02c0: 29 3b 20 7d 0d 0a 09 69 6e 74 20 64 65 66 61 75 ); }...int defau
02d0: 6c 74 43 73 28 29 20 63 6f 6e 73 74 3b 0d 0a 09 ltCs() const;...
02e0: 75 6c 6f 6e 67 20 64 65 66 61 75 6c 74 43 73 69 ulong defaultCsi
02f0: 28 29 20 63 6f 6e 73 74 3b 0d 0a 09 75 6c 6f 6e () const;...ulon
0300: 67 20 66 69 6e 64 43 73 69 28 20 69 6e 74 20 63 g findCsi( int c
0310: 73 20 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 70 72 s ) const;....pr
0320: 69 76 61 74 65 3a 0d 0a 0d 0a 09 65 6e 75 6d 20 ivate:.....enum
0330: 7b 20 53 41 56 45 3d 31 2c 20 4c 4f 41 44 3d 32 { SAVE=1, LOAD=2
0340: 2c 20 42 4f 54 48 3d 33 20 7d 3b 0d 0a 09 6b 69 , BOTH=3 };...ki
0350: 3a 3a 73 74 6f 72 61 67 65 3c 43 73 49 6e 66 6f ::storage<CsInfo
0360: 3e 20 6c 69 73 74 5f 3b 0d 0a 7d 3b 0d 0a 0d 0a > list_;..};....
0370: 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ....//==========
0380: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0390: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
03a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
03b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a ==============..
03c0: 2f 2f 40 7b 0d 0a 2f 2f 09 81 75 83 74 83 40 83 //@{..//..u.t.@.
03d0: 43 83 8b 82 f0 8a 4a 82 ad 81 76 83 5f 83 43 83 C.....J...v._.C.
03e0: 41 83 8d 83 4f 0d 0a 2f 2f 0d 0a 2f 2f 09 57 69 A...O..//..//.Wi
03f0: 6e 64 6f 77 73 8b a4 92 ca 82 cc 83 5f 83 43 83 ndows......._.C.
0400: 41 83 8d 83 4f 82 cc 89 ba 82 c9 81 41 95 b6 8e A...O.......A...
0410: 9a 83 52 81 5b 83 68 82 cc 91 49 91 f0 97 93 82 ..R.[.h...I.....
0420: f0 0d 0a 2f 2f 09 95 74 82 af 89 c1 82 a6 82 bd ...//..t........
0430: 82 e0 82 cc 82 f0 95 5c 8e a6 82 b7 82 e9 81 42 .......\.......B
0440: 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d ..//@}..//======
0450: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0460: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0470: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0480: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0490: 3d 3d 0d 0a 0d 0a 63 6c 61 73 73 20 4f 70 65 6e ==....class Open
04a0: 46 69 6c 65 44 6c 67 0d 0a 7b 0d 0a 70 75 62 6c FileDlg..{..publ
04b0: 69 63 3a 0d 0a 09 65 78 70 6c 69 63 69 74 20 4f ic:...explicit O
04c0: 70 65 6e 46 69 6c 65 44 6c 67 28 20 63 6f 6e 73 penFileDlg( cons
04d0: 74 20 43 68 61 72 53 65 74 4c 69 73 74 26 20 63 t CharSetList& c
04e0: 73 6c 20 29 3b 0d 0a 09 62 6f 6f 6c 20 44 6f 4d sl );...bool DoM
04f0: 6f 64 61 6c 28 20 48 57 4e 44 20 77 6e 64 2c 20 odal( HWND wnd,
0500: 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 66 69 6c const TCHAR* fil
0510: 74 65 72 2c 20 63 6f 6e 73 74 20 54 43 48 41 52 ter, const TCHAR
0520: 2a 20 66 6e 6d 20 29 3b 0d 0a 0d 0a 70 75 62 6c * fnm );....publ
0530: 69 63 3a 0d 0a 09 63 6f 6e 73 74 20 54 43 48 41 ic:...const TCHA
0540: 52 2a 20 66 69 6c 65 6e 61 6d 65 28 29 20 63 6f R* filename() co
0550: 6e 73 74 3b 0d 0a 09 69 6e 74 20 63 73 69 28 29 nst;...int csi()
0560: 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 70 75 62 6c 69 const;....publi
0570: 63 3a 0d 0a 09 73 74 61 74 69 63 20 6b 69 3a 3a c:...static ki::
0580: 61 61 72 72 3c 54 43 48 41 52 3e 20 43 6f 6e 6e aarr<TCHAR> Conn
0590: 65 63 74 57 69 74 68 4e 75 6c 6c 28 20 6b 69 3a ectWithNull( ki:
05a0: 3a 53 74 72 69 6e 67 20 6c 73 74 5b 5d 2c 20 69 :String lst[], i
05b0: 6e 74 20 6e 75 6d 20 29 3b 0d 0a 0d 0a 70 72 69 nt num );....pri
05c0: 76 61 74 65 3a 0d 0a 09 63 6f 6e 73 74 20 43 68 vate:...const Ch
05d0: 61 72 53 65 74 4c 69 73 74 26 20 63 73 6c 5f 3b arSetList& csl_;
05e0: 0d 0a 09 54 43 48 41 52 20 66 69 6c 65 6e 61 6d ...TCHAR filenam
05f0: 65 5f 5b 4d 41 58 5f 50 41 54 48 5d 3b 0d 0a 09 e_[MAX_PATH];...
0600: 69 6e 74 20 20 20 63 73 49 6e 64 65 78 5f 3b 0d int csIndex_;.
0610: 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 73 74 ...private:...st
0620: 61 74 69 63 20 4f 70 65 6e 46 69 6c 65 44 6c 67 atic OpenFileDlg
0630: 2a 20 70 54 68 69 73 3b 20 2f 2f 20 83 7d 83 8b * pThis; // .}..
0640: 83 60 83 58 83 8c 83 62 83 68 8b d6 8e 7e 81 49 .`.X...b.h...~.I
0650: 0d 0a 09 73 74 61 74 69 63 20 55 49 4e 54 5f 50 ...static UINT_P
0660: 54 52 20 43 41 4c 4c 42 41 43 4b 20 4f 66 6e 48 TR CALLBACK OfnH
0670: 6f 6f 6b 28 20 48 57 4e 44 2c 20 55 49 4e 54 2c ook( HWND, UINT,
0680: 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 20 WPARAM, LPARAM
0690: 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f );..};........//
06a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06e0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 69 66 6e 64 65 --------..#ifnde
06f0: 66 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 0d 0a 69 f __ccdoc__....i
0700: 6e 6c 69 6e 65 20 4f 70 65 6e 46 69 6c 65 44 6c nline OpenFileDl
0710: 67 3a 3a 4f 70 65 6e 46 69 6c 65 44 6c 67 28 20 g::OpenFileDlg(
0720: 63 6f 6e 73 74 20 43 68 61 72 53 65 74 4c 69 73 const CharSetLis
0730: 74 26 20 63 73 6c 20 29 0d 0a 09 3a 20 63 73 6c t& csl )...: csl
0740: 5f 28 63 73 6c 29 20 7b 7d 0d 0a 0d 0a 69 6e 6c _(csl) {}....inl
0750: 69 6e 65 20 63 6f 6e 73 74 20 54 43 48 41 52 2a ine const TCHAR*
0760: 20 4f 70 65 6e 46 69 6c 65 44 6c 67 3a 3a 66 69 OpenFileDlg::fi
0770: 6c 65 6e 61 6d 65 28 29 20 63 6f 6e 73 74 0d 0a lename() const..
0780: 09 7b 20 72 65 74 75 72 6e 20 66 69 6c 65 6e 61 .{ return filena
0790: 6d 65 5f 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 me_; }....inline
07a0: 20 69 6e 74 20 4f 70 65 6e 46 69 6c 65 44 6c 67 int OpenFileDlg
07b0: 3a 3a 63 73 69 28 29 20 63 6f 6e 73 74 0d 0a 09 ::csi() const...
07c0: 7b 20 72 65 74 75 72 6e 20 63 73 49 6e 64 65 78 { return csIndex
07d0: 5f 3b 20 7d 0d 0a 0d 0a 0d 0a 0d 0a 23 65 6e 64 _; }........#end
07e0: 69 66 20 2f 2f 20 5f 5f 63 63 64 6f 63 5f 5f 0d if // __ccdoc__.
07f0: 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .//=============
0800: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0810: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0820: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0830: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 ===========..//@
0840: 7b 0d 0a 2f 2f 09 81 75 83 74 83 40 83 43 83 8b {..//..u.t.@.C..
0850: 82 f0 95 db 91 b6 81 76 83 5f 83 43 83 41 83 8d .......v._.C.A..
0860: 83 4f 0d 0a 2f 2f 0d 0a 2f 2f 09 57 69 6e 64 6f .O..//..//.Windo
0870: 77 73 8b a4 92 ca 82 cc 83 5f 83 43 83 41 83 8d ws......._.C.A..
0880: 83 4f 82 cc 89 ba 82 c9 81 41 95 b6 8e 9a 83 52 .O.......A.....R
0890: 81 5b 83 68 82 cc 91 49 91 f0 97 93 82 c6 0d 0a .[.h...I........
08a0: 2f 2f 09 89 fc 8d 73 83 52 81 5b 83 68 82 cc 91 //....s.R.[.h...
08b0: 49 91 f0 97 93 82 f0 95 74 82 af 89 c1 82 a6 82 I.......t.......
08c0: bd 82 e0 82 cc 82 f0 95 5c 8e a6 82 b7 82 e9 81 ........\.......
08d0: 42 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d B..//@}..//=====
08e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
08f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0900: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0910: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0920: 3d 3d 3d 0d 0a 0d 0a 63 6c 61 73 73 20 53 61 76 ===....class Sav
0930: 65 46 69 6c 65 44 6c 67 0d 0a 7b 0d 0a 70 75 62 eFileDlg..{..pub
0940: 6c 69 63 3a 0d 0a 09 65 78 70 6c 69 63 69 74 20 lic:...explicit
0950: 53 61 76 65 46 69 6c 65 44 6c 67 28 20 63 6f 6e SaveFileDlg( con
0960: 73 74 20 43 68 61 72 53 65 74 4c 69 73 74 26 20 st CharSetList&
0970: 63 73 6c 2c 20 69 6e 74 20 63 73 2c 20 69 6e 74 csl, int cs, int
0980: 20 6c 62 20 29 3b 0d 0a 09 62 6f 6f 6c 20 44 6f lb );...bool Do
0990: 4d 6f 64 61 6c 28 20 48 57 4e 44 20 77 6e 64 2c Modal( HWND wnd,
09a0: 20 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 66 69 const TCHAR* fi
09b0: 6c 74 65 72 2c 20 63 6f 6e 73 74 20 54 43 48 41 lter, const TCHA
09c0: 52 2a 20 66 6e 6d 20 29 3b 0d 0a 0d 0a 70 75 62 R* fnm );....pub
09d0: 6c 69 63 3a 0d 0a 09 63 6f 6e 73 74 20 54 43 48 lic:...const TCH
09e0: 41 52 2a 20 66 69 6c 65 6e 61 6d 65 28 29 20 63 AR* filename() c
09f0: 6f 6e 73 74 3b 0d 0a 09 69 6e 74 20 63 73 69 28 onst;...int csi(
0a00: 29 20 63 6f 6e 73 74 3b 0d 0a 09 69 6e 74 20 6c ) const;...int l
0a10: 62 28 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 70 75 b() const;....pu
0a20: 62 6c 69 63 3a 0d 0a 09 73 74 61 74 69 63 20 6b blic:...static k
0a30: 69 3a 3a 61 61 72 72 3c 54 43 48 41 52 3e 20 43 i::aarr<TCHAR> C
0a40: 6f 6e 6e 65 63 74 57 69 74 68 4e 75 6c 6c 28 20 onnectWithNull(
0a50: 6b 69 3a 3a 53 74 72 69 6e 67 20 6c 73 74 5b 5d ki::String lst[]
0a60: 2c 20 69 6e 74 20 6e 75 6d 20 29 3b 0d 0a 0d 0a , int num );....
0a70: 70 72 69 76 61 74 65 3a 0d 0a 09 63 6f 6e 73 74 private:...const
0a80: 20 43 68 61 72 53 65 74 4c 69 73 74 26 20 63 73 CharSetList& cs
0a90: 6c 5f 3b 0d 0a 09 54 43 48 41 52 20 66 69 6c 65 l_;...TCHAR file
0aa0: 6e 61 6d 65 5f 5b 4d 41 58 5f 50 41 54 48 5d 3b name_[MAX_PATH];
0ab0: 0d 0a 09 69 6e 74 20 20 20 63 73 49 6e 64 65 78 ...int csIndex
0ac0: 5f 3b 0d 0a 09 69 6e 74 20 20 20 6c 62 5f 3b 0d _;...int lb_;.
0ad0: 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 73 74 ...private:...st
0ae0: 61 74 69 63 20 53 61 76 65 46 69 6c 65 44 6c 67 atic SaveFileDlg
0af0: 2a 20 70 54 68 69 73 3b 20 2f 2f 20 83 7d 83 8b * pThis; // .}..
0b00: 83 60 83 58 83 8c 83 62 83 68 8b d6 8e 7e 81 49 .`.X...b.h...~.I
0b10: 0d 0a 09 73 74 61 74 69 63 20 55 49 4e 54 5f 50 ...static UINT_P
0b20: 54 52 20 43 41 4c 4c 42 41 43 4b 20 4f 66 6e 48 TR CALLBACK OfnH
0b30: 6f 6f 6b 28 20 48 57 4e 44 2c 20 55 49 4e 54 2c ook( HWND, UINT,
0b40: 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 20 WPARAM, LPARAM
0b50: 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d );..};....//----
0b60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0b70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0b80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0b90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0ba0: 2d 2d 2d 2d 0d 0a 23 69 66 6e 64 65 66 20 5f 5f ----..#ifndef __
0bb0: 63 63 64 6f 63 5f 5f 0d 0a 0d 0a 69 6e 6c 69 6e ccdoc__....inlin
0bc0: 65 20 53 61 76 65 46 69 6c 65 44 6c 67 3a 3a 53 e SaveFileDlg::S
0bd0: 61 76 65 46 69 6c 65 44 6c 67 28 20 63 6f 6e 73 aveFileDlg( cons
0be0: 74 20 43 68 61 72 53 65 74 4c 69 73 74 26 20 63 t CharSetList& c
0bf0: 73 6c 2c 20 69 6e 74 20 63 73 2c 20 69 6e 74 20 sl, int cs, int
0c00: 6c 62 20 29 0d 0a 09 3a 20 63 73 6c 5f 28 63 73 lb )...: csl_(cs
0c10: 6c 29 2c 20 63 73 49 6e 64 65 78 5f 28 63 73 29 l), csIndex_(cs)
0c20: 2c 20 6c 62 5f 28 6c 62 29 20 7b 7d 0d 0a 0d 0a , lb_(lb) {}....
0c30: 69 6e 6c 69 6e 65 20 63 6f 6e 73 74 20 54 43 48 inline const TCH
0c40: 41 52 2a 20 53 61 76 65 46 69 6c 65 44 6c 67 3a AR* SaveFileDlg:
0c50: 3a 66 69 6c 65 6e 61 6d 65 28 29 20 63 6f 6e 73 :filename() cons
0c60: 74 0d 0a 09 7b 20 72 65 74 75 72 6e 20 66 69 6c t...{ return fil
0c70: 65 6e 61 6d 65 5f 3b 20 7d 0d 0a 0d 0a 69 6e 6c ename_; }....inl
0c80: 69 6e 65 20 69 6e 74 20 53 61 76 65 46 69 6c 65 ine int SaveFile
0c90: 44 6c 67 3a 3a 63 73 69 28 29 20 63 6f 6e 73 74 Dlg::csi() const
0ca0: 0d 0a 09 7b 20 72 65 74 75 72 6e 20 63 73 49 6e ...{ return csIn
0cb0: 64 65 78 5f 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e dex_; }....inlin
0cc0: 65 20 69 6e 74 20 53 61 76 65 46 69 6c 65 44 6c e int SaveFileDl
0cd0: 67 3a 3a 6c 62 28 29 20 63 6f 6e 73 74 0d 0a 09 g::lb() const...
0ce0: 7b 20 72 65 74 75 72 6e 20 6c 62 5f 3b 20 7d 0d { return lb_; }.
0cf0: 0a 0d 0a 69 6e 6c 69 6e 65 20 6b 69 3a 3a 61 61 ...inline ki::aa
0d00: 72 72 3c 54 43 48 41 52 3e 20 53 61 76 65 46 69 rr<TCHAR> SaveFi
0d10: 6c 65 44 6c 67 3a 3a 43 6f 6e 6e 65 63 74 57 69 leDlg::ConnectWi
0d20: 74 68 4e 75 6c 6c 0d 0a 09 28 20 6b 69 3a 3a 53 thNull...( ki::S
0d30: 74 72 69 6e 67 20 6c 73 74 5b 5d 2c 20 69 6e 74 tring lst[], int
0d40: 20 6e 75 6d 20 29 0d 0a 09 7b 20 72 65 74 75 72 num )...{ retur
0d50: 6e 20 4f 70 65 6e 46 69 6c 65 44 6c 67 3a 3a 43 n OpenFileDlg::C
0d60: 6f 6e 6e 65 63 74 57 69 74 68 4e 75 6c 6c 28 20 onnectWithNull(
0d70: 6c 73 74 2c 20 6e 75 6d 20 29 3b 20 7d 0d 0a 0d lst, num ); }...
0d80: 0a 0d 0a 0d 0a 23 65 6e 64 69 66 20 2f 2f 20 5f .....#endif // _
0d90: 5f 63 63 64 6f 63 5f 5f 0d 0a 2f 2f 3d 3d 3d 3d _ccdoc__..//====
0da0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0db0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0dc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0dd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0de0: 3d 3d 3d 3d 0d 0a 2f 2f 40 7b 0d 0a 2f 2f 09 81 ====..//@{..//..
0df0: 75 8a 4a 82 ab 92 bc 82 b7 81 76 83 5f 83 43 83 u.J.......v._.C.
0e00: 41 83 8d 83 4f 0d 0a 2f 2f 0d 0a 2f 2f 09 95 b6 A...O..//..//...
0e10: 8e 9a 83 52 81 5b 83 68 91 49 91 f0 97 93 95 5c ...R.[.h.I.....\
0e20: 8e a6 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d ....//@}..//====
0e30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0e40: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0e50: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0e60: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0e70: 3d 3d 3d 3d 0d 0a 0d 0a 63 6c 61 73 73 20 52 65 ====....class Re
0e80: 6f 70 65 6e 44 6c 67 20 3a 20 70 75 62 6c 69 63 openDlg : public
0e90: 20 6b 69 3a 3a 44 6c 67 49 6d 70 6c 0d 0a 7b 0d ki::DlgImpl..{.
0ea0: 0a 70 75 62 6c 69 63 3a 0d 0a 09 52 65 6f 70 65 .public:...Reope
0eb0: 6e 44 6c 67 28 20 63 6f 6e 73 74 20 43 68 61 72 nDlg( const Char
0ec0: 53 65 74 4c 69 73 74 26 20 63 73 6c 2c 20 69 6e SetList& csl, in
0ed0: 74 20 63 73 69 20 29 3b 0d 0a 09 69 6e 74 20 63 t csi );...int c
0ee0: 73 69 28 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 70 si() const;....p
0ef0: 72 69 76 61 74 65 3a 0d 0a 09 76 6f 69 64 20 6f rivate:...void o
0f00: 6e 5f 69 6e 69 74 28 29 3b 0d 0a 09 62 6f 6f 6c n_init();...bool
0f10: 20 6f 6e 5f 6f 6b 28 29 3b 0d 0a 0d 0a 70 72 69 on_ok();....pri
0f20: 76 61 74 65 3a 0d 0a 09 63 6f 6e 73 74 20 43 68 vate:...const Ch
0f30: 61 72 53 65 74 4c 69 73 74 26 20 63 73 6c 5f 3b arSetList& csl_;
0f40: 0d 0a 09 69 6e 74 20 20 20 63 73 49 6e 64 65 78 ...int csIndex
0f50: 5f 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d _;..};....//----
0f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0fa0: 2d 2d 2d 2d 0d 0a 23 69 66 6e 64 65 66 20 5f 5f ----..#ifndef __
0fb0: 63 63 64 6f 63 5f 5f 0d 0a 0d 0a 69 6e 6c 69 6e ccdoc__....inlin
0fc0: 65 20 69 6e 74 20 52 65 6f 70 65 6e 44 6c 67 3a e int ReopenDlg:
0fd0: 3a 63 73 69 28 29 20 63 6f 6e 73 74 0d 0a 09 7b :csi() const...{
0fe0: 20 72 65 74 75 72 6e 20 63 73 49 6e 64 65 78 5f return csIndex_
0ff0: 3b 20 7d 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d ; }........//===
1000: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1010: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1040: 3d 3d 3d 3d 3d 0d 0a 0d 0a 23 65 6e 64 69 66 20 =====....#endif
1050: 2f 2f 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 23 65 // __ccdoc__..#e
1060: 6e 64 69 66 20 2f 2f 20 5f 47 52 45 45 4e 50 41 ndif // _GREENPA
1070: 44 5f 4f 50 45 4e 53 41 56 45 44 4c 47 5f 48 5f D_OPENSAVEDLG_H_
1080: 0d 0a ..