Program: bbtk
Module: $RCSfile: bbtkWxGUIHtmlBrowser.cxx,v $
Language: C++
- Date: $Date: 2008/03/20 09:51:29 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2008/10/08 13:39:33 $
+ Version: $Revision: 1.8 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
*/
+//EED2 BEGIN_EVENT_TABLE(WxHtmlWindow, wxPanel)
+//EED2 EVT_SIZE(WxHtmlWindow::OnSize)
+//EED2 END_EVENT_TABLE()
+
+//EED2 void WxHtmlWindow::OnSize( wxSizeEvent& )
+//EED2 {
+//EED2 printf("EED WxHtmlWindow::OnSize \n" );
+//EED2 Scroll(10,500);
+//EED2 }
+
+
//========================================================================
BEGIN_EVENT_TABLE(WxGUIHtmlBrowser, wxPanel)
// EVT_BUTTON(include_id, WxGUIHtmlBrowser::OnIncludeFileButton )
EVT_TEXT_ENTER(url_id, WxGUIHtmlBrowser::OnURLEnter )
EVT_HTML_LINK_CLICKED(html_id, WxGUIHtmlBrowser::OnLinkClicked)
+ EVT_SIZE(WxGUIHtmlBrowser::OnSize)
+
END_EVENT_TABLE()
//========================================================================
//========================================================================
- WxGUIHtmlBrowser::WxGUIHtmlBrowser ( wxWindow *parent, wxSize size )
+ WxGUIHtmlBrowser::WxGUIHtmlBrowser ( wxWindow *parent, wxSize size,
+ WxGUIHtmlBrowserUser* user)
:
- wxPanel ( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
- // , mWxGUIConsole(0)
+ wxPanel ( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL),
+ mUser(user)
{
wxPanel* panel = this;
mwxBackButton = new wxButton( panel, bwd_id,_T("<"),wxDefaultPosition,
wxDefaultSize,wxBU_EXACTFIT);
- bsizer->Add ( mwxBackButton , 0, wxALIGN_CENTRE | wxLEFT | wxTOP | wxBOTTOM , 10 );
+ bsizer->Add ( mwxBackButton , 0, wxALIGN_CENTRE );
mwxForwardButton = new wxButton( panel, fwd_id,_T(">"),wxDefaultPosition,
wxDefaultSize,wxBU_EXACTFIT);
- bsizer->Add ( mwxForwardButton , 0, wxALIGN_CENTRE | wxTOP | wxBOTTOM , 10);
+ bsizer->Add ( mwxForwardButton , 0, wxALIGN_CENTRE );
mwxHomeButton = new wxButton( panel, home_id,_T("Home"),wxDefaultPosition,
wxDefaultSize,wxBU_EXACTFIT);
- bsizer->Add ( mwxHomeButton , 0, wxALIGN_CENTRE | wxLEFT | wxTOP | wxBOTTOM , 10 );
+ bsizer->Add ( mwxHomeButton , 0, wxALIGN_CENTRE );
mwxReloadButton = new wxButton( panel, reload_id,_T("Reload"),wxDefaultPosition,
wxDefaultSize,wxBU_EXACTFIT);
- bsizer->Add ( mwxReloadButton , 0, wxALIGN_CENTRE | wxTOP | wxBOTTOM , 10 );
+ bsizer->Add ( mwxReloadButton , 0, wxALIGN_CENTRE );
/*
mwxIncludeFileButton = new wxButton( panel, include_id,
wxDefaultSize,
wxTE_PROCESS_ENTER);
mwxURL->SetLabel(_T("URL"));
- bsizer->Add(mwxURL, 1, wxEXPAND | wxALL, 10);
+ bsizer->Add(mwxURL, 1, wxEXPAND);
// mwxHtmlWindow = new WxHtmlWindow(parent,html_id,this,size);
//========================================================================
bool WxGUIHtmlBrowser::GoTo(std::string& file)
{
- // std::cout << "goto"<<std::endl;
-
bool r = mwxHtmlWindow->LoadPage(std2wx(file));
UpdateURL();
return r;
//========================================================================
void WxGUIHtmlBrowser::OnBackButton(wxCommandEvent& )
{
- // std::cout << "back"<<std::endl;
mwxHtmlWindow->HistoryBack();
UpdateURL();
}
//========================================================================
void WxGUIHtmlBrowser::OnForwardButton(wxCommandEvent& )
{
- // std::cout << "forward"<<std::endl;
mwxHtmlWindow->HistoryForward();
UpdateURL();
}
void WxGUIHtmlBrowser::GoHome()
{
std::string url = ConfigurationFile::GetInstance().Get_doc_path();
- url += "/bbtkWebSite/menu.html";
+ url += "/bbtkWebSite/help_contents.html";
GoTo(url);
mwxURL->Clear();
//========================================================================
void WxGUIHtmlBrowser::OnLinkClicked(wxHtmlLinkEvent& e)
- {
- mwxHtmlWindow->LoadPage( e.GetLinkInfo().GetHref() );
+ {
+
+ bool go = true;
+ if (mUser)
+ {
+ /*
+ wxString file = wxPathOnly(mwxURL->GetValue());
+ file += std2wx(ConfigurationFile::GetInstance().Get_file_separator());
+ file += e.GetLinkInfo().GetHref();
+ */
+ wxString file = e.GetLinkInfo().GetHref();
+ go = mUser->WxGUIHtmlBrowserUserOnLinkClicked( wx2std( file ) );
+ }
+ if (go)
+ {
+ mwxHtmlWindow->LoadPage( e.GetLinkInfo().GetHref() );
UpdateURL();
- mwxHtmlWindow->LoadPage( mwxURL->GetValue() );
- }
+ }
+ // mwxHtmlWindow->LoadPage( mwxURL->GetValue() );
+ }
//========================================================================
+ //========================================================================
+ void WxGUIHtmlBrowser::OnSize(wxSizeEvent& e)
+ {
+ mwxHtmlWindow->EnableScrolling(true,true);
+ if ( mwxURL->GetValue()!=wxString(_T("")) )
+ {
+// ?????????? No funciona ....?????
+//EED2 mwxHtmlWindow->LoadPage(mwxURL->GetValue());
+// printf("EED WxGUIHtmlBrowser::OnSize %s \n", mwxURL->GetValue().c_str() );
+//EED2 mwxHtmlWindow->Scroll( 10, 500);
+ } else {
+// GoHome();
+ }
+ e.Skip(true);
+ }
+
/*
void WxGUIHtmlBrowser::OnCell(wxHtmlCellEvent& )
{