// Author: Julian Smart / Kevin Ollivier
// Modified by:
// Created: 04/16/2004
-// RCS-ID: $Id$
// Copyright: (c) Julian Smart / Kevin Ollivier
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#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,
ID_OPEN = wxID_HIGHEST + 8,
ID_SAVE = wxID_HIGHEST + 9,
ID_SET_SOURCE = wxID_HIGHEST + 10
- };
+};
// ----------------------------------------------------------------------------
// private classes
// '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)
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();
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("<HTML><HEAD></HEAD><BODY><P>Hello world!</P></BODY></HTML>");
mySafari->SetPageSource(myText);
}