]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/console/console.cpp
optionally count repeating wxLog messages instead of logging all (patch 1520815)
[wxWidgets.git] / samples / console / console.cpp
index 06662dde589dd8529a4f52c7b1008af934ca7922..c2e691b4015027267ccfc2fbff59e3f97eed0e23 100644 (file)
@@ -25,6 +25,8 @@
 #include "wx/file.h"
 #include "wx/app.h"
 #include "wx/log.h"
 #include "wx/file.h"
 #include "wx/app.h"
 #include "wx/log.h"
+#include "wx/apptrait.h"
+#include "wx/platinfo.h"
 
 // without this pragma, the stupid compiler precompiles #defines below so that
 // changing them doesn't "take place" later!
 
 // without this pragma, the stupid compiler precompiles #defines below so that
 // changing them doesn't "take place" later!
@@ -65,6 +67,7 @@
     #define TEST_LOCALE
     #define TEST_LOG
     #define TEST_MIME
     #define TEST_LOCALE
     #define TEST_LOG
     #define TEST_MIME
+    #define TEST_MODULE
     #define TEST_PATHLIST
     #define TEST_ODBC
     #define TEST_PRINTF
     #define TEST_PATHLIST
     #define TEST_ODBC
     #define TEST_PRINTF
@@ -133,7 +136,7 @@ static wxString MakePrintable(const wxChar *s)
 
 static void ShowCmdLine(const wxCmdLineParser& parser)
 {
 
 static void ShowCmdLine(const wxCmdLineParser& parser)
 {
-    wxString s = _T("Input files: ");
+    wxString s = _T("Command line parsed successfully:\nInput files: ");
 
     size_t count = parser.GetParamCount();
     for ( size_t param = 0; param < count; param++ )
 
     size_t count = parser.GetParamCount();
     for ( size_t param = 0; param < count; param++ )
@@ -717,6 +720,24 @@ static void TestFileCopy()
     wxPuts(wxEmptyString);
 }
 
     wxPuts(wxEmptyString);
 }
 
+static void TestTempFile()
+{
+    wxPuts(_T("*** wxTempFile test ***"));
+
+    wxTempFile tmpFile;
+    if ( tmpFile.Open(_T("test2")) && tmpFile.Write(_T("the answer is 42")) )
+    {
+        if ( tmpFile.Commit() )
+            wxPuts(_T("File committed."));
+        else
+            wxPuts(_T("ERROR: could't commit temp file."));
+
+        wxRemoveFile(_T("test2"));
+    }
+
+    wxPuts(wxEmptyString);
+}
+
 #endif // TEST_FILE
 
 // ----------------------------------------------------------------------------
 #endif // TEST_FILE
 
 // ----------------------------------------------------------------------------
@@ -1381,6 +1402,80 @@ static void TestMimeAssociate()
 
 #endif // TEST_MIME
 
 
 #endif // TEST_MIME
 
