-/*=========================================================================
+/*
+ # ---------------------------------------------------------------------
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la SantÈ)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
+
+/*=========================================================================
Program: bbtk
Module: $RCSfile: bbtkWxGUIHtmlBrowser.cxx,v $
Language: C++
- Date: $Date: 2008/10/17 08:18:15 $
- Version: $Revision: 1.10 $
+ Date: $Date: 2012/11/16 08:49:01 $
+ Version: $Revision: 1.15 $
=========================================================================*/
-/* ---------------------------------------------------------------------
-
-* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
-* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
-*
-* This software is governed by the CeCILL-B license under French law and
-* abiding by the rules of distribution of free software. You can use,
-* modify and/ or redistribute the software under the terms of the CeCILL-B
-* license as circulated by CEA, CNRS and INRIA at the following URL
-* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-* or in the file LICENSE.txt.
-*
-* As a counterpart to the access to the source code and rights to copy,
-* modify and redistribute granted by the license, users are provided only
-* with a limited warranty and the software's author, the holder of the
-* economic rights, and the successive licensors have only limited
-* liability.
-*
-* The fact that you are presently reading this means that you have had
-* knowledge of the CeCILL-B license and that you accept its terms.
-* ------------------------------------------------------------------------ */
+
/**
reload_id,
include_id,
url_id ,
- html_id
+ html_id = 10100
};
-/*EED
+/*
//========================================================================
void WxHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& e)
{
std::cout << "WxHtmlWindow::OnLink"<<std::endl;
// std::cout << e.GetHref()<<std::endl;
- LoadPage(e.GetHref());
- if ( ! GetOpenedAnchor().IsEmpty() )
- {
- // std::cout << "#" << GetOpenedAnchor() << std::endl;
- LoadPage(_T("#"+GetOpenedAnchor()));
- }
- mBrowser->UpdateURL();
+ mBrowser->OnLinkClicked2(e);
}
- //========================================================================
*/
-
//EED2 BEGIN_EVENT_TABLE(WxHtmlWindow, wxPanel)
//EED2 EVT_SIZE(WxHtmlWindow::OnSize)
//EED2 END_EVENT_TABLE()
EVT_BUTTON(reload_id, WxGUIHtmlBrowser::OnReloadButton )
// EVT_BUTTON(include_id, WxGUIHtmlBrowser::OnIncludeFileButton )
EVT_TEXT_ENTER(url_id, WxGUIHtmlBrowser::OnURLEnter )
- EVT_HTML_LINK_CLICKED(html_id, WxGUIHtmlBrowser::OnLinkClicked)
+ EVT_HTML_LINK_CLICKED(html_id, WxGUIHtmlBrowser::OnLinkClicked)
EVT_SIZE(WxGUIHtmlBrowser::OnSize)
END_EVENT_TABLE()
{
wxPanel* panel = this;
-
+
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
bsizer->Add(mwxURL, 1, wxEXPAND);
-// mwxHtmlWindow = new WxHtmlWindow(parent,html_id,this,size);
- mwxHtmlWindow = new WxHtmlWindow(this,html_id,this,size);
+// mwxHtmlWindow = new WxHtmlWindow(this,html_id,this,size);
+
+ mwxHtmlWindow = new wxHtmlWindow(this,html_id,
+ wxDefaultPosition,
+ size,
+ wxHW_SCROLLBAR_AUTO,
+ _T("bbtk::WxGUIHtmlBrowser"));
/*
mwxHtmlWindow->SetBorders(5);
// mwxHtmlWindow->FitInside();
- wxStaticBoxSizer* hw =
- new wxStaticBoxSizer( new wxStaticBox( this, -1, _T(""),
- wxDefaultPosition,
- size ),
- wxVERTICAL );
-//EED hw->Add ( mwxHtmlWindow, 1, wxGROW );
- hw->Add ( mwxHtmlWindow, 1, wxEXPAND );
-
-
-
-
-
- //sizer->Add ( mwxHtmlWindow, 1, wxGROW );
+ sizer->Add ( bsizer , 0, wxEXPAND );
+
+// EED: This have a problem in macOS
+// wxStaticBoxSizer* hw =
+// new wxStaticBoxSizer(
+// new wxStaticBox( this, -1, _T(""), wxDefaultPosition, size ),
+// wxVERTICAL
+// );
+// hw->Add ( mwxHtmlWindow, 1, wxEXPAND );
//EED sizer->Add ( hw, 1, wxGROW ); // | wxLEFT | wxRIGHT | wxBOTTOM, 10 );
-
- sizer->Add ( bsizer , 0, wxEXPAND );
- sizer->Add ( hw, 1, wxGROW ); // | wxLEFT | wxRIGHT | wxBOTTOM, 10 );
-
-
+
+ sizer->Add ( mwxHtmlWindow, 1, wxGROW ); // | wxLEFT | wxRIGHT | wxBOTTOM, 10 );
panel -> SetSizer(sizer);
+
panel -> SetAutoLayout(true);
panel -> Layout();
}
//========================================================================
-
+ //========================================================================
+ void WxGUIHtmlBrowser::OnLinkClicked2(const wxHtmlLinkInfo& info)
+ {
+ // std::cout << "OLK2"<<std::endl;
+ bool go = true;
+ if (mUser)
+ {
+ wxString file = info.GetHref();
+ go = mUser->WxGUIHtmlBrowserUserOnLinkClicked( wx2std( file ) );
+ }
+ if (go)
+ {
+ mwxHtmlWindow->LoadPage( info.GetHref() );
+ UpdateURL();
+ }
+
+
+ }
+
//========================================================================
void WxGUIHtmlBrowser::OnLinkClicked(wxHtmlLinkEvent& e)
{
-
+ // std::cout << "OLK"<<std::endl;
bool go = true;
if (mUser)
{
//========================================================================
void WxGUIHtmlBrowser::UpdateURL()
{
-
wxString s = mwxHtmlWindow->GetOpenedPage();
if (!mwxHtmlWindow->GetOpenedAnchor().IsEmpty())
{