void HtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString linkhref = link.GetHref(); if(!wxLaunchDefaultBrowser(linkhref)) // failed to launch externally, so open internally wxHtmlWindow::OnLinkClicked(link); }
/** * 左クリック時に起こるイベント */ void ThreadContentWindow::OnLeftClickHtmlWindow(wxHtmlLinkEvent& event) { const wxHtmlLinkInfo linkInfo = event.GetLinkInfo(); const wxString href = linkInfo.GetHref(); const wxString target = linkInfo.GetTarget(); wxString rest = wxEmptyString; long res = 0; // bmp,jpg,jpeg,png,gifなどの拡張子が末尾に付いている場合ダウンロードを行う if (regexImage.IsValid()) { // 正規表現のコンパイルにエラーがなければマッチさせる if (regexImage.Matches(href)) { // 画像ファイルをクリックしたのでダウンロードする const wxString ext = regexImage.GetMatch(href, 3); this->SetJaneCloneImageViewer(href, ext); } else if (href.StartsWith(wxT("#"), &rest) && rest.ToLong(&res, 10)) { if ( 0 < res && res <= 1000) { OnLeftClickResponseNumber(event, href, res); } } else { // 通常のリンクかどうか判定して処理 OnClickOrdinaryLink(href); } } }
//! Link is in format: "protocol://action?name=value&name=value...etc. void PrintableHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString addr = link.GetHref(); URI uri(addr); if (uri.protocol == "info") // not really a link return; if (uri.protocol != "fr") // call default handler for other protocols { wxHtmlWindow::OnLinkClicked(link); return; } // open in new tab if control/command key is down // open in new window if shift key is down bool openInTab; if (wxPlatformInfo::Get().GetOperatingSystemId() & wxOS_MAC) openInTab = ::wxGetKeyState(WXK_COMMAND); else openInTab = ::wxGetKeyState(WXK_CONTROL); if (openInTab) uri.addParam("target=new_tab"); else if (::wxGetKeyState(WXK_SHIFT)) uri.addParam("target=new"); if (!getURIProcessor().handleURI(uri)) notImplementedMessage(this); }
INLINE void wxeReturn::add(const wxHtmlLinkInfo &val) { addAtom("wxHtmlLinkInfo"); add(val.GetHref()); add(val.GetTarget()); addTupleCount(3); }
void wxHtmlCell::SetLink(const wxHtmlLinkInfo& link) { if (m_Link) delete m_Link; m_Link = NULL; if (link.GetHref() != wxEmptyString) m_Link = new wxHtmlLinkInfo(link); }
void LinkingHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString href = link.GetHref(); if( href.StartsWith(wxT("innerlink:")) ) { this->SetPage( HelpText( href.Mid( 10 ))); this->GetParent()->SetLabel( TitleText( href.Mid( 10 ))); return; } OpenInDefaultBrowser(link); }
void OpenInDefaultBrowser(const wxHtmlLinkInfo& link) { #ifdef __WXMAC__ wxString openCmd = wxT("open ") + link.GetHref(); ::wxExecute(openCmd); #else #ifdef __WXMSW__ wxFileType* pFileType = wxTheMimeTypesManager->GetFileTypeFromExtension(wxT(".htm")); if (pFileType == NULL) return; wxString openCmd = pFileType->GetOpenCommand(link.GetHref()); if (openCmd.Contains(wxT("iexplore.exe"))) // GetOpenCommand is not quite right for Internet Explorer. openCmd.Replace(wxT("WWW_OpenURL#\"file://"), wxT("WWW_OpenURL#\"")); ::wxExecute(openCmd); delete pFileType; #else wxLaunchDefaultBrowser(link.GetHref()); #endif #endif };
void SjHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString href = link.GetHref(); wxString rest; if( href.StartsWith(wxT("ext://"), &rest) ) { g_tools->ExploreUrl(rest); return; } else if( href.StartsWith(wxT("http://")) ) { g_tools->ExploreUrl(href); return; } else if( href.StartsWith(wxT("web:"), &rest) ) { // explore the silverjuke homepage long homepageId; rest.AfterLast(',').ToLong(&homepageId); if( homepageId >= 0 && homepageId < SJ_HOMEPAGE_MAX_PAGE_INDEX ) { g_tools->ExploreHomepage((SjHomepageId)homepageId); return; } } else if( href.StartsWith(wxT("id:"), &rest) ) { // just send the id as an command event to the top level window where // this html windows is placed in long id; rest.ToLong(&id); wxCommandEvent fwd(wxEVT_COMMAND_MENU_SELECTED, id); SjDialog::FindTopLevel(this)->AddPendingEvent(fwd); return; } else if( href.StartsWith(wxT("page:"), &m_clickedLink) ) { // go to another page, used by the help window; // needed at least for "more..." in the page after buying silverjuke wxCommandEvent fwd(wxEVT_COMMAND_MENU_SELECTED, IDO_LINKCLICKED); SjDialog::FindTopLevel(this)->AddPendingEvent(fwd); return; } wxLogError(wxT("Unknown link \"%s\"."), href.c_str()); }
void extHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString href = link.GetHref(); wxString target = link.GetTarget(); if (target.StartsWith(wxT("TV:"))) { TextViewer *tw = new TextViewer(this); tw->LoadFile(href); target = target.AfterFirst(wxT(':')); if (!target.IsEmpty()) tw->SetTitle(target); tw->ShowModal(); return; } #ifdef __WXMSW__ ShellExecute((HWND)GetHandle(), wxT("open"), href.c_str(), NULL, NULL, SW_SHOWNORMAL); #else ::wxLaunchDefaultBrowser(href, wxBROWSER_NEW_WINDOW); #endif }
void MyHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString url = link.GetHref(); if ( url.StartsWith(wxT("http:")) || url.StartsWith(wxT("mailto:")) ) { // pass http/mailto URL to user's preferred browser/emailer #ifdef __WXMAC__ // wxLaunchDefaultBrowser doesn't work on Mac with IE // but it's easier just to use the Mac OS X open command if ( wxExecute(wxT("open ") + url, wxEXEC_ASYNC) == -1 ) wxLogWarning(wxT("Could not open URL!")); #else if ( !wxLaunchDefaultBrowser(url) ) wxLogWarning(wxT("Could not launch browser!")); #endif } else { LoadPage(url); } }
void LinkingHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString href = link.GetHref(); if( href.StartsWith(wxT("innerlink:")) ) { wxString FileName = wxFileName( FileNames::HtmlHelpDir(), href.Mid( 10 ) + wxT(".htm") ).GetFullPath(); if( wxFileExists( FileName ) ) { HelpSystem::ShowHelpDialog(NULL, FileName, wxT("")); return; } else { SetPage( HelpText( href.Mid( 10 ))); wxGetTopLevelParent(this)->SetLabel( TitleText( href.Mid( 10 ))); } } else if( href.StartsWith(wxT("mailto:")) || href.StartsWith(wxT("file:")) ) { OpenInDefaultBrowser( link ); return; } else if( !href.StartsWith( wxT("http:")) && !href.StartsWith( wxT("https:")) ) { HtmlWindow::OnLinkClicked( link ); } else { OpenInDefaultBrowser(link); return; } BrowserFrame * pDlg = wxDynamicCast( GetRelatedFrame(), BrowserFrame ); if( pDlg ) { pDlg->UpdateButtons(); }; }
void HtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { if(wxLaunchDefaultBrowser(link.GetHref()) == FALSE) wxLogStatus(_T("Failed to launch default browser: "+link.GetHref())); }
/**************************************************************************** PARAMETERS: URL - String URL that we are navigating to REMARKS: Called when the user navigates to a new URL from the current page. We simply call the LoadPage function above to load the new page and display it. ****************************************************************************/ void wxHtmlAppletWindow::OnLinkClicked( const wxHtmlLinkInfo& link) { LoadPage(link.GetHref()); }
void OpenInDefaultBrowser(const wxHtmlLinkInfo& link) { wxLaunchDefaultBrowser(link.GetHref()); }
void OnLinkClicked(const wxHtmlLinkInfo& link) { LaunchBrowser(link.GetHref()); }
void TAboutHtml::OnLinkClicked(const wxHtmlLinkInfo& link) { SpawnBrowser(link.GetHref()); }
void OpenInDefaultBrowser(const wxHtmlLinkInfo& link) { wxURI uri(link.GetHref()); wxLaunchDefaultBrowser(uri.BuildURI()); }
//--------------------------------------------------------- void CACTIVE_HTMLExtraInfo::OnLinkClicked(const wxHtmlLinkInfo &Link) { Open_WebBrowser(Link.GetHref()); }
void wxHtmlCell::SetLink(const wxHtmlLinkInfo& link) { wxDELETE(m_Link); if (link.GetHref() != wxEmptyString) m_Link = new wxHtmlLinkInfo(link); }