X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e5ea3f7a96aa06c204d37a234ffb57c163040430..2f073eb2e0786fa44dd41d31eb34d00a75ab0570:/samples/dialogs/dialogs.cpp?ds=sidebyside

diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp
index ff79b0c840..bf92673cbe 100644
--- a/samples/dialogs/dialogs.cpp
+++ b/samples/dialogs/dialogs.cpp
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:   	wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
@@ -25,11 +25,12 @@
 #include "wx/wx.h"
 #endif
 
-#include <wx/colordlg.h>
-#include <wx/filedlg.h>
-#include <wx/dirdlg.h>
-#include <wx/fontdlg.h>
-#include <wx/choicdlg.h>
+#include "wx/colordlg.h"
+#include "wx/filedlg.h"
+#include "wx/dirdlg.h"
+#include "wx/fontdlg.h"
+#include "wx/choicdlg.h"
+#include "wx/tipdlg.h"
 
 #define wxTEST_GENERIC_DIALOGS_IN_MSW 0
 
@@ -48,7 +49,7 @@ MyCanvas *myCanvas = (MyCanvas *) NULL;
 bool MyApp::OnInit(void)
 {
 #if defined(__WXGTK__) && defined(wxUSE_UNICODE)
-  wxConvCurrent = &wxConvLocal;
+  wxConvCurrent = &wxConvLibc;
 #endif
 
   m_canvasTextColour = wxColour("BLACK");
@@ -76,8 +77,11 @@ bool MyApp::OnInit(void)
   file_menu->AppendSeparator();
   file_menu->Append(DIALOGS_MESSAGE_BOX, "&Message box");
   file_menu->Append(DIALOGS_TEXT_ENTRY,  "Text &entry");
+  file_menu->Append(DIALOGS_NUM_ENTRY, "&Numeric entry\tCtrl-N");
   file_menu->Append(DIALOGS_SINGLE_CHOICE,  "&Single choice");
   file_menu->AppendSeparator();
+  file_menu->Append(DIALOGS_TIP,  "&Tip of the day");
+  file_menu->AppendSeparator();
   file_menu->Append(DIALOGS_FILE_OPEN,  "&Open file");
   file_menu->Append(DIALOGS_FILE_SAVE,  "Sa&ve file");
   file_menu->Append(DIALOGS_DIR_CHOOSE,  "&Choose a directory");
@@ -189,29 +193,44 @@ void MyFrame::ChooseFontGeneric(wxCommandEvent& WXUNUSED(event) )
 
 void MyFrame::MessageBox(wxCommandEvent& WXUNUSED(event) )
 {
-#if 0
   wxMessageDialog dialog(NULL, "This is a message box\nA long, long string to test out the message box properly",
-  	"Message box text", wxYES_NO|wxCANCEL);
+      "Message box text", wxYES_NO|wxCANCEL|wxICON_INFORMATION);
 
   dialog.ShowModal();
-  
- ::wxMessageBox("MsgBox with a really long long string", 
-    "this is the text", wxYES_NO|wxICON_EXCLAMATION);
-    
-#endif
- ::wxMessageBox("Short", 
-    "This is the text", wxYES_NO|wxICON_EXCLAMATION);
+}
+
+void MyFrame::NumericEntry(wxCommandEvent& WXUNUSED(event) )
+{
+    long res = wxGetNumberFromUser( "This is some text, actually a lot of text.\n"
+                                    "Even two rows of text.",
+				    "Enter a number:", "Numeric input test",
+                                     50, 0, 100, this );
+
+    wxString msg;
+    int icon;
+    if ( res == -1 )
+    {
+        msg = "Invalid number entered or dialog cancelled.";
+        icon = wxICON_HAND;
+    }
+    else
+    {            
+	msg.Printf(_T("You've entered %lu"), res );
+        icon = wxICON_INFORMATION;
+    }
+
+    wxMessageBox(msg, "Numeric test result", wxOK | icon, this);
 }
 
 void MyFrame::TextEntry(wxCommandEvent& WXUNUSED(event) )
 {
   wxTextEntryDialog dialog(this, "This is a small sample\nA long, long string to test out the text entrybox",
-  	"Please enter a string", "Default value", wxOK|wxCANCEL);
+      "Please enter a string", "Default value", wxOK|wxCANCEL);
 
   if (dialog.ShowModal() == wxID_OK)
   {
-	wxMessageDialog dialog2(this, dialog.GetValue(), "Got string");
-	dialog2.ShowModal();
+    wxMessageDialog dialog2(this, dialog.GetValue(), "Got string");
+    dialog2.ShowModal();
   }
 }
 
