1 /*! 2 @file 3 @author George Evmenov 4 @date 02/2011 5 */ 6 #include "Precompiled.h" 7 #include "BerkeliumBrowser.h" 8 9 namespace demo 10 { 11 BerkeliumBrowser(MyGUI::Widget * _parent)12 BerkeliumBrowser::BerkeliumBrowser(MyGUI::Widget* _parent) : 13 mWebPageBerkeliumWidget(nullptr), 14 mUrlEditBox(nullptr), 15 mBackButton(nullptr), 16 mForwardButton(nullptr), 17 mLoadingProgressBar(nullptr) 18 { 19 initialiseByAttributes(this, _parent); 20 21 mWebPageBerkeliumWidget->getBerkeliumWindow()->setTransparent(true); 22 mUrlEditBox->eventEditSelectAccept += MyGUI::newDelegate(this, &BerkeliumBrowser::notifyEditSelectAccept); 23 mBackButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BerkeliumBrowser::notifyBackButtonClick); 24 mForwardButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BerkeliumBrowser::notifyForwardButtonClick); 25 26 mWebPageBerkeliumWidget->setWindowDelegate(this); 27 } 28 notifyEditSelectAccept(MyGUI::EditBox * _sender)29 void BerkeliumBrowser::notifyEditSelectAccept(MyGUI::EditBox* _sender) 30 { 31 mWebPageBerkeliumWidget->loadURL(_sender->getOnlyText()); 32 } 33 notifyBackButtonClick(MyGUI::Widget * _sender)34 void BerkeliumBrowser::notifyBackButtonClick(MyGUI::Widget* _sender) 35 { 36 mWebPageBerkeliumWidget->getBerkeliumWindow()->goBack(); 37 } 38 notifyForwardButtonClick(MyGUI::Widget * _sender)39 void BerkeliumBrowser::notifyForwardButtonClick(MyGUI::Widget* _sender) 40 { 41 mWebPageBerkeliumWidget->getBerkeliumWindow()->goForward(); 42 } 43 onAddressBarChanged(Berkelium::Window * win,Berkelium::URLString newURL)44 void BerkeliumBrowser::onAddressBarChanged(Berkelium::Window *win, Berkelium::URLString newURL) 45 { 46 mUrlEditBox->setCaption(newURL.data()); 47 mBackButton->setEnabled(mWebPageBerkeliumWidget->getBerkeliumWindow()->canGoBack()); 48 mForwardButton->setEnabled(mWebPageBerkeliumWidget->getBerkeliumWindow()->canGoForward()); 49 } 50 onLoadingStateChanged(Berkelium::Window * win,bool isLoading)51 void BerkeliumBrowser::onLoadingStateChanged(Berkelium::Window *win, bool isLoading) 52 { 53 mLoadingProgressBar->setVisible(isLoading); 54 } 55 56 } // demo 57