]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/console/console.cpp
Added demo of using a sizer in a wxScrolledWindow
[wxWidgets.git] / samples / console / console.cpp
index cc732582d4d8a18a7c1ababbb4de14aafa4b02c4..bc6de72314285368d2cde47f7006f1c5739ed538 100644 (file)
@@ -91,7 +91,7 @@
     #undef TEST_ALL
     static const bool TEST_ALL = TRUE;
 #else
-    #define TEST_ZLIB
+    #define TEST_STREAMS
 
     static const bool TEST_ALL = FALSE;
 #endif
@@ -307,7 +307,19 @@ static void TestDirEnum()
 {
     puts("*** Testing wxDir::GetFirst/GetNext ***");
 
-    wxDir dir(wxGetCwd());
+    wxString cwd = wxGetCwd();
+    if ( !wxDir::Exists(cwd) )
+    {
+        printf("ERROR: current directory '%s' doesn't exist?\n", cwd.c_str());
+        return;
+    }
+
+    wxDir dir("s:/tmp/foo");
+    if ( !dir.IsOpened() )
+    {
+        printf("ERROR: failed to open current directory '%s'.\n", cwd.c_str());
+        return;
+    }
 
     puts("Enumerating everything in current directory:");
     TestDirEnumHelper(dir);
@@ -395,6 +407,38 @@ static void TestDirTraverse()
     dir.Traverse(traverser, _T(""), wxDIR_DIRS | wxDIR_HIDDEN);
 }
 
+static void TestDirExists()
+{
+    wxPuts(_T("*** Testing wxDir::Exists() ***"));
+
+    static const char *dirnames[] =
+    {
+        _T("."),
+#if defined(__WXMSW__)
+        _T("c:"),
+        _T("c:\\"),
+        _T("\\\\share\\file"),
+        _T("c:\\dos"),
+        _T("c:\\dos\\"),
+        _T("c:\\dos\\\\"),
+        _T("c:\\autoexec.bat"),
+#elif defined(__UNIX__)
+        _T("/"),
+        _T("//"),
+        _T("/usr/bin"),
+        _T("/usr//bin"),
+        _T("/usr///bin"),
+#endif
+    };
+
+    for ( size_t n = 0; n < WXSIZEOF(dirnames); n++ )
+    {
+        printf(_T("%-40s: %s\n"),
+               dirnames[n],
+               wxDir::Exists(dirnames[n]) ? _T("exists") : _T("doesn't exist"));
+    }
+}
+
 #endif // TEST_DIR
 
 // ----------------------------------------------------------------------------
@@ -822,6 +866,7 @@ static struct FileNameInfo
     { _T("c:\\foo.bar"), _T("c"), _T("\\"), _T("foo"), _T("bar"), TRUE, wxPATH_DOS },
     { _T("c:\\Windows\\command.com"), _T("c"), _T("\\Windows"), _T("command"), _T("com"), TRUE, wxPATH_DOS },
     { _T("\\\\server\\foo.bar"), _T("server"), _T("\\"), _T("foo"), _T("bar"), TRUE, wxPATH_DOS },
+    { _T("\\\\server\\dir\\foo.bar"), _T("server"), _T("\\dir"), _T("foo"), _T("bar"), TRUE, wxPATH_DOS },
 
     // wxFileName support for Mac file names is broken currently
 #if 0
@@ -1695,6 +1740,7 @@ static void TestMimeFilename()
         _T("readme.txt"),
         _T("document.pdf"),
         _T("image.gif"),
+        _T("picture.jpeg"),
     };
 
     for ( size_t n = 0; n < WXSIZEOF(filenames); n++ )