@@ -234,10 +253,10 @@ void MyFrame::SingleChoice(wxCommandEvent& WXUNUSED(event) )
 
 void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) )
 {
-	wxFileDialog dialog(this, "Testing open file dialog", "", "", "*.txt", 0);
+    wxFileDialog dialog(this, "Testing open file dialog", "", "", "*.txt", 0);
 
-	if (dialog.ShowModal() == wxID_OK)
-	{
+    if (dialog.ShowModal() == wxID_OK)
+    {
         wxString info;
         info.Printf(_T("Full file name: %s\n")
                     _T("Path: %s\n")
@@ -245,45 +264,74 @@ void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) )
                     dialog.GetPath().c_str(),
                     dialog.GetDirectory().c_str(),
                     dialog.GetFilename().c_str());
-		wxMessageDialog dialog2(this, info, "Selected file");
-		dialog2.ShowModal();
-	}
+        wxMessageDialog dialog2(this, info, "Selected file");
+        dialog2.ShowModal();
+    }
 }
 
 void MyFrame::FileSave(wxCommandEvent& WXUNUSED(event) )
 {
-	wxFileDialog dialog(this, "Testing save file dialog", "", "",
-		"Text files (*.txt)|*.txt|Document files (*.doc)|*.doc",
-		wxSAVE|wxOVERWRITE_PROMPT);
-
-	if (dialog.ShowModal() == wxID_OK)
-	{
-		wxChar buf[400];
-		wxSprintf(buf, _T("%s, filter %d"), (const wxChar*)dialog.GetPath(), dialog.GetFilterIndex());
-		wxMessageDialog dialog2(this, wxString(buf), "Selected path");
-		dialog2.ShowModal();
-	}
+    wxFileDialog dialog(this, "Testing save file dialog", "", "myletter.txt",
+        "Text files (*.txt)|*.txt|Document files (*.doc)|*.doc",
+        wxSAVE|wxOVERWRITE_PROMPT);
+
+    if (dialog.ShowModal() == wxID_OK)
+    {
+        wxChar buf[400];
+        wxSprintf(buf, _T("%s, filter %d"), (const wxChar*)dialog.GetPath(), dialog.GetFilterIndex());
+        wxMessageDialog dialog2(this, wxString(buf), "Selected path");
+        dialog2.ShowModal();
+    }
 }
 
 void MyFrame::DirChoose(wxCommandEvent& WXUNUSED(event) )
 {
-	wxDirDialog dialog(this, "Testing directory picker", "");
+    wxDirDialog dialog(this, "Testing directory picker", "");
 
-	if (dialog.ShowModal() == wxID_OK)
-	{
-		wxMessageDialog dialog2(this, dialog.GetPath(), "Selected path");
-		dialog2.ShowModal();
-	}
+    if (dialog.ShowModal() == wxID_OK)
+    {
+        wxMessageDialog dialog2(this, dialog.GetPath(), "Selected path");
+        dialog2.ShowModal();
+    }
+}
+
+void MyFrame::ShowTip(wxCommandEvent& event)
+{
+#if wxUSE_STARTUP_TIPS
+    static size_t s_index = (size_t)-1;
+
+    if ( s_index == (size_t)-1 )
+    {
+        srand(time(NULL));
+
+        // this is completely bogus, we don't know how many lines are there
+        // in the file, but who cares, it's a demo only...
+        s_index = rand() % 5;
+    }
+
+    wxTipProvider *tipProvider = wxCreateFileTipProvider("tips.txt", s_index);
+
+    bool showAtStartup = wxShowTip(this, tipProvider);
+
+    if ( showAtStartup )
+    {
+        wxMessageBox("Will show tips on startup", "Tips dialog",
+                     wxOK | wxICON_INFORMATION, this);
+    }
+
+    s_index = tipProvider->GetCurrentTip();
+    delete tipProvider;
+#endif
 }
 
 void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) )
 {
-	Close(TRUE);
+    Close(TRUE);
 }
 
 void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event) )
 {
-	wxPaintDC dc(this);
+    wxPaintDC dc(this);
     dc.SetFont(wxGetApp().m_canvasFont);
     dc.SetTextForeground(wxGetApp().m_canvasTextColour);
     dc.SetBackgroundMode(wxTRANSPARENT);
@@ -291,22 +339,24 @@ void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event) )
 }
 
 BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
