X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2c990ba6d4f88e18e6666f61efe55c7a8b5cc948..65fb4b3a4f18e1d8b58ac92d50d4cc7f81f03783:/samples/html/htmlctrl/htmlctrl.cpp diff --git a/samples/html/htmlctrl/htmlctrl.cpp b/samples/html/htmlctrl/htmlctrl.cpp old mode 100755 new mode 100644 index 58d01fbc2f..081ea3af25 --- a/samples/html/htmlctrl/htmlctrl.cpp +++ b/samples/html/htmlctrl/htmlctrl.cpp @@ -25,23 +25,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/wxWebKit.h" +#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 +51,7 @@ enum { ID_OPEN = wxID_HIGHEST + 8, ID_SAVE = wxID_HIGHEST + 9, ID_SET_SOURCE = wxID_HIGHEST + 10 - }; +}; // ---------------------------------------------------------------------------- // private classes @@ -86,18 +84,18 @@ public: void OnViewSource(wxCommandEvent& myEvent); void OnSetSource(wxCommandEvent& myEvent); void OnStateChanged(wxWebKitStateChangedEvent& myEvent); - wxWebKitControl* mySafari; + 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 +111,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 +129,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 +153,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(_("&File")); - fileMenu->Append(ID_OPEN, _("Open")); - fileMenu->Append(ID_SAVE, _("Save")); - myBar->Append(fileMenu, _("File")); - - wxMenu* editMenu = new wxMenu(_("Edit")); + 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")); - + 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,67 +184,98 @@ 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 wxWebKitControl(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){ - wxString myText = wxString("

Hello world!

"); +void MyFrame::OnSetSource(wxCommandEvent& WXUNUSED(myEvent)) +{ + if (mySafari) + { + wxString myText = wxT("

Hello world!

"); mySafari->SetPageSource(myText); } }