]> git.saurik.com Git - wxWidgets.git/commitdiff
Misc fixes
authorJulian Smart <julian@anthemion.co.uk>
Fri, 5 May 2000 16:40:32 +0000 (16:40 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 5 May 2000 16:40:32 +0000 (16:40 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

15 files changed:
distrib/msw/patch.rsp
distrib/msw/zipdist.bat
docs/html/news.htm
docs/latex/wx/tunicode.tex
docs/readme.txt
include/wx/arrimpl.cpp
src/common/cmdline.cpp
src/common/cmndata.cpp
src/common/config.cpp
src/common/db.cpp
src/common/fontmap.cpp
src/makevc.env
src/msw/makefile.vc
src/msw/treectrl.cpp
utils/projgen/makeproj.cpp

index 80185ac474d2e501f597003d58dfc020baef7bb3..bc2643ce0be2df9926eb44da37cd78d3c329165f 100644 (file)
@@ -1,16 +1,4 @@
-include/wx/wxchar.h
-include/wx/msw/setup.h
-samples/dnd/*.wxr
-src/unix/fontutil.cpp
-src/common/fontmap.cpp
-src/msw/statbox.cpp
-include/wx/msw/statbox.h
-utils/ogl/samples/ogledit/palette.cpp
-utils/ogl/samples/studio/shapes.cpp
-utils/ogl/samples/studio/shapes.h
-utils/ogl/samples/studio/studio.h
-utils/dialoged/src/dialoged.cpp
-utils/dialoged/src/dlghndlr.cpp
-utils/dialoged/src/reseditr.cpp
-utils/dialoged/src/dialoged.h
+include/wx/datetime.inl
+src/msw/treectrl.cpp
+samples/treectrl/TreectrlVC.dsp
 
 
index ca4889596d8e736821f26c0cb715513426326515..846fd6f117512c3529bd023a234c5c24322d7fe1 100755 (executable)
@@ -89,7 +89,7 @@ zip32 -@ %dest\tiff.zip < %src\distrib\msw\tiff.rsp
 rem Dialog Editor source and binary
 erase %dest\dialoged_source.zip
 zip32 -@ %dest\dialoged_source.zip < %src\distrib\msw\dialoged.rsp
 rem Dialog Editor source and binary
 erase %dest\dialoged_source.zip
 zip32 -@ %dest\dialoged_source.zip < %src\distrib\msw\dialoged.rsp
-zip32 -j %dest\dialoged.zip %dest\dialoged_source.zip %src\bin\dialoged.exe %src\bin\dialoged.hlp %src\bin\dialoged.cnt
+zip32 -j %dest\dialoged.zip %dest\dialoged_source.zip %src\bin\dialoged.exe %src\docs\winhelp\dialoged.hlp %src\docs\winhelp\dialoged.cnt
 erase %dest\dialoged_source.zip
 
 rem Misc. utils not in the main distribution
 erase %dest\dialoged_source.zip
 
 rem Misc. utils not in the main distribution
@@ -143,6 +143,7 @@ erase /Y contrib\docs\winhelp\mmedia.*
 erase /Y contrib\docs\winhelp\stc.*
 erase /Y contrib\docs\pdf\*.*
 deltree /Y contrib\docs\latex\ogl
 erase /Y contrib\docs\winhelp\stc.*
 erase /Y contrib\docs\pdf\*.*
 deltree /Y contrib\docs\latex\ogl
+erase /Y src\mingegcs.bat
 
 rem Now copy some binary files to 'bin'
 if not isdir bin mkdir bin
 
 rem Now copy some binary files to 'bin'
 if not isdir bin mkdir bin
index 83822071ff66040dc640fff4ab0986949f87ea90..6b9af3c139d8d87a337e393ce83cccff3e8270f7 100644 (file)
@@ -18,7 +18,7 @@ News
 </tr>
 </table>
 
 </tr>
 </table>
 
-<H3><a name="release2_1_14">March 19th, 2000</H3><P>
+<H3><a name="release2_1_14">March 21st, 2000</H3><P>
 
 <ul>
 <li><a href="download.htm" target=wxmain>wxWindows 2.1.14</a> is now available for Windows, Motif and GTK.
 
 <ul>
 <li><a href="download.htm" target=wxmain>wxWindows 2.1.14</a> is now available for Windows, Motif and GTK.
index 2f4f472597593f414ac3989e55973182b6f0637c..3dd9814926ea2dfa0e848ab637f383e9a721ca2d 100644 (file)
@@ -96,7 +96,7 @@ section.
 
 \subsection{Unicode support in wxWindows}
 
 
 \subsection{Unicode support in wxWindows}
 
-In wxWindows, the code fragment froim above should be written instead:
+In wxWindows, the code fragment from above should be written instead:
 
 \begin{verbatim}
     wxChar ch = wxT('*');
 
 \begin{verbatim}
     wxChar ch = wxT('*');
index c3f7ac1b6c80c95ca9c696d520120f7e247a96a7..8d649fd4ca57abfd187a8f2c7c095955a435e895 100644 (file)
@@ -15,8 +15,8 @@ tree controls on Unix, they are emulated.
 A detailed 1100-page reference manual is supplied in HTML, PDF and
 Windows Help form: see the docs hierarchy.
 
 A detailed 1100-page reference manual is supplied in HTML, PDF and
 Windows Help form: see the docs hierarchy.
 
-For a quick start, point your Web browser at docs/html/index.htm for a list of
-important documents and samples.
+For a quick start, point your Web browser at docs/html/index.htm for a
+list of important documents and samples.
 
 Changes in this release
 -----------------------
 
 Changes in this release
 -----------------------
@@ -109,11 +109,12 @@ wxWindows for Windows distribution
 As well as the core source, the Windows setup contains:
 
 - Windows Help versions of the documentation (docs/winhelp);
 As well as the core source, the Windows setup contains:
 
 - Windows Help versions of the documentation (docs/winhelp);
-- wxGLCanvas (OpenGL integration, in utils/glcanvas);
-- OGL 3 (Object Graphics Library, in utils/ogl);
-- wxTreeLayout (for tree drawing, in utils/wxtree);
+- OGL 3 (Object Graphics Library, in contrib/src/ogl);
 - a Dialog Editor binary;
 - a Dialog Editor binary;
-- the JPEG library.
+- a Tex2RTF binary;
+- Life! sample binary;
+- the JPEG library source;
+- the TIFF library source.
 
 setup.exe               Setup file (Windows 95/98, NT)
 setup.*                 Other setup files
 
 setup.exe               Setup file (Windows 95/98, NT)
 setup.*                 Other setup files
index 585893ccc75b283fdd2bd80c72621fdb23e5f32f..6496ca6b75ea5ea8c5cdeadf1e9fb55ccbbde9e3 100644 (file)
  *****************************************************************************/
 
 // needed to resolve the conflict between global T and macro parameter T
  *****************************************************************************/
 
 // needed to resolve the conflict between global T and macro parameter T
+
+// VC++ can't cope with string concatenation in Unicode mode
+#if defined(wxUSE_UNICODE) && wxUSE_UNICODE
+#define _WX_ERROR_REMOVE2(x)     wxT("bad index in ::RemoveAt()")
+#else
 #define _WX_ERROR_REMOVE2(x)     wxT("bad index in " #x "::RemoveAt()")
 #define _WX_ERROR_REMOVE2(x)     wxT("bad index in " #x "::RemoveAt()")
+#endif
 
 // macro implements remaining (not inline) methods of template list
 // (it's private to this file)
 
 // macro implements remaining (not inline) methods of template list
 // (it's private to this file)
index 40700df5af937e2fb3c5c82b9a10ea864f4539c7..d98bb96d48fa1f0b9c89b111badc61976d90d537 100644 (file)
@@ -348,14 +348,12 @@ void wxCmdLineParser::AddParam(const wxString& desc,
         wxCmdLineParam& param = m_data->m_paramDesc.Last();
 
         wxASSERT_MSG( !(param.flags & wxCMD_LINE_PARAM_MULTIPLE),
         wxCmdLineParam& param = m_data->m_paramDesc.Last();
 
         wxASSERT_MSG( !(param.flags & wxCMD_LINE_PARAM_MULTIPLE),
-                      _T("all parameters after the one with "
-                         "wxCMD_LINE_PARAM_MULTIPLE style will be ignored") );
+                      _T("all parameters after the one with wxCMD_LINE_PARAM_MULTIPLE style will be ignored") );
 
         if ( !(flags & wxCMD_LINE_PARAM_OPTIONAL) )
         {
             wxASSERT_MSG( !(param.flags & wxCMD_LINE_PARAM_OPTIONAL),
 
         if ( !(flags & wxCMD_LINE_PARAM_OPTIONAL) )
         {
             wxASSERT_MSG( !(param.flags & wxCMD_LINE_PARAM_OPTIONAL),
-                          _T("a required parameter can't follow an "
-                             "optional one") );
+                          _T("a required parameter can't follow an optional one") );
         }
     }
 #endif // Debug
         }
     }
 #endif // Debug
@@ -589,8 +587,7 @@ int wxCmdLineParser::Parse()
 
                     if ( *p++ != _T('=') )
                     {
 
                     if ( *p++ != _T('=') )
                     {
-                        wxLogError(_("Option '%s' requires a value, '=' "
-                                     "expected."), name.c_str());
+                        wxLogError(_("Option '%s' requires a value, '=' expected."), name.c_str());
 
                         ok = FALSE;
                     }
 
                         ok = FALSE;
                     }
@@ -649,9 +646,7 @@ int wxCmdLineParser::Parse()
                                 }
                                 else
                                 {
                                 }
                                 else
                                 {
-                                    wxLogError(_("'%s' is not a correct "
-                                                 "numeric value for option "
-                                                 "'%s'."),
+                                    wxLogError(_("'%s' is not a correct numeric value for option '%s'."),
                                                value.c_str(), name.c_str());
 
                                     ok = FALSE;
                                                value.c_str(), name.c_str());
 
                                     ok = FALSE;
@@ -665,8 +660,7 @@ int wxCmdLineParser::Parse()
                                 const wxChar *res = dt.ParseDate(value);
                                 if ( !res || *res )
                                 {
                                 const wxChar *res = dt.ParseDate(value);
                                 if ( !res || *res )
                                 {
-                                    wxLogError(_("Option '%s': '%s' cannot "
-                                                  "be converted to a date."),
+                                    wxLogError(_("Option '%s': '%s' cannot be converted to a date."),
                                                name.c_str(), value.c_str());
 
                                     ok = FALSE;
                                                name.c_str(), value.c_str());
 
                                     ok = FALSE;
@@ -699,9 +693,7 @@ int wxCmdLineParser::Parse()
                 else
                 {
                     wxASSERT_MSG( currentParam == countParam - 1,
                 else
                 {
                     wxASSERT_MSG( currentParam == countParam - 1,
-                                  _T("all parameters after the one with "
-                                     "wxCMD_LINE_PARAM_MULTIPLE style "
-                                     "are ignored") );
+                                  _T("all parameters after the one with wxCMD_LINE_PARAM_MULTIPLE style are ignored") );
 
                     // remember that we did have this last repeatable parameter
                     hadRepeatableParam = TRUE;
 
                     // remember that we did have this last repeatable parameter
                     hadRepeatableParam = TRUE;
index 2e612f6ad577ca7dd8c9312746c065194c69b37b..5919aa46a237255d189133ee22a43249710dd60f 100644 (file)
@@ -1435,8 +1435,7 @@ void wxPageSetupDialogData::SetPaperSize(wxPaperSize id)
 void wxPageSetupDialogData::CalculateIdFromPaperSize()
 {
     wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL),
 void wxPageSetupDialogData::CalculateIdFromPaperSize()
 {
     wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL),
-                  wxT("wxThePrintPaperDatabase should not be NULL. "
-                     "Do not create global print dialog data objects.") );
+                  wxT("wxThePrintPaperDatabase should not be NULL. Do not create global print dialog data objects.") );
 
     wxSize sz = GetPaperSize();
 
 
     wxSize sz = GetPaperSize();
 
@@ -1451,8 +1450,7 @@ void wxPageSetupDialogData::CalculateIdFromPaperSize()
 void wxPageSetupDialogData::CalculatePaperSizeFromId()
 {
     wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL),
 void wxPageSetupDialogData::CalculatePaperSizeFromId()
 {
     wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL),
-                  wxT("wxThePrintPaperDatabase should not be NULL. "
-                     "Do not create global print dialog data objects.") );
+                  wxT("wxThePrintPaperDatabase should not be NULL. Do not create global print dialog data objects.") );
 
     wxSize sz = wxThePrintPaperDatabase->GetSize(m_printData.GetPaperId());
 
 
     wxSize sz = wxThePrintPaperDatabase->GetSize(m_printData.GetPaperId());
 
index 6ad92636937cde58d335a207b72c2859d7a4375d..018b9e01df2e0cefcfce026f5d7f28b02f8615c4 100644 (file)
@@ -339,8 +339,7 @@ wxString wxExpandEnvVars(const wxString& str)
           // check the closing bracket
           if ( bracket != Bracket_None ) {
             if ( m == str.Len() || str[m] != (char)bracket ) {
           // check the closing bracket
           if ( bracket != Bracket_None ) {
             if ( m == str.Len() || str[m] != (char)bracket ) {
-              wxLogWarning(_("Environment variables expansion failed: "
-                            "missing '%c' at position %d in '%s'."),
+              wxLogWarning(_("Environment variables expansion failed: missing '%c' at position %d in '%s'."),
                            (char)bracket, m + 1, str.c_str());
             }
             else {
                            (char)bracket, m + 1, str.c_str());
             }
             else {
index 4b23ad4a041cf0ecbd454b972303f537d53f980f..64c41312daa6de156c6aaf250a996953a847c076 100644 (file)
@@ -155,7 +155,7 @@ int wxColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSiz
     i_Nation      = Nation;                                 // 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
     i_dbDataType  = dbDataType;
     i_sqlDataType = sqlDataType;
     i_Nation      = Nation;                                 // 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
     i_dbDataType  = dbDataType;
     i_sqlDataType = sqlDataType;
-    s_Field.Printf("%s%d",s_Menge[1].c_str(),i_Menge[1]);   // OK for VARCHAR, INTEGER and FLOAT
+    s_Field.Printf(wxT("%s%d"),s_Menge[1].c_str(),i_Menge[1]);   // OK for VARCHAR, INTEGER and FLOAT
     if (i_dbDataType == 0)                                  // Filter unsupported dbDataTypes
     {
         if ((i_sqlDataType == SQL_VARCHAR) || (i_sqlDataType == SQL_LONGVARCHAR))
     if (i_dbDataType == 0)                                  // Filter unsupported dbDataTypes
     {
         if ((i_sqlDataType == SQL_VARCHAR) || (i_sqlDataType == SQL_LONGVARCHAR))
@@ -185,8 +185,8 @@ int wxColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSiz
             if (decimalDigits == 0)
                 decimalDigits = 2;
             Temp0 = "%";
             if (decimalDigits == 0)
                 decimalDigits = 2;
             Temp0 = "%";
-            Temp0.Printf("%s%d.%d",Temp0.c_str(),columnSize,decimalDigits);
-            s_Field.Printf("%sf",Temp0.c_str());        //
+            Temp0.Printf(wxT("%s%d.%d"),Temp0.c_str(),columnSize,decimalDigits);
+            s_Field.Printf(wxT("%sf"),Temp0.c_str());        //
             break;
         case DB_DATA_TYPE_DATE:
             if (i_Nation == 0)      // timestamp       YYYY-MM-DD HH:MM:SS.SSS (tested for SYBASE)
             break;
         case DB_DATA_TYPE_DATE:
             if (i_Nation == 0)      // timestamp       YYYY-MM-DD HH:MM:SS.SSS (tested for SYBASE)
@@ -211,7 +211,7 @@ int wxColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSiz
             }
             break;
         default:
             }
             break;
         default:
-            s_Field.Printf("-E-> unknown Format(%d)-sql(%d)",dbDataType,sqlDataType);        //
+            s_Field.Printf(wxT("-E-> unknown Format(%d)-sql(%d)"),dbDataType,sqlDataType);        //
             break;
     };
     return TRUE;
             break;
     };
     return TRUE;
@@ -227,32 +227,32 @@ wxDB::wxDB(HENV &aHenv, bool FwdOnlyCursors)
     sqlLogState   = sqlLogOFF;    // By default, logging is turned off
     nTables       = 0;
 
     sqlLogState   = sqlLogOFF;    // By default, logging is turned off
     nTables       = 0;
 
-    wxStrcpy(sqlState,"");
-    wxStrcpy(errorMsg,"");
+    wxStrcpy(sqlState,wxT(""));
+    wxStrcpy(errorMsg,wxT(""));
     nativeError = cbErrorMsg = 0;
     for (i = 0; i < DB_MAX_ERROR_HISTORY; i++)
     nativeError = cbErrorMsg = 0;
     for (i = 0; i < DB_MAX_ERROR_HISTORY; i++)
-        wxStrcpy(errorList[i], "");
+        wxStrcpy(errorList[i], wxT(""));
 
     // Init typeInf structures
 
     // Init typeInf structures
-    wxStrcpy(typeInfVarchar.TypeName,"");
+    wxStrcpy(typeInfVarchar.TypeName,wxT(""));
     typeInfVarchar.FsqlType      = 0;
     typeInfVarchar.Precision     = 0;
     typeInfVarchar.CaseSensitive = 0;
     typeInfVarchar.MaximumScale  = 0;
 
     typeInfVarchar.FsqlType      = 0;
     typeInfVarchar.Precision     = 0;
     typeInfVarchar.CaseSensitive = 0;
     typeInfVarchar.MaximumScale  = 0;
 
-    wxStrcpy(typeInfInteger.TypeName,"");
+    wxStrcpy(typeInfInteger.TypeName,wxT(""));
     typeInfInteger.FsqlType      = 0;
     typeInfInteger.Precision     = 0;
     typeInfInteger.CaseSensitive = 0;
     typeInfInteger.MaximumScale  = 0;
 
     typeInfInteger.FsqlType      = 0;
     typeInfInteger.Precision     = 0;
     typeInfInteger.CaseSensitive = 0;
     typeInfInteger.MaximumScale  = 0;
 
-    wxStrcpy(typeInfFloat.TypeName,"");
+    wxStrcpy(typeInfFloat.TypeName,wxT(""));
     typeInfFloat.FsqlType      = 0;
     typeInfFloat.Precision     = 0;
     typeInfFloat.CaseSensitive = 0;
     typeInfFloat.MaximumScale  = 0;
 
     typeInfFloat.FsqlType      = 0;
     typeInfFloat.Precision     = 0;
     typeInfFloat.CaseSensitive = 0;
     typeInfFloat.MaximumScale  = 0;
 
-    wxStrcpy(typeInfDate.TypeName,"");
+    wxStrcpy(typeInfDate.TypeName,wxT(""));
     typeInfDate.FsqlType      = 0;
     typeInfDate.Precision     = 0;
     typeInfDate.CaseSensitive = 0;
     typeInfDate.FsqlType      = 0;
     typeInfDate.Precision     = 0;
     typeInfDate.CaseSensitive = 0;
@@ -896,8 +896,8 @@ void wxDB::Close(void)
         tiu = (wxTablesInUse *)pNode->Data();
         if (tiu->pDb == this)
         {
         tiu = (wxTablesInUse *)pNode->Data();
         if (tiu->pDb == this)
         {
-            s.sprintf("(%-20s)     tableID:[%6lu]     pDb:[%p]", tiu->tableName,tiu->tableID,tiu->pDb);
-            s2.sprintf("Orphaned found using pDb:[%p]",this);
+            s.sprintf(wxT("(%-20s)     tableID:[%6lu]     pDb:[%p]"), tiu->tableName,tiu->tableID,tiu->pDb);
+            s2.sprintf(wxT("Orphaned found using pDb:[%p]"),this);
             wxLogDebug (s.c_str(),s2.c_str());
         }
         pNode = pNode->Next();
             wxLogDebug (s.c_str(),s2.c_str());
         }
         pNode = pNode->Next();
index 116565bbcfe8fcd3b12a987a0be31056a416ee5f..61538ec23074f86ab87dfe8d5143bacf4279ffdb 100644 (file)
@@ -208,8 +208,7 @@ wxFontMapper::~wxFontMapper()
 void wxFontMapper::SetConfigPath(const wxString& prefix)
 {
     wxCHECK_RET( !prefix.IsEmpty() && prefix[0] == wxCONFIG_PATH_SEPARATOR,
 void wxFontMapper::SetConfigPath(const wxString& prefix)
 {
     wxCHECK_RET( !prefix.IsEmpty() && prefix[0] == wxCONFIG_PATH_SEPARATOR,
-                 wxT("an absolute path should be given to "
-                     "wxFontMapper::SetConfigPath()") );
+                 wxT("an absolute path should be given to wxFontMapper::SetConfigPath()") );
 
     m_configRootPath = prefix;
 }
 
     m_configRootPath = prefix;
 }
index 632816e59b3b49b417da321dbaf5e242979c3ae0..e611d322183f3a876f027de11cae515524cdd52d 100644 (file)
@@ -125,6 +125,9 @@ WXLIBNAME=$(NEW_WXLIBNAME)
 !if "$(FINAL)" == "1"
 D=Release
 !else
 !if "$(FINAL)" == "1"
 D=Release
 !else
+guilibsdll=msvcrtd.lib oldnames.lib kernel32.lib \
+  ws2_32.lib mswsock.lib advapi32.lib user32.lib \
+  gdi32.lib comdlg32.lib winspool.lib
 D=Debug
 LIBEXT=d
 WXLIBNAME=$(WXLIBNAME)$(LIBEXT)
 D=Debug
 LIBEXT=d
 WXLIBNAME=$(WXLIBNAME)$(LIBEXT)
index 6eadac61766bb4d37b6b730f88a995686631ebb6..f3a5e7e3674869797533e9b1205082c597b61711 100644 (file)
@@ -27,6 +27,8 @@ LIBTARGET=$(WXLIB)
 DUMMYOBJ=$D\dummy.obj
 !endif
 
 DUMMYOBJ=$D\dummy.obj
 !endif
 
+USE_GLCANVAS=1
+
 # Please set these according to the settings in setup.h, so we can include
 # the appropriate libraries in wx.lib
 
 # Please set these according to the settings in setup.h, so we can include
 # the appropriate libraries in wx.lib
 
index 7f8403c58fdcb0f24556a7e94b39ca723c4ab908..2d692a9a85d7fda426e9ead4392ab002967728c7 100644 (file)
@@ -545,7 +545,16 @@ bool wxTreeCtrl::Create(wxWindow *parent,
     if ( !MSWCreateControl(WC_TREEVIEW, wstyle) )
         return FALSE;
 
     if ( !MSWCreateControl(WC_TREEVIEW, wstyle) )
         return FALSE;
 
+#if 0
     SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
     SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
+#else
+    // This works around a bug in the Windows tree control whereby for some versions
+    // of comctrl32, setting any colour actually draws the background in black.
+    // This will initialise the background to the system colour.
+    ::SendMessage(GetHwnd(), TVM_SETBKCOLOR, 0,-1);
+    wxWindow::SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
+#endif
+
     SetForegroundColour(wxWindow::GetParent()->GetForegroundColour());
 
     // VZ: this is some experimental code which may be used to get the
     SetForegroundColour(wxWindow::GetParent()->GetForegroundColour());
 
     // VZ: this is some experimental code which may be used to get the
index 70aa07289b459fbf057afb4c37d8db509a168036..f068b5adbd8c65792327d312fc21eeda3b19f11b 100644 (file)
@@ -293,7 +293,7 @@ void MyApp::GenerateSamples(const wxString& dir)
     GenerateSample("TextVC", "text", dir + wxString("/samples/text"), wxStringList("text.cpp", 0));
     GenerateSample("ThreadVC", "thread", dir + wxString("/samples/thread"), wxStringList("thread.cpp", 0));
     GenerateSample("ToolbarVC", "toolbar", dir + wxString("/samples/toolbar"), wxStringList("toolbar.cpp", 0));
     GenerateSample("TextVC", "text", dir + wxString("/samples/text"), wxStringList("text.cpp", 0));
     GenerateSample("ThreadVC", "thread", dir + wxString("/samples/thread"), wxStringList("thread.cpp", 0));
     GenerateSample("ToolbarVC", "toolbar", dir + wxString("/samples/toolbar"), wxStringList("toolbar.cpp", 0));
-    GenerateSample("TreectrlVC", "treectrl", dir + wxString("/samples/treectrl"), wxStringList("treectrl.cpp", "treetest.h", 0));
+    GenerateSample("TreectrlVC", "treectrl", dir + wxString("/samples/treectrl"), wxStringList("treectrl.cpp", "treectrl.h", 0));
     GenerateSample("TypetestVC", "typetest", dir + wxString("/samples/typetest"), wxStringList("typetest.cpp", "typetest.h", 0));
     GenerateSample("ValidateVC", "validate", dir + wxString("/samples/validate"), wxStringList("validate.cpp", "validate.h", 0));
     GenerateSample("ClientVC", "client", dir + wxString("/samples/sockets"), wxStringList("client.cpp", 0));
     GenerateSample("TypetestVC", "typetest", dir + wxString("/samples/typetest"), wxStringList("typetest.cpp", "typetest.h", 0));
     GenerateSample("ValidateVC", "validate", dir + wxString("/samples/validate"), wxStringList("validate.cpp", "validate.h", 0));
     GenerateSample("ClientVC", "client", dir + wxString("/samples/sockets"), wxStringList("client.cpp", 0));