-	EVT_PAINT(MyCanvas::OnPaint)
+    EVT_PAINT(MyCanvas::OnPaint)
 END_EVENT_TABLE()
 
 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
-	EVT_MENU(DIALOGS_CHOOSE_COLOUR,				MyFrame::ChooseColour)
-	EVT_MENU(DIALOGS_CHOOSE_FONT,				MyFrame::ChooseFont)
-	EVT_MENU(DIALOGS_MESSAGE_BOX,				MyFrame::MessageBox)
-	EVT_MENU(DIALOGS_TEXT_ENTRY,				MyFrame::TextEntry)
-	EVT_MENU(DIALOGS_SINGLE_CHOICE,				MyFrame::SingleChoice)
-	EVT_MENU(DIALOGS_FILE_OPEN,					MyFrame::FileOpen)
-	EVT_MENU(DIALOGS_FILE_SAVE,					MyFrame::FileSave)
-	EVT_MENU(DIALOGS_DIR_CHOOSE,				MyFrame::DirChoose)
+    EVT_MENU(DIALOGS_CHOOSE_COLOUR,                MyFrame::ChooseColour)
+    EVT_MENU(DIALOGS_CHOOSE_FONT,                MyFrame::ChooseFont)
+    EVT_MENU(DIALOGS_MESSAGE_BOX,                MyFrame::MessageBox)
+    EVT_MENU(DIALOGS_TEXT_ENTRY,                MyFrame::TextEntry)
+    EVT_MENU(DIALOGS_NUM_ENTRY,                MyFrame::NumericEntry)
+    EVT_MENU(DIALOGS_SINGLE_CHOICE,                MyFrame::SingleChoice)
+    EVT_MENU(DIALOGS_FILE_OPEN,                    MyFrame::FileOpen)
+    EVT_MENU(DIALOGS_FILE_SAVE,                    MyFrame::FileSave)
+    EVT_MENU(DIALOGS_DIR_CHOOSE,                MyFrame::DirChoose)
+    EVT_MENU(DIALOGS_TIP,                        MyFrame::ShowTip)
 #if defined(__WXMSW__) && wxTEST_GENERIC_DIALOGS_IN_MSW
-	EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC,		MyFrame::ChooseColourGeneric)
-	EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC,		MyFrame::ChooseFontGeneric)
+    EVT_MENU(DIALOGS_CHOOSE_COLOUR_GENERIC,        MyFrame::ChooseColourGeneric)
+    EVT_MENU(DIALOGS_CHOOSE_FONT_GENERIC,        MyFrame::ChooseFontGeneric)
 #endif
-	EVT_MENU(wxID_EXIT,							MyFrame::OnExit)
+    EVT_MENU(wxID_EXIT,                            MyFrame::OnExit)
 END_EVENT_TABLE()