@@ -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 | |||
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) | |||
{ | |||