#include "bbtkWxBrowser.h"
#include "bbtkWxBlackBox.h"
+#include "bbtkConfigurationFile.h"
namespace bbtk
{
-
+ //========================================================================
void WxHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& e)
{
// std::cout << "WxHtmlWindow::OnLink"<<std::endl;
}
+ //========================================================================
-
+ //========================================================================
enum
{
bwd_id,
fwd_id,
+ home_id,
+ index_id,
url_id,
html_id
};
-
+ //========================================================================
BEGIN_EVENT_TABLE(WxBrowser, wxPanel)
EVT_BUTTON(bwd_id, WxBrowser::OnBackButton )
EVT_BUTTON(fwd_id, WxBrowser::OnForwardButton )
+ EVT_BUTTON(home_id, WxBrowser::OnHomeButton )
+ EVT_BUTTON(index_id, WxBrowser::OnMakeIndexButton )
EVT_TEXT_ENTER(url_id, WxBrowser::OnURLEnter )
- EVT_HTML_LINK_CLICKED(html_id, WxBrowser::OnLinkClicked)
+ EVT_HTML_LINK_CLICKED(html_id, WxBrowser::OnLinkClicked)
END_EVENT_TABLE()
-
+ //========================================================================
+
+
+ //========================================================================
WxBrowser::WxBrowser ( wxWindow *parent, wxSize size )
:
wxPanel ( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
bsizer->Add ( mwxForwardButton, 0, wxALIGN_CENTRE |
wxTOP | wxBOTTOM , 10);
-
+ mwxHomeButton = new wxButton( panel, home_id,_T("~"),wxDefaultPosition,
+ wxDefaultSize,wxBU_EXACTFIT);
+ bsizer->Add ( mwxHomeButton, 0, wxALIGN_CENTRE |
+ wxLEFT | wxTOP | wxBOTTOM , 10 );
+
+ mwxMakeIndexButton = new wxButton( panel, index_id,
+ _T("*"),wxDefaultPosition,
+ wxDefaultSize,wxBU_EXACTFIT);
+ bsizer->Add ( mwxMakeIndexButton, 0, wxALIGN_CENTRE |
+ wxLEFT | wxTOP | wxBOTTOM , 10 );
+
mwxURL = new wxTextCtrl(panel,url_id,_T(""),
wxDefaultPosition,
wxDefaultSize,
WxBrowser::OnCell ) );
*/
}
-
+ //========================================================================
+
+ //========================================================================
bool WxBrowser::GoTo(std::string& file)
{
// std::cout << "goto"<<std::endl;
UpdateURL();
return r;
}
+ //========================================================================
+ //========================================================================
void WxBrowser::OnBackButton(wxCommandEvent& )
{
// std::cout << "back"<<std::endl;
mwxHtmlWindow->HistoryBack();
UpdateURL();
}
-
+ //========================================================================
+
+ //========================================================================
void WxBrowser::OnForwardButton(wxCommandEvent& )
{
// std::cout << "forward"<<std::endl;
mwxHtmlWindow->HistoryForward();
UpdateURL();
}
+ //========================================================================
+
+ //========================================================================
+ void WxBrowser::OnHomeButton(wxCommandEvent& )
+ {
+ std::string url = ConfigurationFile::GetInstance().Get_url();
+ url += "/bbtkWebSite/menu.html";
+ GoTo(url);
+ }
+ //========================================================================
+
+ //========================================================================
+ void WxBrowser::OnMakeIndexButton(wxCommandEvent& )
+ {
+ /*
+ std::string bbdoc = ConfigurationFile::GetInstance().Get_url();
+ bbdoc += "/bbdoc";
+ std::string command("cd ");
+ command += bbdoc;
+ command += " & bbi -q -n make-index.bbs";
+ system(command.c_str());
+ */
+ }
+ //========================================================================
+ //========================================================================
void WxBrowser::OnURLEnter( wxCommandEvent&)
{
//std::cout << "OnURL"<<std::endl;
mwxHtmlWindow->LoadPage(mwxURL->GetValue());
}
-
+ //========================================================================
+ //========================================================================
void WxBrowser::OnLinkClicked(wxHtmlLinkEvent& e)
{
std::cout << "WxBrowser::OnLinkClicked"<<std::endl;
mwxHtmlWindow->LoadPage(e.GetLinkInfo().GetHref());
UpdateURL();
}
+ //========================================================================
+
/*
void WxBrowser::OnCell(wxHtmlCellEvent& )
{
std::cout << "OnCell"<<std::endl;
}
*/
+
+ //========================================================================
void WxBrowser::UpdateURL()
{
mwxURL->Clear();
mwxURL->AppendText(s);
}
+ //========================================================================
+
+ //========================================================================
void WxBrowser::SetSize( wxSize s)
{
// wxPanel::SetSize(s);
mwxHtmlWindow->SetSize(s);
Fit();
}
-
+ //========================================================================
}
#endif