Hot Door CORE 0.8.2
Adobe® Illustrator® Plug-in Library
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
hdi::core::WebView Class Reference

WebView widget, for loading a website within a UI window. More...

#include <hdicoreWebView.h>

Inheritance diagram for hdi::core::WebView:
Inheritance graph
[legend]
Collaboration diagram for hdi::core::WebView:
Collaboration graph
[legend]

Public Types

typedef std::vector< std::string > StringVector
 
- Public Types inherited from hdi::core::Widget
enum  Type {
  UnknownType = 0 , BoxType = 10 , ButtonType = 20 , CheckboxType = 30 ,
  ColumnViewType = 40 , ComboBoxType = 50 , ColorWellType = 60 , CustomType = 70 ,
  DividerType = 80 , HierarchicalColumnViewType = 85 , HierarchicalViewType = 90 , LabelType = 100 ,
  ListViewType = 110 , PopupMenuType = 120 , RadioButtonType = 130 , SliderType = 140 ,
  StepperType = 150 , TextFieldType = 160 , TextViewType = 170 , WebViewType = 180
}
 Supported widget types.
 

Public Member Functions

 WebView ()
 Constructs an empty WebView object.
 
 WebView (const WebView &wv_)
 Constructs a new WebView object from an existing WebView object (copy constructor)
 
 WebView (const Rect &frame_)
 Constructs a web view with a given frame.
 
virtual ~WebView ()
 WebView destructor.
 
virtual WebViewoperator= (const WebView &rhs_)
 Allows one WebView object to be assigned from another.
 
virtual WebViewclone () const
 Convenience method to clone a WebView object on the heap.
 
virtual WebViewduplicate () const
 Convenience method to duplicate a WebView object, creating a new and identical UI element to the target (but not belonging to the same containing window)
 
virtual std::string text () const
 Does nothing (web views do not have a text value)
 
virtual void setText (const std::string &text_)
 Does nothing (web views do not have a text value)
 
virtual std::string tooltip () const
 Does nothing (web views do not have a tooltip)
 
virtual void setTooltip (const std::string &tip_)
 Does nothing (web views do not have a tooltip)
 
virtual std::string currentURL () const
 Gets the currently loaded URL.
 
virtual void loadURL (const std::string &url_)
 Loads the given HTTP(S) URL.
 
virtual void stopLoading ()
 Stops any page loading that might be occurring.
 
virtual void reload ()
 Reloads the currently loaded page, if any.
 
virtual bool goBack ()
 Goes back one step in the browsing history.
 
virtual bool goForward ()
 Goes forward one step in the browsing history.
 
virtual bool isLoading () const
 Gets whether the target web view is currently loading a page.
 
virtual void callJavaScriptFunction (const std::string &func_, const StringVector &args_, const Callback &callback_)
 Calls the provided JavaScript function, calling the callback when it has finished.
 
virtual std::string javaScriptFunctionResult ()
 Returns the result from a prior JavaScript function call via the callJavaScriptFunction() method.
 
virtual bool javaScriptFunctionError (std::string &error_)
 Returns the error state, if any, from a prior JavaScript function call via the callJavaScriptFunction() method.
 
- Public Member Functions inherited from hdi::core::Widget
virtual ~Widget ()
 Destructs a Widget.
 
virtual Widgetclone () const =0
 Convenience method to clone a Widget object in memory, taking its subclass type into account.
 
virtual Widgetduplicate () const =0
 Convenience method to duplicate a Widget object, creating a new and identical UI element to the target (but not belonging to the same containing window)
 
virtual PlatformWidgetPtr platformWidget () const
 Gets the platform-specific widget, around which the target object is wrapped.
 
virtual bool isEmpty () const
 Gets whether the target Widget object is empty (constructed with the default ctor)
 
virtual bool operator== (const Widget &rhs_) const
 Tests whether a given Widget object is the same as another.
 
virtual bool operator!= (const Widget &rhs_) const
 Tests whether a given Widget object is not the same as another.
 
virtual Type type () const
 Gets the type of the widget.
 
virtual Window *const window () const
 Gets the parent window of the widget.
 
virtual Rect frame () const
 Gets the widget frame.
 
virtual void setFrame (const Rect &frame_)
 Sets the widget frame.
 
virtual void offset (const double x_, const double y_)
 Offsets the widget from its current location by the given amounts, in 1x resolution coordinates.
 
virtual std::string text () const
 Gets the current text value of the widget.
 
virtual void setText (const std::string &text_)
 Sets the current text value of the widget.
 
