Browse Source

added a couple of files I'd forgotten to check in last time..

tags/2021-05-28
jules 16 years ago
parent
commit
2571e96eab
3 changed files with 309 additions and 1 deletions
  1. +154
    -0
      extras/juce demo/src/binarydata/WebBrowserDemo.cpp
  2. +154
    -0
      extras/juce demo/src/demos/WebBrowserDemo.cpp
  3. +1
    -1
      src/juce_appframework/audio/devices/juce_AudioIODeviceType.h

+ 154
- 0
extras/juce demo/src/binarydata/WebBrowserDemo.cpp View File

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

+ 154
- 0
extras/juce demo/src/demos/WebBrowserDemo.cpp View File

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

+ 1
- 1
src/juce_appframework/audio/devices/juce_AudioIODeviceType.h View File

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


Loading…
Cancel
Save