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::DraggableDivider Class Reference

Class for draggable divider lines, which are of a standard length, and used for resizing e.g. the height of the two widgets immediately above and below the divider. More...

#include <hdicoreDraggableDivider.h>

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

Public Types

enum  Direction { UnknownDirection = 0 , Horizontal = 10 , Vertical = 20 }
 Describes the direction of the line in a DraggableDivider object.
 
- Public Types inherited from hdi::core::CustomWidget
typedef std::vector< PointPointVector
 
- 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

 DraggableDivider ()
 Constructs an empty DraggableDivider object.
 
 DraggableDivider (const DraggableDivider &widget_)
 Constructs a new DraggableDivider object from an existing DraggableDivider object (copy constructor)
 
 DraggableDivider (const Point &loc_, const Direction dir_)
 DraggableDivider constructor, taking an argument for the location and direction.
 
virtual ~DraggableDivider ()
 DraggableDivider destructor.
 
virtual DraggableDivideroperator= (const DraggableDivider &rhs_)
 Allows one DraggableDivider object to be assigned from another.
 
virtual DraggableDividerclone () const
 Convenience method to clone a DraggableDivider object on the heap.
 
virtual DraggableDividerduplicate () const
 Convenience method to duplicate a DraggableDivider object, creating a new and identical UI element to the target (but not belonging to the same containing window)
 
virtual Direction direction () const
 Gets the direction that the line is going.
 
virtual std::string text () const
 Always gets "", as dividers cannot have text.
 
virtual void setText (const std::string &)
 Prevents setting the text, as dividers cannot have text.
 
virtual bool enabled ()
 Returns true, because dividers are always enabled.
 
virtual void setEnabled (const bool enable_)
 Overrides Widget::setEnabled() because dividers are always enabled.
 
virtual Callback *const movedCallback () const
 Gets the callback for the widget being moved during a mouse drag event.
 
virtual void setMovedCallback (const Callback &cb_)
 Sets the callback for the widget being moved during a mouse drag event.
 
- Public Member Functions inherited from hdi::core::CustomWidget
 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 CustomWidgetoperator= (const CustomWidget &rhs_)
 Allows one CustomWidget object to be assigned from another.
 
virtual CustomWidgetclone () const
 Convenience method to clone a CustomWidget object on the heap.
 
virtual CustomWidgetduplicate () 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< PanellinkedPanel () 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 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

Class for draggable divider lines, which are of a standard length, and used for resizing e.g. the height of the two widgets immediately above and below the divider.

Constructor & Destructor Documentation

◆ DraggableDivider() [1/3]

hdi::core::DraggableDivider::DraggableDivider ( )

Constructs an empty DraggableDivider object.

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

◆ DraggableDivider() [2/3]

hdi::core::DraggableDivider::DraggableDivider ( const DraggableDivider widget_)

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

Author
GW
Date
11/2015
Parameters
widget_Existing DraggableDivider object

◆ DraggableDivider() [3/3]

hdi::core::DraggableDivider::DraggableDivider ( const Point loc_,
const Direction  dir_ 
)

DraggableDivider constructor, taking an argument for the location and direction.

Author
GW
Date
11/2015
Parameters
loc_Top-left location of the divider, in 1x resolution coordinates
dir_Horizontal or vertical line?

◆ ~DraggableDivider()

virtual hdi::core::DraggableDivider::~DraggableDivider ( )
virtual

DraggableDivider destructor.

Author
GW
Date
11/2015

Member Function Documentation

◆ clone()

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

Convenience method to clone a DraggableDivider object on the heap.

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

Reimplemented from hdi::core::CustomWidget.

◆ direction()

virtual Direction hdi::core::DraggableDivider::direction ( ) const
virtual

Gets the direction that the line is going.

Author
GW
Date
11/2015
Returns
Vertical for a vertical line, Horizontal otherwise

◆ duplicate()

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

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

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

Reimplemented from hdi::core::CustomWidget.

◆ enabled()

virtual bool hdi::core::DraggableDivider::enabled ( )
virtual

Returns true, because dividers are always enabled.

Author
GW
Date
11/2015
Returns
true

Reimplemented from hdi::core::Widget.

◆ movedCallback()

virtual Callback *const hdi::core::DraggableDivider::movedCallback ( ) const
virtual

Gets the callback for the widget being moved during a mouse drag event.

Author
GW
Date
11/2015
Returns
A pointer to the currently registered move callback

◆ operator=()

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

Allows one DraggableDivider object to be assigned from another.

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

◆ setEnabled()

virtual void hdi::core::DraggableDivider::setEnabled ( const bool  enable_)
virtual

Overrides Widget::setEnabled() because dividers are always enabled.

Author
GW
Date
11/2015
Parameters
enable_true to enable, false to disable (ignored)

Reimplemented from hdi::core::Widget.

◆ setMovedCallback()

virtual void hdi::core::DraggableDivider::setMovedCallback ( const Callback cb_)
virtual

Sets the callback for the widget being moved during a mouse drag event.

Author
GW
Date
11/2015
Parameters
cb_New callback (target and action) for the widget moving due to the user dragging it to one side or another

◆ setText()

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

Prevents setting the text, as dividers cannot have text.

Author
GW
Date
11/2015

Reimplemented from hdi::core::Widget.

◆ text()

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

Always gets "", as dividers cannot have text.

Author
GW
Date
11/2015
Returns
""

Reimplemented from hdi::core::Widget.