virtual bool enabled ()
 Gets whether the widget is enabled.
 
virtual void setEnabled (const bool enable_)
 Enables or disables the widget.
 
virtual bool visible ()
 Gets whether the widget is visible.
 
virtual void setVisible (const bool visible_)
 Shows or hides the widget.
 
virtual void setOrigin (const Point &p_)
 Convenience method to set just the origin of the target widget's frame.
 
virtual void setSize (const Size &s_)
 Convenience method to set just the size of the target widget's frame.
 
virtual void setWidth (const double w_)
 Convenience method to set just the width of the target widget's frame.
 
virtual void setHeight (const double h_)
 Convenience method to set just the height of the target widget's frame.
 
virtual bool hasFocus () const
 Gets whether the widget currently has focus.
 
virtual void focus () const
 Forces the widget to have focus, taking it from any other focused widget of the same window.
 
virtual Callback *const focusCallback () const
 Gets the current focus callback for the widget.
 
virtual void setFocusCallback (const Callback &callback_)
 Sets the focus callback for the widget.
 
virtual void blur () const
 Removes focus from the widget.
 
virtual Callback *const blurCallback () const
 Gets the current blur callback for the widget.
 
virtual void setBlurCallback (const Callback &callback_)
 Sets the blur callback for the widget.
 
virtual std::string tooltip () const
 Gets the tool tip string for the widget.
 
virtual void setTooltip (const std::string &tip_)
 Sets the tool tip string for the widget.
 
virtual void update ()
 Force the widget to update (i.e. cause it to redraw)
 

Additional Inherited Members

- Static Public Member Functions inherited from hdi::core::Widget
static bool isCoreWidget (const PlatformWidgetPtr widget_)
 Gets whether the given platform widget is a hdi_core widget.
 
static std::unique_ptr< WidgetlastClickedWidget ()
 Gets the last widget that received a click event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastValueChangingWidget ()
 Gets the last widget that received a value changing event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastValueChangedWidget ()
 Gets the last widget that received a value changed event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastDropWidget ()
 Gets the last widget that received a drag-and-drop drop event (either by the user or programmatically)
 
static std::unique_ptr< WidgetlastPotentialReorderWidget ()
 Gets the last widget that received a potential-reorder event.
 
static std::unique_ptr< WidgetlastReorderWidget ()
 Gets the last widget that received a reorder event.
 
- Protected Member Functions inherited from hdi::core::Widget
void * _impl () const
 Internal use only.
 
 Widget ()
 Constructs an empty Widget object.
 
 Widget (const Widget &w_)
 Constructs a new Widget object from an existing Widget object (copy constructor)
 
 Widget (pui::Widget *&)
 Internal use only.
 
virtual Widgetoperator= (const Widget &)
 Internal use only.
 
- Protected Attributes inherited from hdi::core::Widget
void * _data
 Private implementation data.
 

Detailed Description

WebView widget, for loading a website within a UI window.

Constructor & Destructor Documentation

◆ WebView() [1/3]

hdi::core::WebView::WebView ( )

Constructs an empty WebView object.

Author
GW
Date
09/2015
Note
To test if a WebView object is empty, call isEmpty() on it
Empty WebView objects do not relate to any actual UI widget; they are designed to be "receivers" of some other WebView object via the overloaded assignment operator. Empty WebView objects are useless until such time (though it is safe to call any of their methods).

◆ WebView() [2/3]

hdi::core::WebView::WebView ( const WebView wv_)

Constructs a new WebView object from an existing WebView object (copy constructor)

Author
GW
Date
09/2015
Parameters
wv_Existing WebView object

◆ WebView() [3/3]

hdi::core::WebView::WebView ( const Rect frame_)

Constructs a web view with a given frame.

Author
GW
Date
09/2015
Parameters
frame_Frame of the web view, in 1x resolution coordinates

◆ ~WebView()

virtual hdi::core::WebView::~WebView ( )
virtual

WebView destructor.

Author
GW
Date
09/2015

Member Function Documentation

◆ callJavaScriptFunction()

virtual void hdi::core::WebView::callJavaScriptFunction ( const std::string &  func_,
const StringVector &  args_,
const Callback callback_ 
)
virtual

Calls the provided JavaScript function, calling the callback when it has finished.

Author
GW
Date
05/2018
Parameters
func_Function to call (i.e. "myFunc()")
args_Arguments to provide to func_
callback_Callback to execute when the JS call is finished
Note
To acquire any return value from calling the given JS function, call the javaScriptFunctionResult() method from within your callback.
To acquire any error state from calling the given JS function, call the javaScriptFunctionError() method from within your callback.

