Hot Door CORE 0.8.2
Adobe® Illustrator® Plug-in Library
|
Class for custom plugin widgets; receives notification of a variety of events, can be custom drawn, etc. More...
#include <hdicoreCustomWidget.h>
Public Types | |
typedef std::vector< Point > | PointVector |
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 | |
CustomWidget () | |
Constructs an empty CustomWidget object. | |
CustomWidget (const CustomWidget &widget_) | |
Constructs a new CustomWidget object from an existing CustomWidget object (copy constructor) | |
CustomWidget (const Rect &frame_) | |
CustomWidget constructor, taking an argument for the frame which will receive events. | |
virtual | ~CustomWidget () |
CustomWidget destructor. | |
virtual CustomWidget & | operator= (const CustomWidget &rhs_) |
Allows one CustomWidget object to be assigned from another. | |
virtual CustomWidget * | clone () const |
Convenience method to clone a CustomWidget object on the heap. | |
virtual CustomWidget * | duplicate () const |
Convenience method to duplicate a CustomWidget object, creating a new and identical UI element to the target (but not belonging to the same containing window) | |
virtual void | redraw () |
Forces the widget to redraw, calling the appropriate callbacks to do so. | |
virtual ModifierKey | getClickDragModifiers () const |
Gets the modifier keys used during a click/drag event. | |
virtual bool | getClickDragLocations (Point &start__, Point &end__) const |
Gets the mouse locations during a click/drag event. | |
virtual bool | isMouseOver () const |
Indicates whether the mouse is currently over the widget (useful for implementing rollover effects, if desired) | |
virtual Callback *const | mouseOverCallback () const |
Gets the current mouse over callback. | |
virtual void | setMouseOverCallback (const Callback &cb_) |
Sets the mouse over callback. | |
virtual Callback *const | mouseMoveCallback () const |
Gets the current mouse move callback. | |
virtual void | setMouseMoveCallback (const Callback &cb_) |
Sets the mouse move callback. | |
virtual Callback *const | mouseOutCallback () const |
Gets the current mouse out callback. | |
virtual void | setMouseOutCallback (const Callback &cb_) |
Sets the mouse out callback. | |
virtual bool | focusesOnClick () const |
Gets whether the widget automatically takes focus on click (mouse down, specifically) | |
virtual void | setFocusesOnClick (const bool focus_) |
Sets whether the widget automatically takes focus on click (mouse down, specifically) | |
virtual Callback *const | mouseDownCallback () const |
Gets the current mouse down callback. | |
virtual void | setMouseDownCallback (const Callback &cb_) |
Sets the mouse down callback. | |
virtual Callback *const | mouseDragCallback () const |
Gets the current mouse drag callback. | |
virtual void | setMouseDragCallback (const Callback &cb_) |
Sets the mouse drag callback. | |
virtual Callback *const | mouseUpCallback () const |
Gets the current mouse up callback. | |
virtual void | setMouseUpCallback (const Callback &cb_) |
Sets the mouse up callback. | |
virtual bool | draggable () const |
Gets whether dragging support for this particular widget is enabled. | |
virtual void | setDraggable (const bool enable_) |
Sets whether dragging support for this particular widget is enabled. | |
virtual std::string | dragData () const |
Gets the data that will be passed when the widget is dropped on a receiver. | |
virtual void | setDragData (const std::string &data_) |
Sets the data that will be passed when the widget is dropped on a receiver. | |
virtual bool | droppable () const |
Gets whether dropping support for this particular widget is enabled. | |
virtual void | setDroppable (const bool enable_) |
Sets whether dropping support for this particular widget is enabled. | |
virtual Callback *const | potentialDropCallback () const |
Gets the current potential-drop callback for the widget (for when the mouse is moving over the widget, in the middle of a drag-and-drop operation) | |
virtual void | setPotentialDropCallback (const Callback &callback_) |
Sets the potential-drop callback for the widget. | |
virtual Point | potentialDropPoint () const |
Gets the point at which the drop might occur, in the widget's coordinate system. | |
virtual Callback *const | dropCallback () const |
Gets the current drop callback for the widget. | |
virtual void | setDropCallback (const Callback &callback_) |
Sets the drop callback for the widget. | |
virtual std::string | droppedData () const |
Gets the data that was passed when the widget received a drop. | |
virtual Point | droppedPoint () const |
Gets the point at which the drop occurred, in the widget's coordinate system. | |
virtual std::unique_ptr< Panel > | linkedPanel () const |
Gets the panel that the target custom widget has been associated with. | |
virtual void | setLinkedPanel (const Panel &p_) |
Sets the panel that can be shown when the whenever the custom widget implementer wants. | |
virtual void | removeLinkedPanel () |
Removes the panel that should be shown when the label is clicked. | |
virtual void | showLinkedPanel (const Point &pt_) |
Shows the linked panel in a popdown borderless fashion at the given location. | |
virtual PlatformDrawingContextPtr | platformDC () const |
Gets the platform-specific graphics drawing context for the current draw call. | |
virtual Callback *const | drawCallback () const |
Gets the current draw callback. | |
virtual void | setDrawCallback (const Callback &cb_) |
Sets the draw callback. | |
virtual bool | clearsOnRedraw () const |
Gets whether the widget automatically clears the frame (i.e. paints the background color over the frame) before calling the draw callback. | |
virtual void | setClearsOnRedraw (const bool clear_) |
Sets whether the widget automatically clears the frame (i.e. paints the background color over the frame) before calling the draw callback. | |
virtual void | setDrawColor (const Color &color_) |
Sets the color for the current widget drawing context. | |
virtual void | drawLine (const Point &from_, const Point &to_) |
Draws a line from a given point to an endpoint; will be the color set by setDrawColor() | |
virtual void | drawRect (const Rect &rect_, const bool fill_=false) |
Draws a rect, optionally filled; will be the color set by setDrawColor() | |
virtual void | drawRoundedRect (const Rect &rect_, const double radius_, const bool fill_=false) |
Draws a rounded rect, optionally filled; will be the color set by setDrawColor() | |
virtual void | drawEllipse (const Rect &rect_, const bool fill_=false) |
Draws an ellipse, optionally filled; will be the color set by setDrawColor() | |
virtual void | drawPolygon (const PointVector &points_, const bool fill_=false) |
Draws a polygon composed of a given set of points; can optionally be filled with the current draw color. | |
virtual void | drawImage (const Point &tl_, const int16_t pngID_, const double scale_=1.0) |
Draws a PNGI image resource at the given point. | |
virtual void | drawText (const Point &tl_, const std::string &text_, const Font &font_, const double fontSize_) |
Draws text at the given point. | |
Public Member Functions inherited from hdi::core::Widget | |
virtual | ~Widget () |
Destructs a Widget. | |
virtual Widget * | clone () const =0 |
Convenience method to clone a Widget object in memory, taking its subclass type into account. | |
virtual Widget * | duplicate () 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< Widget > | lastClickedWidget () |
Gets the last widget that received a click event (either by the user or programmatically) | |
static std::unique_ptr< Widget > | lastValueChangingWidget () |
Gets the last widget that received a value changing event (either by the user or programmatically) | |
static std::unique_ptr< Widget > | lastValueChangedWidget () |
Gets the last widget that received a value changed event (either by the user or programmatically) | |
static std::unique_ptr< Widget > | lastDropWidget () |
Gets the last widget that received a drag-and-drop drop event (either by the user or programmatically) | |
static std::unique_ptr< Widget > | lastPotentialReorderWidget () |
Gets the last widget that received a potential-reorder event. | |
static std::unique_ptr< Widget > | lastReorderWidget () |
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 Widget & | operator= (const Widget &) |
Internal use only. | |
Protected Attributes inherited from hdi::core::Widget | |
void * | _data |
Private implementation data. | |
Class for custom plugin widgets; receives notification of a variety of events, can be custom drawn, etc.
hdi::core::CustomWidget::CustomWidget | ( | ) |
Constructs an empty CustomWidget object.
hdi::core::CustomWidget::CustomWidget | ( | const CustomWidget & | widget_ | ) |
Constructs a new CustomWidget object from an existing CustomWidget object (copy constructor)
widget_ | Existing CustomWidget object |
hdi::core::CustomWidget::CustomWidget | ( | const Rect & | frame_ | ) |
CustomWidget constructor, taking an argument for the frame which will receive events.
frame_ | Top-left location and dimensions of the custom widget, in 1x resolution coordinates |
|
virtual |
CustomWidget destructor.
|
virtual |
Gets whether the widget automatically clears the frame (i.e. paints the background color over the frame) before calling the draw callback.
|
virtual |
Convenience method to clone a CustomWidget object on the heap.
Implements hdi::core::Widget.
Reimplemented in hdi::core::DraggableDivider.
|
virtual |
Gets the data that will be passed when the widget is dropped on a receiver.
|
virtual |
Gets whether dragging support for this particular widget is enabled.
|
virtual |
Gets the current draw callback.
|
virtual |
Draws an ellipse, optionally filled; will be the color set by setDrawColor()
rect_ | Rectangle in which to draw the ellipse, in local coordinates and at 1x resolution |
fill_ | Whether to fill the ellipse |
|
virtual |
Draws a PNGI image resource at the given point.
tl_ | Top-left location of the image, in local coordinates and at 1x resolution |
pngID_ | PNGI image resource ID |
scaler_ | On Mac, this indicates how much the image should be scaled to adjust for a HiDPI display. At this time, only values of 1.0 and 2.0 are accepted. |
Draws a line from a given point to an endpoint; will be the color set by setDrawColor()
from_ | Start point for the line, in local coordinates and at 1x resolution |
to_ | End point for the line, in local coordinates |
|
virtual |
Draws a polygon composed of a given set of points; can optionally be filled with the current draw color.
points_ | Points that compose the polygon, in local coordinates and at 1x resolution |
fill_ | Whether to fill the polygon |
|
virtual |
Draws a rect, optionally filled; will be the color set by setDrawColor()
rect_ | Rectangle to draw, in local coordinates and at 1x resolution |
fill_ | Whether to fill the rectangle |
|
virtual |
Draws a rounded rect, optionally filled; will be the color set by setDrawColor()
rect_ | Rectangle to draw, in local coordinates and at 1x resolution |
radius_ | Radius for the corners at 1x resolution |
fill_ | Whether to fill the rectangle |
|
virtual |
Draws text at the given point.
tl_ | Top-left location of the text, in local coordinates and at 1x resolution |
text_ | Text value to be drawn, in UTF-8 |
font_ | Font to use when drawing the string |
fontSize_ | Font size to use |
|
virtual |
Gets the current drop callback for the widget.
|
virtual |
Gets whether dropping support for this particular widget is enabled.
|
virtual |
Gets the data that was passed when the widget received a drop.
|
virtual |
Gets the point at which the drop occurred, in the widget's coordinate system.
|
virtual |
Convenience method to duplicate a CustomWidget object, creating a new and identical UI element to the target (but not belonging to the same containing window)
Implements hdi::core::Widget.
Reimplemented in hdi::core::DraggableDivider.
|
virtual |
Gets whether the widget automatically takes focus on click (mouse down, specifically)
|
virtual |
Gets the mouse locations during a click/drag event.
dragStart__ | Return-by-reference for the position of the mouse when drag started, in 1x resolution coordinates |
dragEnd__ | Return-by-reference for the position of the mouse where drag is currently, in 1x resolution coordinates |
|
virtual |
Gets the modifier keys used during a click/drag event.
|
virtual |
Indicates whether the mouse is currently over the widget (useful for implementing rollover effects, if desired)
|
virtual |
Gets the panel that the target custom widget has been associated with.
|
virtual |
Gets the current mouse down callback.
|
virtual |
Gets the current mouse drag callback.
|
virtual |
Gets the current mouse move callback.
|
virtual |
Gets the current mouse out callback.
|
virtual |
Gets the current mouse over callback.
|
virtual |
Gets the current mouse up callback.
|
virtual |
Allows one CustomWidget object to be assigned from another.
rhs_ | Righthand side of the = operator; the object to copy values from |
|
virtual |
Gets the platform-specific graphics drawing context for the current draw call.
|
virtual |
Gets the current potential-drop callback for the widget (for when the mouse is moving over the widget, in the middle of a drag-and-drop operation)
|
virtual |
Gets the point at which the drop might occur, in the widget's coordinate system.
|
virtual |
Forces the widget to redraw, calling the appropriate callbacks to do so.
|
virtual |
Removes the panel that should be shown when the label is clicked.
|
virtual |
Sets whether the widget automatically clears the frame (i.e. paints the background color over the frame) before calling the draw callback.
clear_ | true to clear the frame, false otherwise |
|
virtual |
Sets the data that will be passed when the widget is dropped on a receiver.
data_ | Data to be passed to a receiving drag-and-drop widget (when dropped) |
|
virtual |
Sets whether dragging support for this particular widget is enabled.
enable_ | true to enable drag-and-drop source support, false otherwise |
|
virtual |
Sets the draw callback.
cb_ | New callback (target and action) for when the widget show draw itself |
|
virtual |
Sets the color for the current widget drawing context.
color_ | New drawing context color |
|
virtual |
Sets the drop callback for the widget.
callback_ | New callback for when the widget receives a drop |
|
virtual |
Sets whether dropping support for this particular widget is enabled.
enable_ | true to enable drag-and-drop destination support, false otherwise |
|
virtual |
Sets whether the widget automatically takes focus on click (mouse down, specifically)
focus_ | true to take focus when clicked, false otherwise |
|
virtual |
Sets the panel that can be shown when the whenever the custom widget implementer wants.
p_ | New panel to show in a popdown borderless fashion |
|
virtual |
Sets the mouse down callback.
cb_ | New callback (target and action) for when the widget receives a mouse down |
|
virtual |
Sets the mouse drag callback.
cb_ | New callback (target and action) for when the widget receives a mouse drag |
|
virtual |
Sets the mouse move callback.
cb_ | New callback (target and action) for when the widget receives a mouse move |
|
virtual |
Sets the mouse out callback.
cb_ | New callback (target and action) for when the widget receives a mouse out event |
|
virtual |
Sets the mouse over callback.
cb_ | New callback (target and action) for when the widget receives a mouse over event |
|
virtual |
Sets the mouse up callback.
cb_ | New callback (target and action) for when the widget receives a mouse up |
|
virtual |
Sets the potential-drop callback for the widget.
callback_ | New callback for when the widget receives a potential-drop event (when the mouse is moving over the widget, in the middle of a drag-and-drop operation) |
|
virtual |
Shows the linked panel in a popdown borderless fashion at the given location.
pt_ | Location of the panel, in local coordinates |