X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b0f5e5864b7e8cb7a36be8fefabf46ffed60801..931d6a47c32a5b4c283243cb553ce71ee2b535d5:/samples/html/htmlctrl/htmlctrl.cpp?ds=sidebyside diff --git a/samples/html/htmlctrl/htmlctrl.cpp b/samples/html/htmlctrl/htmlctrl.cpp old mode 100755 new mode 100644 index 5ca80e47e4..5de9111380 --- a/samples/html/htmlctrl/htmlctrl.cpp +++ b/samples/html/htmlctrl/htmlctrl.cpp @@ -4,7 +4,6 @@ // Author: Julian Smart / Kevin Ollivier // Modified by: // Created: 04/16/2004 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart / Kevin Ollivier // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -25,23 +24,21 @@ #endif // for all others, include the necessary headers (this file is usually all you -// need because it includes almost all "standard" wxWindows headers) +// need because it includes almost all "standard" wxWidgets headers) #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/html/webkit.h" +#ifndef wxHAS_IMAGES_IN_RESOURCES + #include "../../sample.xpm" +#endif + // ---------------------------------------------------------------------------- // resources // ---------------------------------------------------------------------------- -// the application icon (under Windows and OS/2 it is in resources and even -// though we could still include the XPM here it would be unused) -#if !defined(__WXMSW__) && !defined(__WXPM__) - #include "../../sample.xpm" -#endif - enum { ID_BACK = wxID_HIGHEST + 1, ID_NEXT = wxID_HIGHEST + 2, @@ -53,7 +50,7 @@ enum { ID_OPEN = wxID_HIGHEST + 8, ID_SAVE = wxID_HIGHEST + 9, ID_SET_SOURCE = wxID_HIGHEST + 10 - }; +}; // ---------------------------------------------------------------------------- // private classes @@ -89,15 +86,15 @@ public: wxWebKitCtrl* mySafari; wxTextCtrl* urlText; private: - // any class wishing to process wxWindows events must use this macro + // any class wishing to process wxWidgets events must use this macro DECLARE_EVENT_TABLE() }; // ---------------------------------------------------------------------------- -// event tables and other macros for wxWindows +// event tables and other macros for wxWidgets // ---------------------------------------------------------------------------- -// the event tables connect the wxWindows events with the functions (event +// the event tables connect the wxWidgets events with the functions (event // handlers) which process them. It can be also done at run-time, but for the // simple menu events like this the static method is much simpler. BEGIN_EVENT_TABLE(MyFrame, wxFrame) @@ -113,7 +110,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) //EVT_MENU(Minimal_About, MyFrame::OnAbout) END_EVENT_TABLE() -// Create a new application object: this macro will allow wxWindows to create +// Create a new application object: this macro will allow wxWidgets to create // the application object during program execution (it's better than using a // static object for many reasons) and also implements the accessor function // wxGetApp() which will return the reference of the right type (i.e. MyApp and @@ -131,8 +128,11 @@ IMPLEMENT_APP(MyApp) // 'Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // create the main application window - MyFrame *frame = new MyFrame(_T("wxWebKit Sample")); + MyFrame *frame = new MyFrame(wxT("wxWebKit Sample")); // and show it (the frames, unlike simple controls, are not shown when // created initially) @@ -152,20 +152,22 @@ bool MyApp::OnInit() MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(500,500)) { + SetIcon(wxICON(sample)); + wxMenuBar* myBar = new wxMenuBar(); wxMenu* fileMenu = new wxMenu; fileMenu->Append(ID_OPEN, _("&Open")); fileMenu->Append(ID_SAVE, _("&Save")); myBar->Append(fileMenu, _("&File")); - + wxMenu* editMenu = new wxMenu; editMenu->Append(ID_SET_SOURCE, _("Set Page Source")); myBar->Append(editMenu, _("&Edit")); - + //wxMenu* viewMenu = new wxMenu(_("View")); //viewMenu->Append(ID_VIEW_SOURCE, _("View Source")); //myBar->Append(viewMenu, _("View")); - + SetMenuBar(myBar); wxToolBar* myToolbar = CreateToolBar(); @@ -181,66 +183,97 @@ MyFrame::MyFrame(const wxString& title) wxButton* btnReload = new wxButton(myToolbar, ID_RELOAD, _("Reload")); myToolbar->AddControl(btnReload); myToolbar->AddSeparator(); - urlText = new wxTextCtrl(myToolbar, ID_URLLIST, _T("http://www.wxwidgets.org"), wxDefaultPosition, wxSize(220, -1), wxTE_PROCESS_ENTER); + urlText = new wxTextCtrl(myToolbar, ID_URLLIST, wxT("http://www.wxwidgets.org"), wxDefaultPosition, wxSize(220, -1), wxTE_PROCESS_ENTER); myToolbar->AddControl(urlText); myToolbar->AddSeparator(); myToolbar->Realize(); - mySafari = new wxWebKitCtrl(this, ID_WEBKIT, _T("http://www.wxwidgets.org"), wxDefaultPosition, wxSize(200, 200)); + // Testing wxWebKitCtrl inside a panel +#if 1 + wxPanel* panel = new wxPanel(this, wxID_ANY); + + wxBoxSizer* boxSizer = new wxBoxSizer(wxVERTICAL); + panel->SetSizer(boxSizer); + + mySafari = new wxWebKitCtrl(panel, ID_WEBKIT, wxT("http://www.wxwidgets.org"), wxDefaultPosition, wxSize(200, 200)); + + boxSizer->Add(mySafari, 1, wxEXPAND); + + wxBoxSizer* frameSizer = new wxBoxSizer(wxVERTICAL); + SetSizer(frameSizer); + frameSizer->Add(panel, 1, wxEXPAND); +#else + mySafari = new wxWebKitCtrl(this, ID_WEBKIT, wxT("http://www.wxwidgets.org"), wxDefaultPosition, wxSize(200, 200)); +#endif #if wxUSE_STATUSBAR CreateStatusBar(2); #endif // wxUSE_STATUSBAR } -void MyFrame::OnBackButton(wxCommandEvent& myEvent){ +void MyFrame::OnBackButton(wxCommandEvent& WXUNUSED(myEvent)) +{ if (mySafari->CanGoBack()) mySafari->GoBack(); } -void MyFrame::OnNextButton(wxCommandEvent& myEvent){ +void MyFrame::OnNextButton(wxCommandEvent& WXUNUSED(myEvent)) +{ if (mySafari->CanGoForward()) mySafari->GoForward(); } -void MyFrame::OnStopButton(wxCommandEvent& myEvent){ +void MyFrame::OnStopButton(wxCommandEvent& WXUNUSED(myEvent)) +{ mySafari->Stop(); } -void MyFrame::OnReloadButton(wxCommandEvent& myEvent){ - mySafari->Reload(); +void MyFrame::OnReloadButton(wxCommandEvent& WXUNUSED(myEvent)) +{ + mySafari->Reload(); } -void MyFrame::OnURLEnter(wxCommandEvent& myEvent){ +void MyFrame::OnURLEnter(wxCommandEvent& WXUNUSED(myEvent)) +{ mySafari->LoadURL(urlText->GetValue()); } -void MyFrame::OnStateChanged(wxWebKitStateChangedEvent& myEvent){ - if (GetStatusBar() != NULL){ - if (myEvent.GetState() == wxWEBKIT_STATE_NEGOTIATING){ +void MyFrame::OnStateChanged(wxWebKitStateChangedEvent& myEvent) +{ + if (GetStatusBar() != NULL) + { + if (myEvent.GetState() == wxWEBKIT_STATE_NEGOTIATING) + { GetStatusBar()->SetStatusText(_("Contacting ") + myEvent.GetURL()); + urlText->SetValue(myEvent.GetURL()); } - else if (myEvent.GetState() == wxWEBKIT_STATE_TRANSFERRING){ + else if (myEvent.GetState() == wxWEBKIT_STATE_TRANSFERRING) + { GetStatusBar()->SetStatusText(_("Loading ") + myEvent.GetURL()); } - else if (myEvent.GetState() == wxWEBKIT_STATE_STOP){ + else if (myEvent.GetState() == wxWEBKIT_STATE_STOP) + { GetStatusBar()->SetStatusText(_("Load complete.")); SetTitle(mySafari->GetTitle()); } - else if (myEvent.GetState() == wxWEBKIT_STATE_FAILED){ + else if (myEvent.GetState() == wxWEBKIT_STATE_FAILED) + { GetStatusBar()->SetStatusText(_("Failed to load ") + myEvent.GetURL()); } } } -void MyFrame::OnViewSource(wxCommandEvent& myEvent){ +void MyFrame::OnViewSource(wxCommandEvent& WXUNUSED(myEvent)) +{ if (mySafari->CanGetPageSource()) wxMessageBox(mySafari->GetPageSource()); } -void MyFrame::OnSetSource(wxCommandEvent& myEvent){ - if (mySafari){ +void MyFrame::OnSetSource(wxCommandEvent& WXUNUSED(myEvent)) +{ + if (mySafari) + { wxString myText = wxT("
Hello world!
"); mySafari->SetPageSource(myText); }