@@ -3026,13 +3072,27 @@ static void TestFileStream()
 
 static void TestMemoryStream()
 {
-    puts("*** Testing wxMemoryInputStream ***");
+    wxPuts(_T("*** Testing wxMemoryOutputStream ***"));
+
+    wxMemoryOutputStream memOutStream;
+    wxPrintf(_T("Initially out stream offset: %lu\n"),
+             (unsigned long)memOutStream.TellO());
+
+    for ( const wxChar *p = _T("Hello, stream!"); *p; p++ )
+    {
+        memOutStream.PutC(*p);
+    }
+
+    wxPrintf(_T("Final out stream offset: %lu\n"),
+             (unsigned long)memOutStream.TellO());
+
+    wxPuts(_T("*** Testing wxMemoryInputStream ***"));
 
     wxChar buf[1024];
-    wxStrncpy(buf, _T("Hello, stream!"), WXSIZEOF(buf));
+    size_t len = memOutStream.CopyTo(buf, WXSIZEOF(buf));
 
-    wxMemoryInputStream memInpStream(buf, wxStrlen(buf));
-    printf(_T("Memory stream size: %u\n"), memInpStream.GetSize());
+    wxMemoryInputStream memInpStream(buf, len);
+    wxPrintf(_T("Memory stream size: %u\n"), memInpStream.GetSize());
     while ( !memInpStream.Eof() )
     {
         putchar(memInpStream.GetC());
@@ -5039,18 +5099,18 @@ public:
 
     virtual ExitCode Entry()
     {
-        wxPrintf(_T("%s: Thread %d starting to wait for semaphore...\n"),
-                 wxDateTime::Now().FormatTime().c_str(), m_i);
+        wxPrintf(_T("%s: Thread #%d (%ld) starting to wait for semaphore...\n"),
+                 wxDateTime::Now().FormatTime().c_str(), m_i, (long)GetId());
 
         m_sem->Wait();
 
-        wxPrintf(_T("%s: Thread %d acquired the semaphore.\n"),
-                 wxDateTime::Now().FormatTime().c_str(), m_i);
+        wxPrintf(_T("%s: Thread #%d (%ld) acquired the semaphore.\n"),
+                 wxDateTime::Now().FormatTime().c_str(), m_i, (long)GetId());
 
         Sleep(1000);
 
-        wxPrintf(_T("%s: Thread %d releasing the semaphore.\n"),
-                 wxDateTime::Now().FormatTime().c_str(), m_i);
+        wxPrintf(_T("%s: Thread #%d (%ld) releasing the semaphore.\n"),
+                 wxDateTime::Now().FormatTime().c_str(), m_i, (long)GetId());
 
         m_sem->Post();
 
@@ -5793,9 +5853,10 @@ int main(int argc, char **argv)
 #ifdef TEST_DIR
     if ( TEST_ALL )
     {
-        TestDirEnum();
+        TestDirExists();
         TestDirTraverse();
     }
+    TestDirEnum();
 #endif // TEST_DIR
 
 #ifdef TEST_DLLLOADER
@@ -5851,7 +5912,7 @@ int main(int argc, char **argv)
 #endif // TEST_FILE
 
 #ifdef TEST_FILENAME
-    if ( 1 )
+    if ( 0 )
     {
         wxFileName fn;
         fn.Assign("c:\\foo", "bar.baz");
@@ -5860,6 +5921,7 @@ int main(int argc, char **argv)
         DumpFileName(fn);
     }
 
+    TestFileNameConstruction();
     if ( TEST_ALL )
     {
         TestFileNameConstruction();
@@ -5935,10 +5997,9 @@ int main(int argc, char **argv)
     {
         TestMimeEnum();
         TestMimeOverride();
-        TestMimeFilename();
+        TestMimeAssociate();
     }
-
-    TestMimeAssociate();
+    TestMimeFilename();
 #endif // TEST_MIME
 
 #ifdef TEST_INFO_FUNCTIONS
@@ -5989,8 +6050,11 @@ int main(int argc, char **argv)
 #endif // TEST_SOCKETS
 
 #ifdef TEST_STREAMS
-    TestFileStream();
-    TestMemoryStream();
+    if ( TEST_ALL )
+    {
+        TestFileStream();
+    }
+        TestMemoryStream();
 #endif // TEST_STREAMS
 
 #ifdef TEST_THREADS