The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
3.1KB

  1. /*
  2. ==============================================================================
  3. This file is part of the JUCE library - "Jules' Utility Class Extensions"
  4. Copyright 2004-11 by Raw Material Software Ltd.
  5. ------------------------------------------------------------------------------
  6. JUCE can be redistributed and/or modified under the terms of the GNU General
  7. Public License (Version 2), as published by the Free Software Foundation.
  8. A copy of the license is included in the JUCE distribution, or can be found
  9. online at www.gnu.org/licenses.
  10. JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
  11. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  12. A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  13. ------------------------------------------------------------------------------
  14. To release a closed-source product which uses JUCE, commercial licenses are
  15. available: visit www.rawmaterialsoftware.com/juce for more information.
  16. ==============================================================================
  17. */
  18. /*
  19. Sorry.. This class isn't implemented on Linux!
  20. */
  21. //==============================================================================
  22. WebBrowserComponent::WebBrowserComponent (const bool unloadPageWhenBrowserIsHidden_)
  23. : browser (0),
  24. blankPageShown (false),
  25. unloadPageWhenBrowserIsHidden (unloadPageWhenBrowserIsHidden_)
  26. {
  27. setOpaque (true);
  28. }
  29. WebBrowserComponent::~WebBrowserComponent()
  30. {
  31. }
  32. //==============================================================================
  33. void WebBrowserComponent::goToURL (const String& url,
  34. const StringArray* headers,
  35. const MemoryBlock* postData)
  36. {
  37. lastURL = url;
  38. lastHeaders.clear();
  39. if (headers != nullptr)
  40. lastHeaders = *headers;
  41. lastPostData.setSize (0);
  42. if (postData != nullptr)
  43. lastPostData = *postData;
  44. blankPageShown = false;
  45. }
  46. void WebBrowserComponent::stop()
  47. {
  48. }
  49. void WebBrowserComponent::goBack()
  50. {
  51. lastURL = String::empty;
  52. blankPageShown = false;
  53. }
  54. void WebBrowserComponent::goForward()
  55. {
  56. lastURL = String::empty;
  57. }
  58. void WebBrowserComponent::refresh()
  59. {
  60. }
  61. //==============================================================================
  62. void WebBrowserComponent::paint (Graphics& g)
  63. {
  64. g.fillAll (Colours::white);
  65. }
  66. void WebBrowserComponent::checkWindowAssociation()
  67. {
  68. }
  69. void WebBrowserComponent::reloadLastURL()
  70. {
  71. if (lastURL.isNotEmpty())
  72. {
  73. goToURL (lastURL, &lastHeaders, &lastPostData);
  74. lastURL = String::empty;
  75. }
  76. }
  77. void WebBrowserComponent::parentHierarchyChanged()
  78. {
  79. checkWindowAssociation();
  80. }
  81. void WebBrowserComponent::resized()
  82. {
  83. }
  84. void WebBrowserComponent::visibilityChanged()
  85. {
  86. checkWindowAssociation();
  87. }
  88. bool WebBrowserComponent::pageAboutToLoad (const String&) { return true; }
  89. void WebBrowserComponent::pageFinishedLoading (const String&) {}