◆ clone()

virtual WebView * hdi::core::WebView::clone ( ) const
virtual

Convenience method to clone a WebView object on the heap.

Author
GW
Date
09/2015
Returns
A pointer to the new WebView object
Note
If you subclass WebView, you MUST overload this method yourself! If you don't and/or your clone() method does not return an instance of your WebView subclass, you will experience "object slicing" when adding the widget to a window.
Warning
The caller must manage the memory for the returned WebView object.

Implements hdi::core::Widget.

◆ currentURL()

virtual std::string hdi::core::WebView::currentURL ( ) const
virtual

Gets the currently loaded URL.

Author
GW
Date
11/2016
Returns
The current page URL, or empty string for none

◆ duplicate()

virtual WebView * hdi::core::WebView::duplicate ( ) const
virtual

Convenience method to duplicate a WebView object, creating a new and identical UI element to the target (but not belonging to the same containing window)

Author
GW
Date
09/2015
Returns
A pointer to the new WebView object (and new UI element)
Warning
The caller must manage the memory for the returned WebView object.

Implements hdi::core::Widget.

◆ goBack()

virtual bool hdi::core::WebView::goBack ( )
virtual

Goes back one step in the browsing history.

Author
GW
Date
09/2015
Returns
true if a previous page was available, and whose loading was begun

◆ goForward()

virtual bool hdi::core::WebView::goForward ( )
virtual

Goes forward one step in the browsing history.

Author
GW
Date
09/2015
Returns
true if a subsequent page was available, and whose loading was begun

◆ isLoading()

virtual bool hdi::core::WebView::isLoading ( ) const
virtual

Gets whether the target web view is currently loading a page.

Author
GW
Date
09/2015
Returns
true if still loading, false otherwise

◆ javaScriptFunctionError()

virtual bool hdi::core::WebView::javaScriptFunctionError ( std::string &  error_)
virtual

Returns the error state, if any, from a prior JavaScript function call via the callJavaScriptFunction() method.

Author
GW
Date
11/2020
Parameters
error_A return-by-reference for the error string, if any
Returns
true if an error occurred, false otherwise
Warning
The result of this function is only valid when called from within the callback provided to the callJavaScriptFunction() method.

◆ javaScriptFunctionResult()

virtual std::string hdi::core::WebView::javaScriptFunctionResult ( )
virtual

Returns the result from a prior JavaScript function call via the callJavaScriptFunction() method.

Author
GW
Date
11/2020
Returns
The result as a string, or "" for error
Warning
The result of this function is only valid when called from within the callback provided to the callJavaScriptFunction() method.

◆ loadURL()

virtual void hdi::core::WebView::loadURL ( const std::string &  url_)
virtual

Loads the given HTTP(S) URL.

Author
GW
Date
09/2015
Parameters
url_Target URL to load

◆ operator=()

virtual WebView & hdi::core::WebView::operator= ( const WebView rhs_)
virtual

Allows one WebView object to be assigned from another.

Author
GW
Date
09/2015
Parameters
rhs_Righthand side of the = operator; the object to copy values from
Returns
The target WebView object, but with its value updated to match that of rhs_

◆ reload()

virtual void hdi::core::WebView::reload ( )
virtual

Reloads the currently loaded page, if any.

Author
GW
Date
09/2015

◆ setText()

virtual void hdi::core::WebView::setText ( const std::string &  text_)
virtual

Does nothing (web views do not have a text value)

Author
GW
Date
09/2015
Parameters
text_Ignored

Reimplemented from hdi::core::Widget.

◆ setTooltip()

virtual void hdi::core::WebView::setTooltip ( const std::string &  tip_)
virtual

Does nothing (web views do not have a tooltip)

Author
GW
Date
09/2015
Parameters
tip_Ignored

Reimplemented from hdi::core::Widget.

◆ stopLoading()

virtual void hdi::core::WebView::stopLoading ( )
virtual

Stops any page loading that might be occurring.

Author
GW
Date
09/2015

◆ text()

virtual std::string hdi::core::WebView::text ( ) const
virtual

Does nothing (web views do not have a text value)

Author
GW
Date
09/2015
Returns
""

Reimplemented from hdi::core::Widget.

◆ tooltip()

virtual std::string hdi::core::WebView::tooltip ( ) const
virtual

Does nothing (web views do not have a tooltip)

Author
GW
Date
09/2015
Returns
""

Reimplemented from hdi::core::Widget.