Hex Artifact Content

Not logged in

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                                            ..