+// ----------------------------------------------------------------------------
+// module dependencies feature
+// ----------------------------------------------------------------------------
+
+#ifdef TEST_MODULE
+
+#include "wx/module.h"
+
+class wxTestModule : public wxModule
+{
+protected:
+    virtual bool OnInit() { wxPrintf(_T("Load module: %s\n"), GetClassInfo()->GetClassName()); return true; }
+    virtual void OnExit() { wxPrintf(_T("Unload module: %s\n"), GetClassInfo()->GetClassName()); }
+};
+
+class wxTestModuleA : public wxTestModule
+{
+public:
+    wxTestModuleA();
+private:
+    DECLARE_DYNAMIC_CLASS(wxTestModuleA)
+};
+
+class wxTestModuleB : public wxTestModule
+{
+public:
+    wxTestModuleB();
+private:
+    DECLARE_DYNAMIC_CLASS(wxTestModuleB)
+};
+
+class wxTestModuleC : public wxTestModule
+{
+public:
+    wxTestModuleC();
+private:
+    DECLARE_DYNAMIC_CLASS(wxTestModuleC)
+};
+
+class wxTestModuleD : public wxTestModule
+{
+public:
+    wxTestModuleD();
+private:
+    DECLARE_DYNAMIC_CLASS(wxTestModuleD)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxTestModuleC, wxModule)
+wxTestModuleC::wxTestModuleC()
+{
+    AddDependency(CLASSINFO(wxTestModuleD));
+}
+
+IMPLEMENT_DYNAMIC_CLASS(wxTestModuleA, wxModule)
+wxTestModuleA::wxTestModuleA()
+{
+    AddDependency(CLASSINFO(wxTestModuleB));
+    AddDependency(CLASSINFO(wxTestModuleD));
+}
+
+IMPLEMENT_DYNAMIC_CLASS(wxTestModuleD, wxModule)
+wxTestModuleD::wxTestModuleD()
+{
+}
+
+IMPLEMENT_DYNAMIC_CLASS(wxTestModuleB, wxModule)
+wxTestModuleB::wxTestModuleB()
+{
+    AddDependency(CLASSINFO(wxTestModuleD));
+    AddDependency(CLASSINFO(wxTestModuleC));
+}
+
+#endif // TEST_MODULE
+
 // ----------------------------------------------------------------------------
 // misc information functions
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // misc information functions
 // ----------------------------------------------------------------------------
@@ -1389,6 +1484,7 @@ static void TestMimeAssociate()
 
 #include "wx/utils.h"
 
 
 #include "wx/utils.h"
 
+#if TEST_INTERACTIVE
 static void TestDiskInfo()
 {
     wxPuts(_T("*** Testing wxGetDiskSpace() ***"));
 static void TestDiskInfo()
 {
     wxPuts(_T("*** Testing wxGetDiskSpace() ***"));
@@ -1417,6 +1513,7 @@ static void TestDiskInfo()
         }
     }
 }
         }
     }
 }
+#endif // TEST_INTERACTIVE
 
 static void TestOsInfo()
 {
 
 static void TestOsInfo()
 {
@@ -1427,7 +1524,7 @@ static void TestOsInfo()
     wxPrintf(_T("Running under: %s, version %d.%d\n"),
             wxGetOsDescription().c_str(), major, minor);
 
     wxPrintf(_T("Running under: %s, version %d.%d\n"),
             wxGetOsDescription().c_str(), major, minor);
 
-    wxPrintf(_T("%ld free bytes of memory left.\n"), wxGetFreeMemory());
+    wxPrintf(_T("%ld free bytes of memory left.\n"), wxGetFreeMemory().ToLong());
 
     wxPrintf(_T("Host name is %s (%s).\n"),
            wxGetHostName().c_str(), wxGetFullHostName().c_str());
 
     wxPrintf(_T("Host name is %s (%s).\n"),
            wxGetHostName().c_str(), wxGetFullHostName().c_str());
@@ -1435,6 +1532,23 @@ static void TestOsInfo()
     wxPuts(wxEmptyString);
 }
 
     wxPuts(wxEmptyString);
 }
 
