コード例 #1
0
/**
 * 左クリック時に起こるイベント
 */
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);
	  }
     }
}
コード例 #2
0
ファイル: wxe_return.cpp プロジェクト: AlainODea/otp
INLINE
void wxeReturn::add(const wxHtmlLinkInfo &val) {
  addAtom("wxHtmlLinkInfo");
  add(val.GetHref());
  add(val.GetTarget());
  addTupleCount(3);
}
コード例 #3
0
ファイル: htmlcell.cpp プロジェクト: gitrider/wxsj2
void wxHtmlCell::SetLink(const wxHtmlLinkInfo& link)
{
    if (m_Link) delete m_Link;
    m_Link = NULL;
    if (link.GetHref() != wxEmptyString)
        m_Link = new wxHtmlLinkInfo(link);
}
コード例 #4
0
ファイル: wizard.cpp プロジェクト: DirtGamer301/rigs-of-rods
void HtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
{
	wxString linkhref = link.GetHref();
    if(!wxLaunchDefaultBrowser(linkhref))
          // failed to launch externally, so open internally
          wxHtmlWindow::OnLinkClicked(link);
}
コード例 #5
0
//! Link is in format: "protocol://action?name=value&amp;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);
}
コード例 #6
0
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
}
コード例 #7
0
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);
}
コード例 #8
0
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
};
コード例 #9
0
ファイル: htmlwindow.cpp プロジェクト: thorstenb/silverjuke
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());
}
コード例 #10
0
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);
    }
}
コード例 #11
0
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();
   };
}
コード例 #12
0
ファイル: espeakedit.cpp プロジェクト: ashengmz/espeak
void HtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
{
	if(wxLaunchDefaultBrowser(link.GetHref()) == FALSE)
		wxLogStatus(_T("Failed to launch default browser: "+link.GetHref()));
}
コード例 #13
0
ファイル: appletwindow.cpp プロジェクト: nealey/vera
/****************************************************************************
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());
}
コード例 #14
0
void OpenInDefaultBrowser(const wxHtmlLinkInfo& link)
{
   wxLaunchDefaultBrowser(link.GetHref());
}
コード例 #15
0
ファイル: about.cpp プロジェクト: idrassi/wxFormBuilder
 void OnLinkClicked(const wxHtmlLinkInfo& link)
 {
   LaunchBrowser(link.GetHref());
 }
コード例 #16
0
void ContentBoxCtrol::OnHTMLLinkClicked(const wxHtmlLinkInfo& link)
{
    OnLinkClicked(GetItemForCell(link.GetHtmlCell()), link);
}
コード例 #17
0
ファイル: Help.cpp プロジェクト: astojilj/astoj_oolongengine
void TAboutHtml::OnLinkClicked(const wxHtmlLinkInfo& link)
{
    SpawnBrowser(link.GetHref());
}
コード例 #18
0
ファイル: htmllbox.cpp プロジェクト: beanhome/dev
void wxHtmlListBox::OnHTMLLinkClicked(const wxHtmlLinkInfo& link)
{
    OnLinkClicked(GetItemForCell(link.GetHtmlCell()), link);
}
コード例 #19
0
void OpenInDefaultBrowser(const wxHtmlLinkInfo& link)
{
   wxURI uri(link.GetHref());
   wxLaunchDefaultBrowser(uri.BuildURI());
}
コード例 #20
0
//---------------------------------------------------------
void CACTIVE_HTMLExtraInfo::OnLinkClicked(const wxHtmlLinkInfo &Link)
{
	Open_WebBrowser(Link.GetHref());
}
コード例 #21
0
void wxHtmlCell::SetLink(const wxHtmlLinkInfo& link)
{
    wxDELETE(m_Link);
    if (link.GetHref() != wxEmptyString)
        m_Link = new wxHtmlLinkInfo(link);
}