@@ -0,0 +1,154 @@ | |||||
/* | |||||
============================================================================== | |||||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||||
Copyright 2004-7 by Raw Material Software ltd. | |||||
------------------------------------------------------------------------------ | |||||
JUCE can be redistributed and/or modified under the terms of the | |||||
GNU General Public License, as published by the Free Software Foundation; | |||||
either version 2 of the License, or (at your option) any later version. | |||||
JUCE is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the | |||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, | |||||
Boston, MA 02111-1307 USA | |||||
------------------------------------------------------------------------------ | |||||
If you'd like to release a closed-source product which uses JUCE, commercial | |||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for | |||||
more information. | |||||
============================================================================== | |||||
*/ | |||||
#include "../jucedemo_headers.h" | |||||
#if JUCE_WEB_BROWSER | |||||
//============================================================================== | |||||
/** We'll use a subclass of WebBrowserComponent to demonstrate how to get callbacks | |||||
when the browser changes URL. You don't need to do this, you can just also | |||||
just use the WebBrowserComponent class directly. | |||||
*/ | |||||
class DemoBrowserComponent : public WebBrowserComponent | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
DemoBrowserComponent (TextEditor* addressTextBox_) | |||||
: addressTextBox (addressTextBox_) | |||||
{ | |||||
} | |||||
// This method gets called when the browser is about to go to a new URL.. | |||||
bool pageAboutToLoad (const String& newURL) | |||||
{ | |||||
// We'll just update our address box to reflect the new location.. | |||||
addressTextBox->setText (newURL, false); | |||||
// we could return false here to tell the browser not to go ahead with | |||||
// loading the page. | |||||
return true; | |||||
} | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
TextEditor* addressTextBox; | |||||
DemoBrowserComponent (DemoBrowserComponent&); | |||||
const DemoBrowserComponent& operator= (const DemoBrowserComponent&); | |||||
}; | |||||
//============================================================================== | |||||
class WebBrowserDemo : public Component, | |||||
public TextEditorListener, | |||||
public ButtonListener | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
WebBrowserDemo() | |||||
{ | |||||
setName ("Web Browser"); | |||||
// Create an address box.. | |||||
addAndMakeVisible (addressTextBox = new TextEditor()); | |||||
addressTextBox->setTextToShowWhenEmpty ("Enter a web address, e.g. http://www.rawmaterialsoftware.com", Colours::grey); | |||||
addressTextBox->addListener (this); | |||||
// create the actual browser component | |||||
addAndMakeVisible (webView = new DemoBrowserComponent (addressTextBox)); | |||||
// add some buttons.. | |||||
addAndMakeVisible (goButton = new TextButton ("Go", "Go to URL")); | |||||
goButton->addButtonListener (this); | |||||
addAndMakeVisible (backButton = new TextButton ("<<", "Back")); | |||||
backButton->addButtonListener (this); | |||||
addAndMakeVisible (forwardButton = new TextButton (">>", "Forward")); | |||||
forwardButton->addButtonListener (this); | |||||
// send the browser to a start page.. | |||||
webView->goToURL ("http://www.google.com"); | |||||
} | |||||
~WebBrowserDemo() | |||||
{ | |||||
deleteAllChildren(); | |||||
} | |||||
void resized() | |||||
{ | |||||
webView->setBounds (10, 45, getWidth() - 20, getHeight() - 55); | |||||
goButton->setBounds (getWidth() - 45, 10, 35, 25); | |||||
addressTextBox->setBounds (100, 10, getWidth() - 155, 25); | |||||
backButton->setBounds (10, 10, 35, 25); | |||||
forwardButton->setBounds (55, 10, 35, 25); | |||||
} | |||||
void textEditorTextChanged (TextEditor& editor) {} | |||||
void textEditorEscapeKeyPressed (TextEditor& editor) {} | |||||
void textEditorFocusLost (TextEditor& editor) {} | |||||
void textEditorReturnKeyPressed (TextEditor&) | |||||
{ | |||||
webView->goToURL (addressTextBox->getText()); | |||||
} | |||||
void buttonClicked (Button* b) | |||||
{ | |||||
if (b == backButton) | |||||
webView->goBack(); | |||||
else if (b == forwardButton) | |||||
webView->goForward(); | |||||
else if (b == goButton) | |||||
webView->goToURL (addressTextBox->getText()); | |||||
} | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
DemoBrowserComponent* webView; | |||||
TextEditor* addressTextBox; | |||||
TextButton* goButton; | |||||
TextButton* backButton; | |||||
TextButton* forwardButton; | |||||
}; | |||||
//============================================================================== | |||||
Component* createWebBrowserDemo() | |||||
{ | |||||
return new WebBrowserDemo(); | |||||
} | |||||
#endif |
@@ -0,0 +1,154 @@ | |||||
/* | |||||
============================================================================== | |||||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||||
Copyright 2004-7 by Raw Material Software ltd. | |||||
------------------------------------------------------------------------------ | |||||
JUCE can be redistributed and/or modified under the terms of the | |||||
GNU General Public License, as published by the Free Software Foundation; | |||||
either version 2 of the License, or (at your option) any later version. | |||||
JUCE is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the | |||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, | |||||
Boston, MA 02111-1307 USA | |||||
------------------------------------------------------------------------------ | |||||
If you'd like to release a closed-source product which uses JUCE, commercial | |||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for | |||||
more information. | |||||
============================================================================== | |||||
*/ | |||||
#include "../jucedemo_headers.h" | |||||
#if JUCE_WEB_BROWSER | |||||
//============================================================================== | |||||
/** We'll use a subclass of WebBrowserComponent to demonstrate how to get callbacks | |||||
when the browser changes URL. You don't need to do this, you can just also | |||||
just use the WebBrowserComponent class directly. | |||||
*/ | |||||
class DemoBrowserComponent : public WebBrowserComponent | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
DemoBrowserComponent (TextEditor* addressTextBox_) | |||||
: addressTextBox (addressTextBox_) | |||||
{ | |||||
} | |||||
// This method gets called when the browser is about to go to a new URL.. | |||||
bool pageAboutToLoad (const String& newURL) | |||||
{ | |||||
// We'll just update our address box to reflect the new location.. | |||||
addressTextBox->setText (newURL, false); | |||||
// we could return false here to tell the browser not to go ahead with | |||||
// loading the page. | |||||
return true; | |||||
} | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
TextEditor* addressTextBox; | |||||
DemoBrowserComponent (DemoBrowserComponent&); | |||||
const DemoBrowserComponent& operator= (const DemoBrowserComponent&); | |||||
}; | |||||
//============================================================================== | |||||
class WebBrowserDemo : public Component, | |||||
public TextEditorListener, | |||||
public ButtonListener | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
WebBrowserDemo() | |||||
{ | |||||
setName ("Web Browser"); | |||||
// Create an address box.. | |||||
addAndMakeVisible (addressTextBox = new TextEditor()); | |||||
addressTextBox->setTextToShowWhenEmpty ("Enter a web address, e.g. http://www.rawmaterialsoftware.com", Colours::grey); | |||||
addressTextBox->addListener (this); | |||||
// create the actual browser component | |||||
addAndMakeVisible (webView = new DemoBrowserComponent (addressTextBox)); | |||||
// add some buttons.. | |||||
addAndMakeVisible (goButton = new TextButton ("Go", "Go to URL")); | |||||
goButton->addButtonListener (this); | |||||
addAndMakeVisible (backButton = new TextButton ("<<", "Back")); | |||||
backButton->addButtonListener (this); | |||||
addAndMakeVisible (forwardButton = new TextButton (">>", "Forward")); | |||||
forwardButton->addButtonListener (this); | |||||
// send the browser to a start page.. | |||||
webView->goToURL ("http://www.google.com"); | |||||
} | |||||
~WebBrowserDemo() | |||||
{ | |||||
deleteAllChildren(); | |||||
} | |||||
void resized() | |||||
{ | |||||
webView->setBounds (10, 45, getWidth() - 20, getHeight() - 55); | |||||
goButton->setBounds (getWidth() - 45, 10, 35, 25); | |||||
addressTextBox->setBounds (100, 10, getWidth() - 155, 25); | |||||
backButton->setBounds (10, 10, 35, 25); | |||||
forwardButton->setBounds (55, 10, 35, 25); | |||||
} | |||||
void textEditorTextChanged (TextEditor& editor) {} | |||||
void textEditorEscapeKeyPressed (TextEditor& editor) {} | |||||
void textEditorFocusLost (TextEditor& editor) {} | |||||
void textEditorReturnKeyPressed (TextEditor&) | |||||
{ | |||||
webView->goToURL (addressTextBox->getText()); | |||||
} | |||||
void buttonClicked (Button* b) | |||||
{ | |||||
if (b == backButton) | |||||
webView->goBack(); | |||||
else if (b == forwardButton) | |||||
webView->goForward(); | |||||
else if (b == goButton) | |||||
webView->goToURL (addressTextBox->getText()); | |||||
} | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
DemoBrowserComponent* webView; | |||||
TextEditor* addressTextBox; | |||||
TextButton* goButton; | |||||
TextButton* backButton; | |||||
TextButton* forwardButton; | |||||
}; | |||||
//============================================================================== | |||||
Component* createWebBrowserDemo() | |||||
{ | |||||
return new WebBrowserDemo(); | |||||
} | |||||
#endif |
@@ -53,7 +53,7 @@ class Component; | |||||
types[i]->scanForDevices(); // This must be called before getting the list of devices | types[i]->scanForDevices(); // This must be called before getting the list of devices | ||||
String deviceNames (types[i]->getDeviceNames()); // This will now return a list of available devices of this type | |||||
StringArray deviceNames (types[i]->getDeviceNames()); // This will now return a list of available devices of this type | |||||
for (int j = 0; j < deviceNames.size(); ++j) | for (int j = 0; j < deviceNames.size(); ++j) | ||||
{ | { | ||||