+static void TestPlatformInfo()
+{
+    wxPuts(_T("*** Testing wxPlatformInfo functions ***\n"));
+
+    // get this platform
+    wxPlatformInfo plat;
+
+    wxPrintf(_T("Operating system family name is: %s\n"), plat.GetOperatingSystemFamilyName().c_str());
+    wxPrintf(_T("Operating system name is: %s\n"), plat.GetOperatingSystemIdName().c_str());
+    wxPrintf(_T("Port ID name is: %s\n"), plat.GetPortIdName().c_str());
+    wxPrintf(_T("Port ID short name is: %s\n"), plat.GetPortIdShortName().c_str());
+    wxPrintf(_T("Architecture is: %s\n"), plat.GetArchName().c_str());
+    wxPrintf(_T("Endianness is: %s\n"), plat.GetEndiannessName().c_str());
+
+    wxPuts(wxEmptyString);
+}
+
 static void TestUserInfo()
 {
     wxPuts(_T("*** Testing user info functions ***\n"));
 static void TestUserInfo()
 {
     wxPuts(_T("*** Testing user info functions ***\n"));
@@ -2684,6 +2798,8 @@ static void TestStandardPaths()
     wxPrintf(_T("Data dir (sys local):\t%s\n"), stdp.GetLocalDataDir().c_str());
     wxPrintf(_T("Data dir (user):\t%s\n"), stdp.GetUserDataDir().c_str());
     wxPrintf(_T("Data dir (user local):\t%s\n"), stdp.GetUserLocalDataDir().c_str());
     wxPrintf(_T("Data dir (sys local):\t%s\n"), stdp.GetLocalDataDir().c_str());
     wxPrintf(_T("Data dir (user):\t%s\n"), stdp.GetUserDataDir().c_str());
     wxPrintf(_T("Data dir (user local):\t%s\n"), stdp.GetUserLocalDataDir().c_str());
+    wxPrintf(_T("Documents dir:\t\t%s\n"), stdp.GetDocumentsDir().c_str());
+    wxPrintf(_T("Executable path:\t%s\n"), stdp.GetExecutablePath().c_str());
     wxPrintf(_T("Plugins dir:\t\t%s\n"), stdp.GetPluginsDir().c_str());
     wxPrintf(_T("Resources dir:\t\t%s\n"), stdp.GetResourcesDir().c_str());
     wxPrintf(_T("Localized res. dir:\t%s\n"),
     wxPrintf(_T("Plugins dir:\t\t%s\n"), stdp.GetPluginsDir().c_str());
     wxPrintf(_T("Resources dir:\t\t%s\n"), stdp.GetResourcesDir().c_str());
     wxPrintf(_T("Localized res. dir:\t%s\n"),
@@ -2717,11 +2833,13 @@ static void TestFileStream()
         fsOut.Write("foo", 3);
     }
 
         fsOut.Write("foo", 3);
     }
 
-    wxFileInputStream fsIn(filename);
-    wxPrintf(_T("File stream size: %u\n"), fsIn.GetSize());
-    while ( !fsIn.Eof() )
     {
     {
-        wxPutchar(fsIn.GetC());
+        wxFileInputStream fsIn(filename);
+        wxPrintf(_T("File stream size: %u\n"), fsIn.GetSize());
+        while ( !fsIn.Eof() )
+        {
+            wxPutchar(fsIn.GetC());
+        }
     }
 
     if ( !wxRemoveFile(filename) )
     }
 
     if ( !wxRemoveFile(filename) )
@@ -4205,6 +4323,7 @@ int main(int argc, char **argv)
     TestFileRead();
     TestTextFileRead();
     TestFileCopy();
     TestFileRead();
     TestTextFileRead();
     TestFileCopy();
+    TestTempFile();
 #endif // TEST_FILE
 
 #ifdef TEST_FILENAME
 #endif // TEST_FILE
 
 #ifdef TEST_FILENAME
@@ -4249,20 +4368,19 @@ int main(int argc, char **argv)
     wxLog::AddTraceMask(_T("mime"));
     #if TEST_ALL
         TestMimeEnum();
     wxLog::AddTraceMask(_T("mime"));
     #if TEST_ALL
         TestMimeEnum();
+    #endif
         TestMimeOverride();
         TestMimeAssociate();
         TestMimeOverride();
         TestMimeAssociate();
-    #endif
     TestMimeFilename();
 #endif // TEST_MIME
 
 #ifdef TEST_INFO_FUNCTIONS
     TestMimeFilename();
 #endif // TEST_MIME
 
 #ifdef TEST_INFO_FUNCTIONS
-    #if TEST_ALL
-        TestOsInfo();
-        TestUserInfo();
+    TestOsInfo();
+    TestPlatformInfo();
+    TestUserInfo();
 
 
-        #if TEST_INTERACTIVE
-            TestDiskInfo();
-        #endif
+    #if TEST_INTERACTIVE
+        TestDiskInfo();
     #endif
 #endif // TEST_INFO_FUNCTIONS
 
     #endif
 #endif // TEST_INFO_FUNCTIONS