ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/proj/trunk/VTBFileUtil2/VTBFileUtil2.cxx
(Generate patch)

Comparing trunk/VTBFileUtil2/VTBFileUtil2.cxx (file contents):
Revision 264 by douglas, 2003-08-16T17:43:49-07:00 vs.
Revision 291 by douglas, 2003-09-05T01:57:00-07:00

# Line 2 | Line 2
2   //
3   // Douglas Thrift
4   //
5 < // $Id: VTBFileUtil2.cxx,v 1.7 2003/08/17 00:43:49 douglas Exp $
5 > // $Id: VTBFileUtil2.cxx,v 1.13 2003/09/05 08:57:00 douglas Exp $
6  
7   #include "VTBFileUtil2.h"
8   #include "Chooser.h"
# Line 15 | Line 15
15   bool debug = false;
16   string program;
17   string programName = "Vance Thrift and Biller File Utility 2";
18 < string programVersion = "2.0alpha";
18 > string programVersion = "2.0beta";
19   Gui gui;
20  
21 < INT_PTR CALLBACK usage(HWND dialog, UINT msg, WPARAM w, LPARAM l);
22 < INT_PTR CALLBACK version(HWND dialog, UINT msg, WPARAM w, LPARAM l);
21 > static INT_PTR CALLBACK usage(HWND dialog, UINT msg, WPARAM w, LPARAM l);
22 > static INT_PTR CALLBACK version(HWND dialog, UINT msg, WPARAM w, LPARAM l);
23  
24 < inline void arguments(vector<string>& args, const string& command)
24 > static inline void arguments(vector<string>& args, const string& command)
25   {
26          istringstream line(command);
27          string arg;
# Line 39 | Line 39 | inline void arguments(vector<string>& ar
39                          line.get();
40                  }
41  
42 <                args.push_back(arg);
42 >                if (arg != "")
43 >                {
44 >                        args.push_back(arg);
45 >                }
46          }
47          while (line.good());
48   }
49  
50 < inline void munge(void)
50 > static inline void munge(void)
51   {
52          AllocConsole();
53          SetConsoleTitle(programName.c_str());
# Line 70 | Line 73 | inline void munge(void)
73          cerr.sync_with_stdio();
74   }
75  
76 < inline void usage(HWND parent)
76 > void usage(HWND parent)
77   {
78          DialogBox(gui.instance, MAKEINTRESOURCE(IDD_USAGE), parent, usage);
79   }
80  
81 < inline void version(HWND parent)
81 > void version(HWND parent)
82   {
83          DialogBox(gui.instance, MAKEINTRESOURCE(IDD_VERSION), parent, version);
84   }
# Line 86 | Line 89 | int WINAPI WinMain(HINSTANCE hInstance,
89          vector<string> args;
90          
91          InitCommonControls();
92 +        CoInitialize(NULL);
93          arguments(args, GetCommandLine());
94  
95          program = args[0];
# Line 94 | Line 98 | int WINAPI WinMain(HINSTANCE hInstance,
98  
99          gui.instance = hInstance;
100          gui.icon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_VTB_ICON));
101 <        gui.tips = 0;
101 >        gui.show = nShowCmd;
102  
103          for (unsigned index = 1; index < args.size(); index++)
104          {
# Line 158 | Line 162 | int WINAPI WinMain(HINSTANCE hInstance,
162                  cerr << "\n";
163          }
164  
165 +        License license;
166 +
167 +        license.check();
168 +
169          if (mode == none)
170          {
171                  Chooser chooser;
# Line 190 | Line 198 | int WINAPI WinMain(HINSTANCE hInstance,
198  
199          if (mode == disc)
200          {
201 <                MessageBox(NULL, "Disc Browse mode", programName.c_str(),
202 <                        MB_ICONINFORMATION);
201 >                DiscBrowse browser;
202 >
203 >                browser.run();
204          }
205          else if (mode == scan)
206          {
207 <                MessageBox(NULL, "Scan Utility mode", programName.c_str(),
208 <                        MB_ICONINFORMATION);
207 >                ScanUtility utility;
208 >
209 >                utility.run();
210          }
211  
212 +        CoUninitialize();
213 +
214          if (debug)
215          {
216                  cout << "Press enter key to exit . . .";
# Line 208 | Line 220 | int WINAPI WinMain(HINSTANCE hInstance,
220          return 0;
221   }
222  
211 void tooltip(HWND tool, const string& tip)
212 {
213        HWND tooltip = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, WS_POPUP
214                | TTS_NOPREFIX | TTS_ALWAYSTIP, CW_USEDEFAULT, CW_USEDEFAULT,
215                CW_USEDEFAULT, CW_USEDEFAULT, tool, NULL, gui.instance, NULL);
216        RECT rect;
217
218        SetWindowPos(tooltip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE |
219                SWP_NOACTIVATE);
220
221        GetClientRect(tool, &rect);
222
223        TOOLINFO toolinfo;
224        LPTSTR ctip = new CHAR[tip.length()];
225
226        sprintf(ctip, "%s", tip.c_str());
227
228        if (debug) cerr << "ctip = " << ctip << "\n";
229
230        toolinfo.cbSize = sizeof(TOOLINFO);
231        toolinfo.uFlags = TTF_SUBCLASS;
232        toolinfo.hwnd = tool;
233        toolinfo.hinst = gui.instance;
234        toolinfo.uId = gui.tips++;
235        toolinfo.lpszText = ctip;
236        toolinfo.rect.left = rect.left;
237        toolinfo.rect.top = rect.top;
238        toolinfo.rect.right = rect.right;
239        toolinfo.rect.bottom = rect.bottom;
240
241        SendMessage(tooltip, TTM_ADDTOOL, 0, LPARAM(LPTOOLINFO(&toolinfo)));
242 }
243
223   INT_PTR CALLBACK usage(HWND dialog, UINT msg, WPARAM w, LPARAM l)
224   {
225          switch (msg)
# Line 249 | Line 228 | INT_PTR CALLBACK usage(HWND dialog, UINT
228                  center(dialog);
229                  SendMessage(dialog, WM_SETICON, ICON_BIG, LPARAM(gui.icon));
230                  SendMessage(dialog, WM_SETTEXT, 0, LPARAM(programName.c_str()));
231 +
232                  {
233                          ostringstream usage;
234  
235 <                        usage << "Usage: VTBFileUtil [-help | -version | -disc | -scan]\n"
236 <                                << "\nOptions:\n"
237 <                                << "  -help\t\tDisplay this information\n"
238 <                                << "  -version\tDisplay version information\n"
239 <                                << "  -disc\t\tStart in Disc Browse mode\n"
240 <                                << "  -scan\t\tStart in Scan Utility mode\n";
235 >                        usage << "Usage: VTBFileUtil [-help | -version | -disc | -scan]\r"
236 >                                << "\n"
237 >                                << "\r\nOptions:\r\n"
238 >                                << "  -help\t\tDisplay this information\r\n"
239 >                                << "  -version\t\tDisplay version information\r\n"
240 >                                << "  -disc\t\tStart in Disc Browse mode\r\n"
241 >                                << "  -scan\t\tStart in Scan Utility mode\r\n";
242  
243 <                        SendMessage(GetDlgItem(dialog, IDC_USAGE_TEXT), WM_SETTEXT, 0,
263 <                                LPARAM(usage.str().c_str()));
243 >                        SetDlgItemText(dialog, IDC_USAGE_TEXT, usage.str().c_str());
244                  }
245                  break;
246          case WM_COMMAND:
# Line 287 | Line 267 | INT_PTR CALLBACK version(HWND dialog, UI
267                  center(dialog);
268                  SendMessage(dialog, WM_SETICON, ICON_BIG, LPARAM(gui.icon));
269                  SendMessage(dialog, WM_SETTEXT, 0, LPARAM(programName.c_str()));
270 +                
271                  {
272                          ostringstream version;
273  
274 <                        version << programName << " (" << programVersion << ")\n\n"
274 >                        version << programName << " (" << programVersion << ")\r\n\r\n"
275                                  << "Copyright © 2003, Douglas Thrift.\n";
276  
277 <                        SendMessage(GetDlgItem(dialog, IDC_VERSION_TEXT), WM_SETTEXT, 0,
297 <                                LPARAM(version.str().c_str()));
277 >                        SetDlgItemText(dialog, IDC_VERSION_TEXT, version.str().c_str());
278                  }
279                  break;
280          case WM_COMMAND:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines