summaryrefslogtreecommitdiffstats
path: root/WebKit/wx/WebBrowserShell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/wx/WebBrowserShell.cpp')
-rw-r--r--WebKit/wx/WebBrowserShell.cpp54
1 files changed, 51 insertions, 3 deletions
diff --git a/WebKit/wx/WebBrowserShell.cpp b/WebKit/wx/WebBrowserShell.cpp
index 8853051..b1ff578 100644
--- a/WebKit/wx/WebBrowserShell.cpp
+++ b/WebKit/wx/WebBrowserShell.cpp
@@ -35,8 +35,9 @@
#include "wx/artprov.h"
-#include "WebView.h"
#include "WebBrowserShell.h"
+#include "WebFrame.h"
+#include "WebView.h"
#include "WebViewPrivate.h"
wxPageSourceViewFrame::wxPageSourceViewFrame(const wxString& source)
@@ -63,7 +64,9 @@ enum {
ID_BROWSE = wxID_HIGHEST + 15,
ID_EDIT = wxID_HIGHEST + 16,
ID_RUN_SCRIPT = wxID_HIGHEST + 17,
- ID_WEBVIEW = wxID_HIGHEST + 18
+ ID_WEBVIEW = wxID_HIGHEST + 18,
+ ID_EDIT_COMMAND = wxID_HIGHEST + 19,
+ ID_GET_EDIT_COMMAND_STATE = wxID_HIGHEST + 20
};
BEGIN_EVENT_TABLE(wxWebBrowserShell, wxFrame)
@@ -88,6 +91,8 @@ BEGIN_EVENT_TABLE(wxWebBrowserShell, wxFrame)
EVT_MENU(ID_BROWSE, wxWebBrowserShell::OnBrowse)
EVT_MENU(ID_EDIT, wxWebBrowserShell::OnEdit)
EVT_MENU(ID_RUN_SCRIPT, wxWebBrowserShell::OnRunScript)
+ EVT_MENU(ID_EDIT_COMMAND, wxWebBrowserShell::OnEditCommand)
+ EVT_MENU(ID_GET_EDIT_COMMAND_STATE, wxWebBrowserShell::OnGetEditCommandState)
END_EVENT_TABLE()
@@ -123,6 +128,8 @@ wxWebBrowserShell::wxWebBrowserShell(const wxString& title) :
m_debugMenu = new wxMenu;
m_debugMenu->Append(ID_SET_SOURCE, _("Test SetPageSource"));
m_debugMenu->Append(ID_RUN_SCRIPT, _("Test RunScript"));
+ m_debugMenu->Append(ID_EDIT_COMMAND, _("Test EditCommand::Execute"));
+ m_debugMenu->Append(ID_GET_EDIT_COMMAND_STATE, _("Test EditCommand::GetState"));
// the "About" item should be in the help menu
wxMenu *helpMenu = new wxMenu;
@@ -339,7 +346,8 @@ void wxWebBrowserShell::OnEdit(wxCommandEvent& event)
webview->MakeEditable(event.IsChecked());
}
-void wxWebBrowserShell::OnRunScript(wxCommandEvent& myEvent){
+void wxWebBrowserShell::OnRunScript(wxCommandEvent& myEvent)
+{
if (webview) {
wxTextEntryDialog* dialog = new wxTextEntryDialog(this, _("Type in a JavaScript to exectute."));
if (dialog->ShowModal() == wxID_OK)
@@ -348,3 +356,43 @@ void wxWebBrowserShell::OnRunScript(wxCommandEvent& myEvent){
dialog->Destroy();
}
}
+
+void wxWebBrowserShell::OnEditCommand(wxCommandEvent& myEvent)
+{
+ if (webview) {
+ if (!webview->IsEditable()) {
+ wxMessageBox(wxT("Please enable editing before running editing commands."));
+ return;
+ }
+
+ wxTextEntryDialog* dialog = new wxTextEntryDialog(this, _("Type in a editing command to exectute."));
+ if (dialog->ShowModal() == wxID_OK) {
+ bool result = webview->ExecuteEditCommand(dialog->GetValue());
+ if (!result)
+ wxMessageBox(wxT("Editing command failed."));
+ }
+ dialog->Destroy();
+ }
+}
+
+void wxWebBrowserShell::OnGetEditCommandState(wxCommandEvent& myEvent)
+{
+ if (webview) {
+ if (!webview->IsEditable()) {
+ wxMessageBox(wxT("Please enable editing before running editing commands."));
+ return;
+ }
+
+ wxTextEntryDialog* dialog = new wxTextEntryDialog(this, _("Type in a editing command whose state you want to get."));
+ if (dialog->ShowModal() == wxID_OK) {
+ EditState result = webview->GetEditCommandState(dialog->GetValue());
+ if (result == EditStateTrue)
+ wxMessageBox(wxT("State is true."));
+ else if (result == EditStateFalse)
+ wxMessageBox(wxT("State is false."));
+ else if (result == EditStateMixed)
+ wxMessageBox(wxT("State is mixed."));
+ }
+ dialog->Destroy();
+ }
+}