Mercurial > ecos
annotate host/tools/configtool/standalone/wxwin/configtool.cpp @ 3282:b340d0ab5dd3
* configtool/standalone/wxwin/configtool.cpp,
configtool/standalone/wxwin/configtooldoc.cpp,
configtool/standalone/wxwin/configtree.cpp,
configtool/standalone/wxwin/configtree.h,
configtool/standalone/wxwin/filename.cpp,
configtool/standalone/wxwin/packagesdlg.cpp,
configtool/standalone/wxwin/propertywin.cpp,
configtool/standalone/wxwin/runtestsdlg.cpp,
configtool/standalone/wxwin/templatesdlg.cpp,
ecostest/common/eCosTest.cpp: Silence unused variable warnings with
recent GCC. [ Bugzilla 1001950 ]
| author | jld |
|---|---|
| date | Thu, 13 Mar 2014 15:22:25 +0000 |
| parents | 53088a1817a7 |
| children |
| rev | line source |
|---|---|
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
1 // ####ECOSHOSTGPLCOPYRIGHTBEGIN#### |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
2 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
3 // This file is part of the eCos host tools. |
| 3276 | 4 // Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2008, 2009, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
5 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
6 // This program is free software; you can redistribute it and/or modify |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
7 // it under the terms of the GNU General Public License as published by |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
8 // the Free Software Foundation; either version 2 or (at your option) any |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
9 // later version. |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
10 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
11 // This program is distributed in the hope that it will be useful, but |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
12 // WITHOUT ANY WARRANTY; without even the implied warranty of |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
14 // General Public License for more details. |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
15 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
16 // You should have received a copy of the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
17 // along with this program; if not, write to the |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
18 // Free Software Foundation, Inc., 51 Franklin Street, |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
19 // Fifth Floor, Boston, MA 02110-1301, USA. |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
20 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2697
diff
changeset
|
21 // ####ECOSHOSTGPLCOPYRIGHTEND#### |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
22 // configtool.cpp : |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
23 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
24 //=========================================================================== |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
25 //#####DESCRIPTIONBEGIN#### |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
26 // |
|
560
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
27 // Author(s): julians, jld |
|
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
28 // Contact(s): julians, jld |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
29 // Date: 2000/08/24 |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
30 // Version: $Id: configtool.cpp,v 1.51 2001/12/11 15:59:51 julians Exp $ |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
31 // Purpose: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
32 // Description: Implementation file for the ConfigTool application class |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
33 // Requires: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
34 // Provides: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
35 // See also: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
36 // Known bugs: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
37 // Usage: |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
38 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
39 //####DESCRIPTIONEND#### |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
40 // |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
41 //=========================================================================== |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
42 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
43 // ============================================================================ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
44 // declarations |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
45 // ============================================================================ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
46 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
47 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
48 // headers |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
49 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
50 #ifdef __GNUG__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
51 #pragma implementation "configtool.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
52 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
53 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
54 // Includes other headers for precompiled compilation |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
55 #include "ecpch.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
56 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
57 #ifdef __BORLANDC__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
58 #pragma hdrstop |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
59 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
60 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
61 #include "eCosSocket.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
62 #include "eCosTestPlatform.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
63 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
64 #include "wx/splash.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
65 #include "wx/cshelp.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
66 #include "wx/image.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
67 #include "wx/filesys.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
68 #include "wx/fs_zip.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
69 #include "wx/config.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
70 #include "wx/cmdline.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
71 #include "wx/process.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
72 #include "wx/mimetype.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
73 #include "wx/txtstrm.h" |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
74 #include "wx/wfstream.h" |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
75 #include "wx/fs_mem.h" |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
76 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
77 #include "configtool.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
78 #include "configtoolview.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
79 #include "configtree.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
80 #include "mainwin.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
81 #include "outputwin.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
82 #include "configtooldoc.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
83 #include "aboutdlg.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
84 #include "shortdescrwin.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
85 #include "conflictwin.h" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
86 #include "propertywin.h" |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
87 #include "symbols.h" |
|
191
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
88 #include "build.hxx" |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
89 #include "Subprocess.h" |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
90 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
91 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
92 // resources |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
93 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
94 // the application icon |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
95 #if defined(__WXGTK__) || defined(__WXMOTIF__) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
96 #include "bitmaps/configtool.xpm" |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
97 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
98 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
99 // Create a new application object. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
100 IMPLEMENT_APP(ecApp) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
101 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
102 BEGIN_EVENT_TABLE(ecApp, wxApp) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
103 // Don't handle automatically, or it will bypass more specific processing. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
104 // EVT_MENU(ecID_WHATS_THIS, ecApp::OnWhatsThis) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
105 END_EVENT_TABLE() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
106 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
107 bool ecApp::sm_arMounted[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
108 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
109 static const wxCmdLineEntryDesc sg_cmdLineDesc[] = |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
110 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
111 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
112 { wxCMD_LINE_SWITCH, "v", "verbose", "be verbose" }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
113 { wxCMD_LINE_SWITCH, "q", "quiet", "be quiet" }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
114 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
115 { wxCMD_LINE_OPTION, "o", "output", "output file" }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
116 { wxCMD_LINE_OPTION, "i", "input", "input dir" }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
117 { wxCMD_LINE_OPTION, "s", "size", "output block size", wxCMD_LINE_VAL_NUMBER }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
118 { wxCMD_LINE_OPTION, "d", "date", "output file date", wxCMD_LINE_VAL_DATE }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
119 */ |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
120 { wxCMD_LINE_SWITCH, "h", "help", "displays help on the command line parameters" }, |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
121 { wxCMD_LINE_SWITCH, "e", "edit-only", "edit save file only" }, |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
122 { wxCMD_LINE_SWITCH, "v", "version", "print version" }, |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
123 { wxCMD_LINE_SWITCH, "c", "compile-help", "compile online help only" }, |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
124 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
125 { wxCMD_LINE_PARAM, NULL, NULL, "input file 1", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
126 { wxCMD_LINE_PARAM, NULL, NULL, "input file 2", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL }, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
127 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
128 { wxCMD_LINE_NONE } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
129 }; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
130 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
131 ecApp::ecApp() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
132 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
133 m_docManager = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
134 m_mainFrame = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
135 m_currentDoc = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
136 m_helpFile = wxEmptyString; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
137 m_splashScreen = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
138 m_pipedProcess = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
139 m_valuesLocked = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
140 m_helpController = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
141 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
142 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
143 ecApp::~ecApp() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
144 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
145 delete m_whatsThisMenu; |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
146 delete m_fileSystem; |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
147 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
148 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
149 // 'Main program' equivalent: the program execution "starts" here |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
150 bool ecApp::OnInit() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
151 { |
|
2246
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
152 // workaround for an exception handling issue with Cygwin 1.5.20 |
|
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
153 #ifdef __CYGWIN__ |
|
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
154 try { |
|
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
155 throw int(42); |
|
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
156 } catch(...) { }; |
|
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
157 #endif |
|
cf44f62361c7
* tools/configtool/standalone/wxwin/configtool.cpp: Workaround an exception
jld
parents:
1469
diff
changeset
|
158 |
| 2515 | 159 // Mandatory initialisation for Tcl 8.4 |
| 160 Tcl_FindExecutable(argv[0]); | |
| 161 | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
162 wxLog::SetTimestamp(NULL); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
163 |
| 2515 | 164 m_whatsThisMenu = new wxMenu; |
| 165 m_whatsThisMenu->Append(ecID_WHATS_THIS, _("&What's This?")); | |
| 166 | |
| 167 m_fileSystem = new wxFileSystem; | |
| 168 #if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB | |
| 169 m_zipHandler = new wxZipFSHandler; | |
| 170 #endif | |
| 171 | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
172 wxHelpProvider::Set(new wxSimpleHelpProvider); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
173 //wxHelpProvider::Set(new wxHelpControllerHelpProvider(& m_helpController)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
174 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
175 wxImage::AddHandler(new wxPNGHandler); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
176 wxImage::AddHandler(new wxGIFHandler); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
177 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
178 // Required for advanced HTML help |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
179 #if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
180 wxFileSystem::AddHandler(m_zipHandler); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
181 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
182 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
183 wxString currentDir = wxGetCwd(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
184 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
185 // Use argv to get current app directory |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
186 m_appDir = wxFindAppPath(argv[0], currentDir, wxT("CONFIGTOOLDIR")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
187 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
188 // If the development version, go up a directory. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
189 #ifdef __WXMSW__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
190 if ((m_appDir.Right(5).CmpNoCase("DEBUG") == 0) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
191 (m_appDir.Right(11).CmpNoCase("DEBUGSTABLE") == 0) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
192 (m_appDir.Right(7).CmpNoCase("RELEASE") == 0) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
193 (m_appDir.Right(13).CmpNoCase("RELEASESTABLE") == 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
194 ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
195 m_appDir = wxPathOnly(m_appDir); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
196 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
197 |
|
949
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
198 // Install default platform definitions if no platforms defined |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
199 #ifdef __WXMSW__ |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
200 wxConfig config (wxGetApp().GetSettings().GetConfigAppName()); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
201 if (! config.Exists (wxT("Platforms"))) |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
202 { |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
203 wxFileName platforms (m_appDir, wxT("platforms.reg")); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
204 platforms.Normalize(); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
205 if (platforms.FileExists()) |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
206 wxExecute (wxT("regedit /s \"") + platforms.GetFullPath() + wxT("\""), wxEXEC_SYNC); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
207 } |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
208 #endif |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
209 #ifdef __WXGTK__ |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
210 wxFileName config (wxFileName::GetHomeDir(), wxEmptyString); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
211 config.AppendDir(wxT(".eCosPlatforms")); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
212 if (! config.DirExists()) |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
213 { |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
214 wxFileName platforms (m_appDir, wxT("platforms.tar")); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
215 platforms.Normalize(); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
216 if (platforms.FileExists()) |
|
951
3021b4922c80
* standalone/wxwin/appsettings.cpp, standalone/wxwin/mainwin.cpp:
jld
parents:
949
diff
changeset
|
217 wxExecute (wxT("tar -C ") + wxFileName::GetHomeDir() + wxT(" -xf ") + platforms.GetFullPath(), wxEXEC_SYNC); |
|
949
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
218 } |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
219 #endif |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
220 |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
221 CeCosSocket::Init(); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
222 CeCosTestPlatform::Load(); |
|
23fdb1c9f07a
* standalone/wxwin/configtool.cpp: Install default platform definitions on
jld
parents:
867
diff
changeset
|
223 |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
224 // Load resources from binary resources archive, or failing that, from |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
225 // Windows resources or plain files |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
226 LoadResources(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
227 |
| 2515 | 228 // remove "tty" from CYGWIN environment variable to allow correct |
| 229 // execution of cygwin command-line tools from this application | |
| 230 #ifdef __WXMSW__ | |
| 231 wxString strCygwin = wxGetenv(wxT("CYGWIN")); | |
| 232 strCygwin = wxT(" ") + strCygwin; | |
| 233 strCygwin.Replace(wxT(" tty"), wxEmptyString); | |
| 234 strCygwin.Trim(false); | |
| 235 wxSetEnv(wxT("CYGWIN"), strCygwin); | |
| 236 #endif | |
| 237 | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
238 wxGetEnv(wxT("PATH"), & m_strOriginalPath); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
239 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
240 // Create a document manager |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
241 m_docManager = new wxDocManager; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
242 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
243 // Create a template relating documents to their views |
|
165
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
244 wxDocTemplate* templ = new wxDocTemplate(m_docManager, "Configtool", "*.ecc", "", "ecc", "Configtool Doc", "Configtool View", |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
245 CLASSINFO(ecConfigToolDoc), CLASSINFO(ecConfigToolView)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
246 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
247 // If we've only got one window, we only get to edit |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
248 // one document at a time. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
249 m_docManager->SetMaxDocsOpen(1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
250 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
251 // Initialize config settings |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
252 m_settings.Init(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
253 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
254 // Let wxWindows know what the app name is |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
255 SetAppName(m_settings.GetAppName()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
256 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
257 InitializeWindowSettings(TRUE /* beforeWindowConstruction */) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
258 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
259 // Load config settings |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
260 m_settings.LoadConfig(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
261 |
|
165
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
262 // Set the default directory for opening/saving files |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
263 if (!m_settings.m_lastFilename.IsEmpty()) |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
264 templ->SetDirectory(wxPathOnly(m_settings.m_lastFilename)); |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
265 |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
266 // Parse the command-line parameters and options |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
267 wxCmdLineParser parser(sg_cmdLineDesc, argc, argv); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
268 int res; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
269 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
270 wxLogNull log; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
271 res = parser.Parse(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
272 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
273 if (res == -1 || res > 0 || parser.Found(wxT("h"))) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
274 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
275 #ifdef __WXGTK__ |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
276 wxLog::SetActiveTarget(new wxLogStderr); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
277 #endif |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
278 parser.Usage(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
279 return FALSE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
280 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
281 if (parser.Found(wxT("v"))) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
282 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
283 #ifdef __WXGTK__ |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
284 wxLog::SetActiveTarget(new wxLogStderr); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
285 #endif |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
286 wxString msg; |
| 3276 | 287 msg.Printf(wxT("eCos Configuration Tool (c) Free Software Foundation, Inc., 1998-2014 Version %s, %s"), ecCONFIGURATION_TOOL_VERSION, __DATE__); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
288 wxLogMessage(msg); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
289 return FALSE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
290 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
291 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
292 /* |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
293 #ifdef __WXMSW__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
294 wxBitmap bitmap(wxBITMAP(splash)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
295 #else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
296 wxBitmap bitmap; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
297 if (wxFileExists("splash16.png")) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
298 bitmap.LoadFile("splash16.png", wxBITMAP_TYPE_PNG); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
299 #endif |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
300 */ |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
301 |
|
184
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
302 // wxYieldIfNeeded(); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
303 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
304 // create the main application window |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
305 ecMainFrame *frame = new ecMainFrame(m_docManager, GetSettings().GetAppName(), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
306 wxPoint(GetSettings().m_frameSize.x, GetSettings().m_frameSize.y), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
307 wxSize(GetSettings().m_frameSize.width, GetSettings().m_frameSize.height)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
308 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
309 m_mainFrame = frame; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
310 SetTopWindow(frame); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
311 frame->Show(TRUE); |
| 2466 | 312 |
| 313 #if wxCHECK_VERSION(2, 6, 0) | |
| 314 // Don't do anything for now as the function is only for wxWidgets internal use | |
| 315 #else | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
316 SendIdleEvents(); // Otherwise UI updates aren't done, because it's busy loading the repository |
| 2466 | 317 #endif |
| 318 | |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
319 #ifdef __WXMSW__ |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
320 ::UpdateWindow((HWND) frame->GetHWND()); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
321 #endif |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
322 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
323 InitializeWindowSettings(FALSE /* beforeWindowConstruction */) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
324 |
|
184
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
325 if (m_splashScreenBitmap.Ok() && GetSettings().m_showSplashScreen) |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
326 { |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
327 m_splashScreen = new ecSplashScreen(m_splashScreenBitmap, wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
328 5000, NULL, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxFRAME_FLOAT_ON_PARENT|wxSTAY_ON_TOP); |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
329 } |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
330 |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
331 // if (m_splashScreen) |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
332 // m_splashScreen->Raise(); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
333 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
334 wxYieldIfNeeded(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
335 |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
336 if (parser.Found(wxT("e"))) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
337 GetSettings().m_editSaveFileOnly = TRUE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
338 |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
339 // If in --compile-help (-c) mode, then exit immediately after recompiling help file |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
340 bool compileHelpOnly = parser.Found(wxT("c")); |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
341 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
342 wxString filenameToOpen1, filenameToOpen2; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
343 if (parser.GetParamCount() > 0) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
344 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
345 wxString tmpSaveFile; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
346 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
347 filenameToOpen1 = parser.GetParam(0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
348 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
349 if (parser.GetParamCount() > 1) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
350 filenameToOpen2 = parser.GetParam(1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
351 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
352 bool gotRepository = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
353 bool gotSavefile = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
354 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
355 wxString repositoryDir, saveFile; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
356 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
357 // Might be e.g. . or .. in path, or relative path |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
358 filenameToOpen1 = wxGetRealPath(currentDir, filenameToOpen1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
359 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
360 if (parser.GetParamCount() > 1) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
361 filenameToOpen2 = wxGetRealPath(currentDir, filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
362 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
363 wxString path1, name1, ext1; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
364 wxSplitPath(filenameToOpen1, & path1, & name1, & ext1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
365 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
366 wxString path2, name2, ext2; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
367 wxSplitPath(filenameToOpen2, & path2, & name2, & ext2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
368 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
369 // Look at the first file |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
370 if (ext1 == "ecc" || ext1 == "ECC") |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
371 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
372 if (wxFileExists(filenameToOpen1)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
373 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
374 gotSavefile = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
375 saveFile = filenameToOpen1; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
376 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
377 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
378 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
379 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
380 msg.Printf("%s is not a valid file.", (const wxChar*) filenameToOpen1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
381 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
382 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
383 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
384 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
385 else if (wxDirExists(filenameToOpen1) && FindSaveFileInDir(filenameToOpen1, tmpSaveFile)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
386 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
387 saveFile = tmpSaveFile; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
388 gotSavefile = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
389 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
390 else if ((name1 == wxT("ecos") && ext1 == wxT("db") && wxFileExists(filenameToOpen1)) || wxDirExists(filenameToOpen1)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
391 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
392 // It's a repository (we hope). |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
393 if (name1 == wxT("ecos") && ext1 == wxT("db")) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
394 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
395 // Go two steps up |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
396 filenameToOpen1 = wxPathOnly(filenameToOpen1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
397 filenameToOpen1 = wxPathOnly(filenameToOpen1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
398 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
399 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
400 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
401 // If it's the packages directory, we need to strip off |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
402 // a directory |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
403 wxString eccPath(filenameToOpen1 + wxString(wxFILE_SEP_PATH) + wxT("ecc")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
404 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
405 // Don't strip off ecc if it's the CVS repository (with ecc below it) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
406 if (name1 == wxT("packages") || (name1 == wxT("ecc") && !wxDirExists(eccPath))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
407 filenameToOpen1 = wxPathOnly(filenameToOpen1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
408 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
409 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
410 repositoryDir = filenameToOpen1; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
411 gotRepository = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
412 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
413 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
414 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
415 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
416 msg.Printf("%s is neither a project file nor a valid repository.", (const wxChar*) filenameToOpen1); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
417 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
418 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
419 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
420 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
421 // Look at the second file, if any |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
422 if (parser.GetParamCount() > 1) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
423 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
424 if (ext2 == "ecc" || ext2 == "ECC") |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
425 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
426 if (wxFileExists(filenameToOpen2)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
427 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
428 if (gotSavefile) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
429 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
430 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
431 msg.Printf("%s is a second save file -- please supply only one.", (const wxChar*) filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
432 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
433 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
434 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
435 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
436 gotSavefile = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
437 saveFile = filenameToOpen2; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
438 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
439 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
440 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
441 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
442 msg.Printf("%s is not a valid file.", (const wxChar*) filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
443 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
444 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
445 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
446 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
447 else if (!gotSavefile && wxDirExists(filenameToOpen2) && FindSaveFileInDir(filenameToOpen2, tmpSaveFile)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
448 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
449 saveFile = tmpSaveFile; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
450 gotSavefile = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
451 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
452 else if ((name2 == wxT("ecos") && ext2 == wxT("db") && wxFileExists(filenameToOpen2)) || wxDirExists(filenameToOpen2)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
453 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
454 if (gotRepository) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
455 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
456 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
457 msg.Printf("%s is a second repository -- please supply only one.", (const wxChar*) filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
458 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
459 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
460 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
461 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
462 // It's a repository (we hope). |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
463 if (name1 == wxT("ecos") && ext1 == wxT("db")) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
464 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
465 // Go two steps up |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
466 filenameToOpen2 = wxPathOnly(filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
467 filenameToOpen2 = wxPathOnly(filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
468 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
469 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
470 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
471 // If it's the packages directory, we need to strip off |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
472 // a directory |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
473 wxString eccPath(filenameToOpen2 + wxString(wxFILE_SEP_PATH) + wxT("ecc")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
474 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
475 // Don't strip off ecc if it's the CVS repository (with ecc below it) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
476 if (name2 == wxT("packages") || (name2 == wxT("ecc") && !wxDirExists(eccPath))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
477 filenameToOpen2 = wxPathOnly(filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
478 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
479 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
480 repositoryDir = filenameToOpen2; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
481 gotRepository = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
482 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
483 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
484 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
485 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
486 msg.Printf("%s is neither a project file nor a valid repository.", (const wxChar*) filenameToOpen2); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
487 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
488 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
489 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
490 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
491 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
492 // Now we have looked at the two files and decided what they are; let's |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
493 // act on it. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
494 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
495 if (gotRepository) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
496 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
497 GetSettings().m_strRepository = repositoryDir; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
498 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
499 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
500 if (!gotSavefile) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
501 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
502 // See if there's a save file in the current dir |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
503 if (FindSaveFileInDir(currentDir, saveFile)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
504 gotSavefile = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
505 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
506 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
507 if (gotSavefile) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
508 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
509 // The repository will be loaded from m_strRepository, possibly set above. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
510 m_docManager->CreateDocument(saveFile, wxDOC_SILENT); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
511 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
512 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
513 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
514 // Create a new file |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
515 m_docManager->CreateDocument(wxString(""), wxDOC_NEW); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
516 } |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
517 |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
518 if (compileHelpOnly) |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
519 { |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
520 if (!gotRepository) |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
521 { |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
522 wxString msg; |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
523 msg.Printf(wxT("Please specify a repository when using the --compile-help option.")); |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
524 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
525 return FALSE; |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
526 } |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
527 ecConfigToolDoc* doc = wxGetApp().GetConfigToolDoc(); |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
528 if (doc) |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
529 { |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
530 if (!doc->RebuildHelpIndex(TRUE)) |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
531 { |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
532 wxString msg; |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
533 msg.Printf(wxT("Sorry, there was a problem compiling the help index.")); |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
534 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
839
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
535 return FALSE; |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
536 } |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
537 } |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
538 else |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
539 { |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
540 wxString msg; |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
541 msg.Printf(wxT("Sorry, there was no current document when compiling the help index.")); |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
542 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
839
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
543 return FALSE; |
|
199
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
544 } |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
545 |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
546 // Return FALSE in order to quit the application |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
547 return FALSE; |
|
920b9b754b53
Merge from eCos master repository on 2001-12-15-12:00:33-GMT
jlarmour
parents:
191
diff
changeset
|
548 } |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
549 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
550 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
551 { |
|
2697
d6e76cd040e3
* standalone/wxwin/configitem.cpp: Observe item/macro name setting
jld
parents:
2689
diff
changeset
|
552 if (GetSettings().m_strRepository.IsEmpty() || |
|
d6e76cd040e3
* standalone/wxwin/configitem.cpp: Observe item/macro name setting
jld
parents:
2689
diff
changeset
|
553 !wxFileName::DirExists(GetSettings().m_strRepository)) // first invocation by this user |
|
839
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
554 { |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
555 // we have no clues as to the location of the repository so |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
556 // test for ../../packages relative to the configtool location |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
557 wxFileName repository = wxFileName (m_appDir, wxEmptyString); |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
558 repository.Normalize(); // remove trailing "./" if present |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
559 repository.RemoveDir (repository.GetDirCount()-1); |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
560 repository.RemoveDir (repository.GetDirCount()-1); |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
561 repository.AppendDir (wxT("packages")); |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
562 if (repository.DirExists()) // we've found a repository |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
563 { |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
564 repository.RemoveDir (repository.GetDirCount()-1); |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
565 GetSettings().m_strRepository = repository.GetFullPath(); |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
566 } |
|
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
567 } |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
568 m_docManager->CreateDocument(wxString(""), wxDOC_NEW); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
569 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
570 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
571 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
572 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
573 |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
574 // Load resources from disk |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
575 bool ecApp::LoadResources() |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
576 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
577 wxFileSystem::AddHandler(new wxMemoryFSHandler); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
578 |
|
560
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
579 // LoadBitmapResource(m_splashScreenBitmap, wxT("splash16.png"), wxBITMAP_TYPE_PNG, FALSE); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
580 |
|
560
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
581 // wxBitmap bitmap1, bitmap2, bitmap3; |
|
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
582 // LoadBitmapResource(bitmap1, wxT("ecoslogo.png"), wxBITMAP_TYPE_PNG, TRUE); |
|
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
583 // LoadBitmapResource(bitmap2, wxT("ecoslogosmall.png"), wxBITMAP_TYPE_PNG, TRUE); |
|
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
584 // LoadBitmapResource(bitmap3, wxT("rhlogo.png"), wxBITMAP_TYPE_PNG, TRUE); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
585 |
|
560
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
586 // wxString aboutText; |
|
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
587 // LoadTextResource(aboutText, wxT("about.htm"), TRUE); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
588 |
|
560
4fbd36edba7c
* standalone/wxwin/filename.cpp: Eliminate (const WCHAR*) cast in call
jld
parents:
541
diff
changeset
|
589 // VersionStampSplashScreen(); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
590 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
591 return TRUE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
592 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
593 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
594 // Load resources from zip resource file or disk |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
595 bool ecApp::LoadBitmapResource(wxBitmap& bitmap, const wxString& filename, int bitmapType, bool addToMemoryFS) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
596 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
597 wxString archive(GetFullAppPath(wxT("configtool.bin"))); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
598 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
599 #if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
600 wxFSFile* file = m_fileSystem->OpenFile(archive + wxString(wxT("#zip:")) + filename); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
601 if (file) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
602 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
603 wxInputStream* stream = file->GetStream(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
604 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
605 wxImage image(* stream, bitmapType); |
|
1019
a06219a61324
* standalone/wxwin/admindlg.cpp, standalone/wxwin/buildoptionsdlg.cpp,
jld
parents:
951
diff
changeset
|
606 bitmap = wxBitmap(image); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
607 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
608 delete file; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
609 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
610 #endif |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
611 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
612 #ifdef __WXMSW__ |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
613 if (!bitmap.Ok()) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
614 bitmap.LoadFile(filename, wxBITMAP_TYPE_BMP_RESOURCE); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
615 #endif |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
616 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
617 if (!bitmap.Ok() && wxFileExists(GetFullAppPath(filename))) |
| 2515 | 618 bitmap.LoadFile(GetFullAppPath(filename), (wxBitmapType) bitmapType); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
619 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
620 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
621 if (bitmap.Ok() && addToMemoryFS) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
622 wxMemoryFSHandler::AddFile(filename, bitmap, bitmapType); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
623 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
624 return bitmap.Ok(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
625 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
626 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
627 // Load resources from zip resource file or disk |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
628 bool ecApp::LoadTextResource(wxString& text, const wxString& filename, bool addToMemoryFS) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
629 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
630 wxString archive(GetFullAppPath(wxT("configtool.bin"))); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
631 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
632 bool success = FALSE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
633 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
634 #if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
635 wxFSFile* file = m_fileSystem->OpenFile(archive + wxString(wxT("#zip:")) + filename); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
636 if (file) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
637 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
638 wxInputStream* stream = file->GetStream(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
639 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
640 char* buf = text.GetWriteBuf(stream->GetSize() + 1); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
641 stream->Read((void*) buf, stream->GetSize()); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
642 buf[stream->GetSize()] = 0; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
643 text.UngetWriteBuf(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
644 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
645 success = TRUE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
646 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
647 delete file; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
648 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
649 #endif |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
650 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
651 if (!success && wxFileExists(GetFullAppPath(filename))) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
652 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
653 wxFileInputStream str(GetFullAppPath(filename)); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
654 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
655 char* buf = text.GetWriteBuf(str.GetSize() + 1); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
656 str.Read((void*) buf, str.GetSize()); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
657 buf[str.GetSize()] = 0; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
658 text.UngetWriteBuf(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
659 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
660 success = TRUE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
661 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
662 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
663 if (success && addToMemoryFS) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
664 wxMemoryFSHandler::AddFile(filename, text); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
665 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
666 return success; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
667 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
668 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
669 // Get a text resource from the memory filesystem |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
670 bool ecApp::GetMemoryTextResource(const wxString& filename, wxString& text) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
671 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
672 wxString s(wxString(wxT("memory:")) + filename); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
673 wxFSFile* file = wxGetApp().GetFileSystem()->OpenFile(s); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
674 if (file) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
675 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
676 wxInputStream* stream = file->GetStream(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
677 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
678 char* buf = text.GetWriteBuf(stream->GetSize() + 1); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
679 stream->Read((void*) buf, stream->GetSize()); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
680 buf[stream->GetSize()] = 0; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
681 text.UngetWriteBuf(); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
682 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
683 delete file; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
684 return TRUE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
685 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
686 else |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
687 return FALSE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
688 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
689 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
690 // Version-stamp the splash screen |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
691 bool ecApp::VersionStampSplashScreen() |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
692 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
693 if (m_splashScreenBitmap.Ok()) |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
694 { |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
695 wxMemoryDC dc; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
696 dc.SelectObject(m_splashScreenBitmap); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
697 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
698 wxColour textColour(19, 49, 4); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
699 dc.SetTextForeground(textColour); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
700 dc.SetBackgroundMode(wxTRANSPARENT); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
701 dc.SetFont(wxFont(11, wxSWISS, wxNORMAL, wxBOLD, FALSE)); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
702 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
703 // Bottom left of area to start drawing at |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
704 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
705 wxString verString; |
|
867
6c0eeb4145cb
* standalone/wxwin/symbols.h, standalone/wxwin/aboutdlg.cpp,
jld
parents:
839
diff
changeset
|
706 verString.Printf("%s", ecCONFIGURATION_TOOL_VERSION); |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
707 |
|
184
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
708 int x = 339; int y = 231; |
|
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
709 #ifdef __WXMSW__ |
|
191
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
710 y += 5; // For some reason |
|
184
022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
182
diff
changeset
|
711 #endif |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
712 int w, h; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
713 dc.GetTextExtent(verString, & w, & h); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
714 dc.DrawText(verString, x, y - h); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
715 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
716 dc.SelectObject(wxNullBitmap); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
717 |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
718 return TRUE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
719 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
720 else |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
721 return FALSE; |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
722 } |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
723 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
724 // Initialize window settings object |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
725 bool ecApp::InitializeWindowSettings(bool beforeWindowConstruction) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
726 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
727 wxWindowSettings& settings = GetSettings().m_windowSettings; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
728 ecMainFrame* frame = GetMainFrame(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
729 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
730 if (beforeWindowConstruction) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
731 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
732 settings.Add(wxT("Configuration")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
733 settings.Add(wxT("Short Description")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
734 settings.Add(wxT("Output")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
735 settings.Add(wxT("Properties")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
736 settings.Add(wxT("Conflicts")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
737 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
738 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
739 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
740 wxArrayPtrVoid arr; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
741 arr.Add(frame->GetTreeCtrl()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
742 arr.Add(frame->GetValueWindow()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
743 settings.SetWindows(wxT("Configuration"), arr); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
744 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
745 settings.SetWindow(wxT("Short Description"), frame->GetShortDescriptionWindow()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
746 settings.SetWindow(wxT("Output"), frame->GetOutputWindow()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
747 settings.SetWindow(wxT("Properties"), frame->GetPropertyListWindow()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
748 settings.SetWindow(wxT("Conflicts"), frame->GetConflictsWindow()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
749 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
750 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
751 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
752 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
753 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
754 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
755 bool ecApp::InitializeHelpController() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
756 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
757 if (m_helpController) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
758 delete m_helpController; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
759 m_helpController = new wxHelpController; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
760 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
761 if (!m_helpController->Initialize(GetHelpFile())) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
762 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
763 // TODO |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
764 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
765 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
766 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
767 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
768 // Tell the help controller where the repository documentation is. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
769 // For now, just keep this to myself since it uses hacks to wxWin |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
770 ecConfigToolDoc* doc = GetConfigToolDoc(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
771 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
772 // No longer using relative paths |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
773 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
774 if (doc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
775 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
776 wxString htmlDir = wxString(doc->GetRepository()) + wxString(wxT("/doc/html")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
777 if (!wxDirExists(htmlDir)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
778 htmlDir = wxString(doc->GetRepository()) + wxString(wxT("/doc")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
779 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
780 htmlDir += wxString(wxT("/")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
781 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
782 wxGetApp().GetHelpController().SetBookBasePath(htmlDir); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
783 } |
| 3282 | 784 #else |
| 785 CYG_UNUSED_PARAM(ecConfigToolDoc *, doc); | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
786 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
787 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
788 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
789 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
790 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
791 // Check if there is a (unique) .ecc file in dir |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
792 bool ecApp::FindSaveFileInDir(const wxString& dir, wxString& saveFile) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
793 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
794 wxDir fileFind; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
795 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
796 if (!fileFind.Open(dir)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
797 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
798 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
799 wxString wildcard = wxT(".ecc"); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
800 wxString filename; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
801 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
802 bool found = fileFind.GetFirst (& filename, wildcard); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
803 if (found) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
804 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
805 // Fail if there was more than one matching file. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
806 wxString filename2; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
807 if (fileFind.GetNext (& filename2)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
808 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
809 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
810 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
811 saveFile = dir + wxString(wxFILE_SEP_PATH) + filename; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
812 return TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
813 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
814 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
815 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
816 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
817 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
818 int ecApp::OnExit(void) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
819 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
820 /* |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
821 if (m_helpController) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
822 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
823 delete m_helpController; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
824 m_helpController = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
825 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
826 */ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
827 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
828 if (m_splashScreen) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
829 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
830 m_splashScreen->Destroy(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
831 m_splashScreen = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
832 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
833 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
834 m_settings.SaveConfig(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
835 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
836 { |
| 613 | 837 wxConfig config(wxGetApp().GetSettings().GetConfigAppName()); |
|
169
11b54a94cf58
Merge from eCos master repository on 2001-07-06-06:43:02-BST
jlarmour
parents:
165
diff
changeset
|
838 if (config.HasGroup(wxT("FileHistory"))) |
|
11b54a94cf58
Merge from eCos master repository on 2001-07-06-06:43:02-BST
jlarmour
parents:
165
diff
changeset
|
839 config.DeleteGroup(wxT("FileHistory")); |
|
11b54a94cf58
Merge from eCos master repository on 2001-07-06-06:43:02-BST
jlarmour
parents:
165
diff
changeset
|
840 config.SetPath(wxT("FileHistory/")); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
841 m_docManager->FileHistorySave(config); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
842 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
843 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
844 delete m_docManager; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
845 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
846 return 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
847 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
848 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
849 // Prepend the current program directory to the name |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
850 wxString ecApp::GetFullAppPath(const wxString& filename) const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
851 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
852 wxString path(m_appDir); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
853 if (path.Last() != '\\' && path.Last() != '/' && filename[0] != '\\' && filename[0] != '/') |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
854 #ifdef __WXGTK__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
855 path += '/'; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
856 #else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
857 path += '\\'; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
858 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
859 path += filename; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
860 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
861 return path; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
862 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
863 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
864 // Are we running in 32K colours or more? |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
865 bool ecApp::GetHiColour() const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
866 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
867 static bool hiColour = (wxDisplayDepth() >= 16) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
868 return hiColour; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
869 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
870 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
871 // General handler for 'What's this?' |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
872 void ecApp::OnWhatsThis(wxCommandEvent& event) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
873 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
874 wxObject* obj = event.GetEventObject(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
875 wxWindow* win = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
876 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
877 if (obj->IsKindOf(CLASSINFO(wxMenu))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
878 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
879 win = ((wxMenu*) obj)->GetInvokingWindow(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
880 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
881 else if (obj->IsKindOf(CLASSINFO(wxWindow))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
882 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
883 win = (wxWindow*) obj; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
884 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
885 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
886 wxWindow* subjectOfHelp = win; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
887 bool eventProcessed = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
888 wxPoint pt = wxGetMousePosition(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
889 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
890 while (subjectOfHelp && !eventProcessed) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
891 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
892 wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
893 helpEvent.SetEventObject(this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
894 eventProcessed = win->GetEventHandler()->ProcessEvent(helpEvent); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
895 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
896 // Go up the window hierarchy until the event is handled (or not). |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
897 // I.e. keep submitting ancestor windows until one is recognised |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
898 // by the app code that processes the ids and displays help. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
899 subjectOfHelp = subjectOfHelp->GetParent(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
900 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
901 // wxGetApp().GetHelpController().DisplayTextPopup(GetHelpText(), wxGetMousePosition()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
902 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
903 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
904 // Log to output window |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
905 void ecApp::Log(const wxString& msg) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
906 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
907 ecMainFrame* frame = (ecMainFrame*) GetTopWindow(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
908 if (frame) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
909 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
910 frame->GetOutputWindow()->AppendText(msg /* + wxT("\n") */ ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
911 if ((msg == wxEmptyString) || (msg.Last() != wxT('\n'))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
912 frame->GetOutputWindow()->AppendText(wxT("\n")); |
|
165
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
913 |
| 2466 | 914 #ifdef __CYGWIN__ |
| 915 // Seem to need this under Cygwin to force the last insert point to show | |
| 916 frame->GetOutputWindow()->ShowPosition(frame->GetOutputWindow()->GetLastPosition()); | |
| 917 #endif | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
918 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
919 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
920 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
921 void ecApp::SetStatusText(const wxString& text, bool clearFailingRulesPane) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
922 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
923 ecMainFrame* mainFrame = GetMainFrame(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
924 if(mainFrame) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
925 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
926 mainFrame->GetStatusBar()->SetStatusText(text, ecStatusPane); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
927 if (clearFailingRulesPane) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
928 mainFrame->GetStatusBar()->SetStatusText(wxT(""), ecFailRulePane); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
929 #ifdef __WXMSW__ |
|
182
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
930 ::UpdateWindow((HWND) mainFrame->GetHWND()); |
|
f62680ef1804
Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents:
171
diff
changeset
|
931 //wxYield(); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
932 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
933 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
934 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
935 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
936 // Config tree control |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
937 ecConfigTreeCtrl* ecApp::GetTreeCtrl() const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
938 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
939 return GetMainFrame()->GetTreeCtrl(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
940 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
941 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
942 // MLT window |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
943 ecMemoryLayoutWindow* ecApp::GetMLTWindow() const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
944 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
945 return GetMainFrame()->GetMemoryLayoutWindow(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
946 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
947 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
948 // Get active document |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
949 ecConfigToolDoc* ecApp::GetConfigToolDoc() const |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
950 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
951 if (m_currentDoc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
952 return m_currentDoc; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
953 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
954 if (!m_docManager) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
955 return NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
956 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
957 return wxDynamicCast(m_docManager->GetCurrentDocument(), ecConfigToolDoc); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
958 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
959 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
960 bool ecApp::Launch(const wxString & strFileName,const wxString &strViewer) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
961 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
962 bool ok = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
963 wxString cmd; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
964 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
965 if (!strViewer.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
966 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
967 cmd = strViewer + wxString(wxT(" ")) + strFileName ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
968 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
969 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
970 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
971 wxString path, filename, ext; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
972 wxSplitPath(strFileName, & path, & filename, & ext); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
973 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
974 wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
975 if ( !ft ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
976 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
977 wxLogError(_T("Impossible to determine the file type for extension '%s'"), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
978 ext.c_str()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
979 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
980 } |
|
541
ea8eda51bc88
* standalone/wxwin/configtool.cpp: Use correct data type in call
jld
parents:
199
diff
changeset
|
981 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
982 bool ok = ft->GetOpenCommand(&cmd, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
983 wxFileType::MessageParameters(strFileName, _T(""))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
984 delete ft; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
985 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
986 if (!ok) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
987 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
988 // TODO: some kind of configuration dialog here. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
989 wxMessageBox(_("Could not determine the command for opening this file."), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
990 wxGetApp().GetSettings().GetAppName(), wxOK|wxICON_EXCLAMATION); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
991 return FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
992 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
993 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
994 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
995 ok = (wxExecute(cmd, FALSE) != 0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
996 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
997 return ok; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
998 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
999 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1000 bool rc=false; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1001 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1002 if(!strViewer.IsEmpty())//use custom editor |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1003 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1004 CString strCmdline(strViewer); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1005 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1006 TCHAR *pszCmdLine=strCmdline.GetBuffer(strCmdline.GetLength()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1007 GetShortPathName(pszCmdLine,pszCmdLine,strCmdline.GetLength()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1008 strCmdline.ReleaseBuffer(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1009 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1010 strCmdline+=_TCHAR(' '); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1011 strCmdline+=strFileName; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1012 PROCESS_INFORMATION pi; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1013 STARTUPINFO si; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1014 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1015 si.cb = sizeof(STARTUPINFO); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1016 si.lpReserved = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1017 si.lpReserved2 = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1018 si.cbReserved2 = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1019 si.lpDesktop = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1020 si.dwFlags = 0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1021 si.lpTitle=NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1022 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1023 if(CreateProcess( |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1024 NULL, // app name |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1025 //strCmdline.GetBuffer(strCmdline.GetLength()), // command line |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1026 strCmdline.GetBuffer(strCmdline.GetLength()), // command line |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1027 NULL, // process security |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1028 NULL, // thread security |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1029 TRUE, // inherit handles |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1030 0, |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1031 NULL, // environment |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1032 NULL, // current dir |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1033 &si, // startup info |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1034 &pi)){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1035 CloseHandle(pi.hProcess); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1036 CloseHandle(pi.hThread); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1037 rc=true; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1038 } else { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1039 CUtils::MessageBoxF(_T("Failed to invoke %s.\n"),strCmdline); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1040 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1041 strCmdline.ReleaseBuffer(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1042 } else {// Use association |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1043 TCHAR szExe[MAX_PATH]; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1044 HINSTANCE h=FindExecutable(strFileName,_T("."),szExe); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1045 if(int(h)<=32){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1046 CString str; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1047 switch(int(h)){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1048 case 0: str=_T("The system is out of memory or resources.");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1049 case 31: str=_T("There is no association for the specified file type.");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1050 case ERROR_FILE_NOT_FOUND: str=_T("The specified file was not found.");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1051 case ERROR_PATH_NOT_FOUND: str=_T("The specified path was not found.");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1052 case ERROR_BAD_FORMAT: str=_T("The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1053 default: break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1054 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1055 CUtils::MessageBoxF(_T("Failed to open document %s.\r\n%s"),strFileName,str); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1056 } else { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1057 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1058 SHELLEXECUTEINFO sei = {sizeof(sei), 0, AfxGetMainWnd()->GetSafeHwnd(), _T("open"), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1059 strFileName, NULL, NULL, SW_SHOWNORMAL, AfxGetInstanceHandle( )}; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1060 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1061 sei.hInstApp=0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1062 HINSTANCE hInst=ShellExecute(AfxGetMainWnd()->GetSafeHwnd(),_T("open"), strFileName, NULL, _T("."), 0)/*ShellExecuteEx(&sei)*/; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1063 if(int(hInst)<=32/*sei.hInstApp==0*/) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1064 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1065 CString str; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1066 switch(int(hInst)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1067 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1068 case 0 : str=_T("The operating system is out of memory or resources. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1069 case ERROR_FILE_NOT_FOUND : str=_T("The specified file was not found. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1070 case ERROR_PATH_NOT_FOUND : str=_T("The specified path was not found. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1071 case ERROR_BAD_FORMAT : str=_T("The .EXE file is invalid (non-Win32 .EXE or error in .EXE image). ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1072 case SE_ERR_ACCESSDENIED : str=_T("The operating system denied access to the specified file. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1073 case SE_ERR_ASSOCINCOMPLETE : str=_T("The filename association is incomplete or invalid. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1074 case SE_ERR_DDEBUSY : str=_T("The DDE transaction could not be completed because other DDE transactions were being processed. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1075 case SE_ERR_DDEFAIL : str=_T("The DDE transaction failed. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1076 case SE_ERR_DDETIMEOUT : str=_T("The DDE transaction could not be completed because the request timed out. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1077 case SE_ERR_DLLNOTFOUND : str=_T("The specified dynamic-link library was not found. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1078 //case SE_ERR_FNF : str=_T("The specified file was not found. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1079 case SE_ERR_NOASSOC : str=_T("There is no application associated with the given filename extension. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1080 case SE_ERR_OOM : str=_T("There was not enough memory to complete the operation. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1081 //case SE_ERR_PNF : str=_T("The specified path was not found. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1082 case SE_ERR_SHARE : str=_T("A sharing violation occurred. ");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1083 default: str=_T("An unexpected error occurred");break; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1084 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1085 CUtils::MessageBoxF(_T("Failed to open document %s using %s.\r\n%s"),strFileName,szExe,str); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1086 } else { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1087 rc=true; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1088 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1089 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1090 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1091 return rc; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1092 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1093 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1094 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1095 bool ecApp::PrepareEnvironment(bool bWithBuildTools, wxString* cmdLine) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1096 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1097 #ifdef __WXMSW__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1098 // Under Windows we can set variables. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1099 ecConfigToolDoc *pDoc = GetConfigToolDoc(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1100 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1101 wxSetEnv(wxT("PATH"), m_strOriginalPath); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1102 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1103 const wxString strPrefix(pDoc->GetCurrentTargetPrefix()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1104 ecFileName strBinDir; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1105 bool rc = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1106 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1107 rc=(! bWithBuildTools) || GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); |
|
165
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1108 if(!rc) |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1109 { |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1110 // Use fallback of previously-entered build tools directory, if available |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1111 if (!GetSettings().m_buildToolsDir.IsEmpty()) |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1112 { |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1113 strBinDir = GetSettings().m_buildToolsDir ; |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1114 rc = TRUE; |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1115 } |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1116 else |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1117 { |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1118 wxCommandEvent event; |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1119 GetMainFrame()->OnBuildToolsPath(event); |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1120 rc = GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1121 } |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1122 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1123 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1124 if (rc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1125 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1126 ecFileName strUserBinDir(GetSettings().m_userToolsDir); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1127 if(strUserBinDir.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1128 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1129 if ( 1 == GetSettings().m_userToolPaths.GetCount() ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1130 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1131 GetSettings().m_userToolsDir = GetSettings().m_userToolPaths[0]; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1132 } else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1133 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1134 wxCommandEvent event; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1135 GetMainFrame()->OnUserToolsPath(event); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1136 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1137 strUserBinDir = GetSettings().m_userToolsDir; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1138 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1139 if ( !strUserBinDir.IsEmpty() ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1140 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1141 // calculate the directory of the host tools from this application's module name |
| 2515 | 1142 const wxFileName strConfigtoolFile(this->argv[0]); |
| 1143 const ecFileName strHostToolsBinDir(strConfigtoolFile.GetPath(wxPATH_GET_VOLUME, wxPATH_DOS)); | |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1144 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1145 // tools directories are in the order host-tools, user-tools, comp-tools, install/bin (if present), contrib-tools (if present) on the path |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1146 const ecFileName strContribBinDir(strUserBinDir, wxT("..\\contrib\\bin")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1147 ecFileName strUsrBinDir(strUserBinDir, wxT("..\\usr\\bin")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1148 const ecFileName strInstallBinDir(pDoc->GetInstallTree (), wxT("bin")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1149 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1150 // In case strUserBinDir is e.g. c:\program files\red hat\cygwin-00r1\usertools\h-i686-pc-cygwin\bin |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1151 if (!strUsrBinDir.IsDir ()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1152 strUsrBinDir = ecFileName(strUserBinDir + _T("..\\..\\..\\H-i686-pc-cygwin\\bin")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1153 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1154 if ( |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1155 (strUsrBinDir.IsDir () && ! ecUtils::AddToPath (strUsrBinDir)) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1156 (strContribBinDir.IsDir () && ! ecUtils::AddToPath (strContribBinDir)) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1157 (strInstallBinDir.IsDir () && ! ecUtils::AddToPath (strInstallBinDir)) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1158 (bWithBuildTools && ! ecUtils::AddToPath (strBinDir)) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1159 ! ecUtils::AddToPath (strUserBinDir) || |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1160 ! ecUtils::AddToPath (strHostToolsBinDir)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1161 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1162 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1163 msg.Printf(wxT("Failed to set PATH environment variable")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1164 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1165 rc = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1166 } else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1167 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1168 if(!wxSetEnv(_T("MAKE_MODE"),_T("unix"))) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1169 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1170 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1171 msg.Printf(wxT("Failed to set MAKE_MODE environment variable")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1172 wxMessageBox(msg, wxGetApp().GetSettings().GetAppName(), wxICON_EXCLAMATION|wxOK); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1173 rc = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1174 } else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1175 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1176 // Remove from the environment |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1177 wxUnsetEnv(wxT("GDBTK_LIBRARY")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1178 wxUnsetEnv(wxT("GCC_EXEC_PREFIX")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1179 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1180 // Useful for ecosconfig |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1181 wxSetEnv(wxT("ECOS_REPOSITORY"), pDoc->GetPackagesDir()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1182 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1183 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1184 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1185 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1186 return rc; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1187 #else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1188 wxASSERT ( cmdLine != NULL ); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1189 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1190 (* cmdLine) = wxEmptyString; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1191 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1192 // Under Unix we need to build up a command line to set variables and invoke make |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1193 ecConfigToolDoc *pDoc = GetConfigToolDoc(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1194 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1195 const wxString strPrefix(pDoc->GetCurrentTargetPrefix()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1196 ecFileName strBinDir; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1197 bool rc = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1198 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1199 rc=(! bWithBuildTools) || GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); |
|
165
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1200 if(!rc) |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1201 { |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1202 // Use fallback of previously-entered build tools directory, if available |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1203 if (!GetSettings().m_buildToolsDir.IsEmpty()) |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1204 { |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1205 strBinDir = GetSettings().m_buildToolsDir ; |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1206 rc = TRUE; |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1207 } |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1208 else |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1209 { |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1210 wxCommandEvent event; |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1211 GetMainFrame()->OnBuildToolsPath(event); |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1212 rc = GetSettings().m_arstrBinDirs.Find(strPrefix, strBinDir); |
|
d63db767121d
Merge from eCos master repository on 2001-06-29-06:43:03-BST
jlarmour
parents:
163
diff
changeset
|
1213 } |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1214 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1215 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1216 if (rc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1217 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1218 if (!strBinDir.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1219 { |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1220 (* cmdLine) += wxString(wxT("export PATH=")) + wxString(strBinDir) + wxT(":$PATH; "); |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1221 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1222 // Also set the path |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1223 wxString oldPath(wxGetenv(wxT("PATH"))); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1224 wxString path(strBinDir); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1225 if (!oldPath.IsEmpty()) |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1226 { |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1227 path += wxT(":"); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1228 path += oldPath; |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1229 } |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1230 wxSetEnv(wxT("PATH"), path); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1231 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1232 (* cmdLine) += wxString(wxT("unset GDBTK_LIBRARY; ")) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1233 wxUnsetEnv(wxT("GDBTK_LIBRARY")); |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1234 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1235 (* cmdLine) += wxString(wxT("unset GCC_EXEC_PREFIX; ")) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1236 wxUnsetEnv(wxT("GCC_EXEC_PREFIX")); |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1237 |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1238 (* cmdLine) += wxString(wxT("export ECOS_REPOSITORY=")) + wxString(pDoc->GetPackagesDir()) + wxT("; "); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1239 wxSetEnv(wxT("ECOS_REPOSITORY"), pDoc->GetPackagesDir()); |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1240 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1241 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1242 ecFileName strUserBinDir(GetSettings().m_userToolsDir); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1243 if(strUserBinDir.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1244 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1245 if ( 1 == GetSettings().m_userToolPaths.GetCount() ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1246 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1247 GetSettings().m_userToolsDir = GetSettings().m_userToolPaths[0]; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1248 } else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1249 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1250 wxCommandEvent event; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1251 GetMainFrame()->OnUserToolsPath(event); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1252 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1253 strUserBinDir = GetSettings().m_userToolsDir; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1254 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1255 if ( !strUserBinDir.IsEmpty() ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1256 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1257 // calculate the directory of the host tools from this application's module name |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1258 ecFileName strHostToolsBinDir(this->argv[0]); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1259 strHostToolsBinDir = strHostToolsBinDir.Head (); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1260 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1261 // tools directories are in the order host-tools, user-tools, comp-tools, install/bin (if present), contrib-tools (if present) on the path |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1262 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1263 // TODO: is this right? Assuming that the user tools are already in the user's path. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1264 // const ecFileName strContribBinDir(strUserBinDir, wxT("..\\contrib\\bin")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1265 // const ecFileName strUsrBinDir(strUserBinDir, wxT("..\\usr\\bin")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1266 const ecFileName strInstallBinDir(pDoc->GetInstallTree (), wxT("bin")); |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1267 |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1268 (* cmdLine) += wxString(wxT("export PATH=")) + wxString(strInstallBinDir) + wxT(":$PATH; "); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1269 (* cmdLine) += wxString(wxT("unset GDBTK_LIBRARY; ")) ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1270 (* cmdLine) += wxString(wxT("unset GCC_EXEC_PREFIX; ")) ; |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1271 (* cmdLine) += wxString(wxT("export ECOS_REPOSITORY=")) + wxString(pDoc->GetPackagesDir()) + wxT("; "); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1272 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1273 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1274 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1275 return rc; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1276 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1277 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1278 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1279 void ecApp::Build(const wxString &strWhat /*=wxT("")*/ ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1280 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1281 if (m_pipedProcess) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1282 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1283 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1284 ecConfigToolDoc* pDoc = GetConfigToolDoc(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1285 if (!pDoc) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1286 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1287 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1288 if (!wxGetApp().GetMainFrame()->GetOutputWindow()->IsShown()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1289 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1290 wxGetApp().GetMainFrame()->ToggleWindow(ecID_TOGGLE_OUTPUT); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1291 } |
|
1469
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1292 if (!pDoc->GetDocumentSaved()) // if document has never been saved |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1293 { |
|
1469
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1294 if (!pDoc->SaveAs()) |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1295 return; // user chose not to save the unsaved document so cannot build eCos |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1296 } |
|
1469
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1297 |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1298 if (pDoc->IsModified()) // if document has been modified since last save |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1299 { |
|
1469
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1300 if (wxOK == wxMessageBox("Building eCos will save changes to your current eCos configuration.", |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1301 "Build", wxOK|wxCANCEL|wxICON_EXCLAMATION)) |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1302 pDoc->Save(); |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1303 else |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1304 return; // user chose not to save changes so cannot build eCos |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1305 } |
|
1469
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1306 |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1307 // save an eCos configuration which is already saved but is without a corresponding build tree |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1308 if (!wxDirExists(pDoc->GetBuildTree())) |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1309 { |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1310 pDoc->Save(); |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1311 } |
|
99c40a5a125d
* configtool/standalone/wxwin/configtool.cpp: Prompt to save eCos
jld
parents:
1019
diff
changeset
|
1312 |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1313 if ( pDoc->GetDocumentSaved() ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1314 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1315 //wxString strCmd (wxT("c:\\bin\\testmake.bat")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1316 wxString strCmd (wxT("make")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1317 if(!strWhat.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1318 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1319 strCmd += wxT(' '); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1320 strCmd += strWhat; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1321 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1322 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1323 if(!GetSettings().m_strMakeOptions.IsEmpty()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1324 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1325 strCmd += wxT(' '); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1326 strCmd += GetSettings().m_strMakeOptions; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1327 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1328 strCmd += wxT(" --directory "); |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1329 |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1330 // Quoting the name may not mix with the 'sh' command on Unix, so only do it |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1331 // under Windows where it's more likely there will be spaces needing quoting. |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1332 #ifdef __WXMSW__ |
|
191
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1333 wxString buildDir(pDoc->GetBuildTree()); |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1334 |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1335 #if ecUSE_ECOS_X_NOTATION |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1336 std::string cPath = cygpath(std::string(pDoc->GetBuildTree())); |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1337 buildDir = cPath.c_str(); |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1338 #endif |
|
678094f34118
Merge from eCos master repository on 2001-10-19-06:43:02-BST
jlarmour
parents:
184
diff
changeset
|
1339 strCmd += wxString(wxT("\"")) + buildDir + wxString(wxT("\"")); |
|
171
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1340 #else |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1341 strCmd += wxString(pDoc->GetBuildTree()) ; |
|
42f843b391aa
Merge from eCos master repository on 2001-07-18-03:13:25-BST
jlarmour
parents:
169
diff
changeset
|
1342 #endif |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1343 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1344 wxString variableSettings; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1345 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1346 if (PrepareEnvironment(TRUE, & variableSettings)) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1347 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1348 #ifdef __WXMSW__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1349 // strCmd is all we need |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1350 #else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1351 // strCmd has to invoke a shell with variables and make invocation |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1352 strCmd = wxString(wxT("sh -c \"")) + variableSettings + strCmd + wxString(wxT("\"")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1353 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1354 // Output the command so we know what we're doing |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1355 Log(strCmd); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1356 Log(wxT("\n")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1357 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1358 // No: pass --directory |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1359 // wxSetWorkingDirectory(pDoc->GetBuildTree()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1360 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1361 m_pipedProcess = new ecPipedProcess; |
|
163
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
160
diff
changeset
|
1362 long pid = wxExecute(strCmd, FALSE, m_pipedProcess); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1363 if ( pid ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1364 { |
|
163
0d2b193a635f
Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents:
160
diff
changeset
|
1365 m_pipedProcess->SetPid(pid); |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1366 // wxLogStatus(_T("Process %ld (%s) launched."), pid, cmd.c_str()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1367 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1368 else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1369 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1370 wxLogError(_T("Execution of '%s' failed."), strCmd.c_str()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1371 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1372 delete m_pipedProcess; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1373 m_pipedProcess = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1374 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1375 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1376 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1377 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1378 if(PrepareEnvironment()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1379 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1380 m_strBuildTarget=strWhat; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1381 SetThermometerMax(250); // This is just a guess. The thread we are about to spawn will work out the correct answer |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1382 m_nLogicalLines=0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1383 UpdateThermometer(0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1384 CloseHandle(CreateThread(NULL, 0, ThreadFunc, this, 0 ,&m_dwThreadId)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1385 CString strMsg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1386 strMsg.Format(_T("Building %s"),strWhat); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1387 SetIdleMessage(strMsg); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1388 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1389 SetTimer(42,1000,0); // This timer checks for process completion |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1390 SetCurrentDirectory(pDoc->BuildTree()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1391 m_sp.Run(SubprocessOutputFunc, this, strCmd, false); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1392 SetIdleMessage(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1393 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1394 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1395 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1396 #if 0 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1397 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1398 if(pDoc->IsModified()||pDoc->BuildTree().IsEmpty()){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1399 SendMessage (WM_COMMAND, ID_FILE_SAVE); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1400 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1401 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1402 if(!(pDoc->IsModified()||pDoc->BuildTree().IsEmpty())){ // verify the save worked |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1403 CString strCmd (_T("make")); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1404 if(!strWhat.IsEmpty()){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1405 strCmd+=_TCHAR(' '); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1406 strCmd+=strWhat; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1407 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1408 if(!GetApp()->m_strMakeOptions.IsEmpty()){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1409 strCmd+=_TCHAR(' '); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1410 strCmd+=GetApp()->m_strMakeOptions; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1411 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1412 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1413 if(PrepareEnvironment()){ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1414 m_strBuildTarget=strWhat; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1415 SetThermometerMax(250); // This is just a guess. The thread we are about to spawn will work out the correct answer |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1416 m_nLogicalLines=0; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1417 UpdateThermometer(0); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1418 CloseHandle(CreateThread(NULL, 0, ThreadFunc, this, 0 ,&m_dwThreadId)); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1419 CString strMsg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1420 strMsg.Format(_T("Building %s"),strWhat); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1421 SetIdleMessage(strMsg); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1422 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1423 SetTimer(42,1000,0); // This timer checks for process completion |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1424 SetCurrentDirectory(pDoc->BuildTree()); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1425 m_sp.Run(SubprocessOutputFunc, this, strCmd, false); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1426 SetIdleMessage(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1427 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1428 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1429 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1430 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1431 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1432 void ecApp::OnProcessTerminated(wxProcess* process) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1433 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1434 m_pipedProcess = NULL; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1435 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1436 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1437 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1438 // ecPipedProcess |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1439 // ---------------------------------------------------------------------------- |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1440 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1441 bool ecPipedProcess::HasInput() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1442 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1443 bool hasInput = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1444 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1445 wxInputStream& is = *GetInputStream(); |
|
839
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
1446 if ( IsInputAvailable() ) |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1447 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1448 wxTextInputStream tis(is); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1449 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1450 // this assumes that the output is always line buffered |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1451 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1452 msg << tis.ReadLine(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1453 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1454 wxGetApp().Log(msg); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1455 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1456 hasInput = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1457 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1458 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1459 wxInputStream& es = *GetErrorStream(); |
|
839
706b0bdaf01c
* standalone/wxwin/appsettings.cpp, standalone/wxwin/configtool.cpp:
jld
parents:
646
diff
changeset
|
1460 if ( IsErrorAvailable() ) |
|
160
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1461 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1462 wxTextInputStream tis(es); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1463 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1464 // this assumes that the output is always line buffered |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1465 wxString msg; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1466 msg << tis.ReadLine(); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1467 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1468 wxGetApp().Log(msg); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1469 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1470 hasInput = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1471 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1472 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1473 return hasInput; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1474 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1475 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1476 void ecPipedProcess::OnTerminate(int pid, int status) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1477 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1478 // show the rest of the output |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1479 while ( HasInput() ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1480 ; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1481 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1482 wxGetApp().OnProcessTerminated(this); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1483 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1484 //wxLogStatus(m_parent, _T("Process %u ('%s') terminated with exit code %d."), |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1485 // pid, m_cmd.c_str(), status); |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1486 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1487 // we're not needed any more |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1488 delete this; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1489 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1490 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1491 void ecPingTimer::Notify() |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1492 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1493 static bool s_inNotify = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1494 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1495 if (s_inNotify) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1496 return; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1497 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1498 s_inNotify = TRUE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1499 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1500 // On Windows, simply having the timer going will ping the message queue |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1501 // and cause idle processing to happen. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1502 // On Unix, this doesn't happen so we have to do the processing explicitly. |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1503 #ifdef __WXMSW__ |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1504 // Nothing to do |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1505 #else |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1506 // Get some input |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1507 if ( wxGetApp().m_pipedProcess ) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1508 while (wxGetApp().m_pipedProcess->HasInput()) |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1509 { |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1510 // Loop while there is still input |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1511 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1512 #endif |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1513 |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1514 s_inNotify = FALSE; |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1515 } |
|
0d0f03f76f6a
Merge from eCos master repository on 2001-06-01-18:52:13-BST
jlarmour
parents:
diff
changeset
|
1516 |
