Hot Door CORE  0.7.1
Adobe® Illustrator® Plug-in Library
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. More...
 
 DraggableDivider (const DraggableDivider &widget_)
 Constructs a new DraggableDivider object from an existing DraggableDivider object (copy constructor) More...
 
 DraggableDivider (const Point &loc_, const Direction dir_)
 DraggableDivider constructor, taking an argument for the location and direction. More...
 
virtual ~DraggableDivider ()
 DraggableDivider destructor. More...
 
virtual DraggableDivideroperator= (const DraggableDivider &rhs_)
 Allows one DraggableDivider object to be assigned from another. More...
 
virtual DraggableDividerclone () const
 Convenience method to clone a DraggableDivider object on the heap. More...
 
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) More...
 
virtual Direction direction () const
 Gets the direction that the line is going. More...
 
virtual std::string text () const
 Always gets "", as dividers cannot have text. More...
 
virtual void setText (const std::string &)
 Prevents setting the text, as dividers cannot have text. More...
 
virtual bool enabled ()
 Returns true, because dividers are always enabled. More...
 
virtual void setEnabled (const bool enable_)
 Overrides Widget::setEnabled() because dividers are always enabled. More...
 
virtual Callback *const movedCallback () const
 Gets the callback for the widget being moved during a mouse drag event. More...
 
virtual void setMovedCallback (const Callback &cb_)
 Sets the callback for the widget being moved during a mouse drag event. More...
 
- Public Member Functions inherited from hdi::core::CustomWidget
 CustomWidget ()
 Constructs an empty CustomWidget object. More...
 
 CustomWidget (const CustomWidget &widget_)
 Constructs a new CustomWidget object from an existing CustomWidget object (copy constructor) More...
 
 CustomWidget (const Rect &frame_)
 CustomWidget constructor, taking an argument for the frame which will receive events. More...
 
virtual ~CustomWidget ()
 CustomWidget destructor. More...
 
virtual CustomWidgetoperator= (const CustomWidget &rhs_)
 Allows one CustomWidget object to be assigned from another. More...
 
PlatformDrawingContextPtr platformDC () const
 Gets the platform-specific graphics drawing context for the current draw call. More...
 
virtual void drawEllipse (const Rect &rect_, const bool fill_=false)
 Draws an ellipse, optionally filled; will be the color set by setDrawColor() More...
 
virtual void drawImage (const Point &tl_, const int16_t pngID_, const double scale_=1.0)
 Draws a PNGI image resource at the given point. More...
 
- Public Member Functions inherited from hdi::core::Widget
virtual ~Widget ()
 Destructs a Widget. More...
 
virtual PlatformWidgetPtr platformWidget () const
 Gets the platform-specific widget, around which the target object is wrapped. More...
 
virtual bool isEmpty () const
 Gets whether the target Widget object is empty (constructed with the default ctor) More...
 
virtual bool operator== (const Widget &rhs_) const
 Tests whether a given Widget object is the same as another. More...
 
virtual bool operator!= (const Widget &rhs_) const
 Tests whether a given Widget object is not the same as another. More...
 
virtual Type type () const
 Gets the type of the widget. More...
 
virtual Window *const window () const
 Gets the parent window of the widget. More...
 
virtual Rect frame () const
 Gets the widget frame. More...
 
virtual void setFrame (const Rect &frame_)
 Sets the widget frame. More...
 
virtual void offset (const double x_, const double y_)
 Offsets the widget from its current location by the given amounts, in 1x resolution coordinates. More...
 
virtual bool visible ()
 Gets whether the widget is visible. More...
 
virtual void setVisible (const bool visible_)
 Shows or hides the widget. More...
 
virtual void setOrigin (const Point &p_)
 Convenience method to set just the origin of the target widget's frame. More...
 
virtual void setSize (const Size &s_)
 Convenience method to set just the size of the target widget's frame. More...
 
virtual void setWidth (const double w_)
 Convenience method to set just the width of the target widget's frame. More...
 
virtual void setHeight (const double h_)
 Convenience method to set just the height of the target widget's frame. More...
 
virtual bool hasFocus () const
 Gets whether the widget currently has focus. More...
 
virtual void focus () const
 Forces the widget to have focus, taking it from any other focused widget of the same window. More...
 
virtual void blur () const
 Removes focus from the widget. More...
 
virtual std::string tooltip () const
 Gets the tool tip string for the widget. More...
 
virtual void setTooltip (const std::string &tip_)
 Sets the tool tip string for the widget. More...
 
virtual void update ()
 Force the widget to update (i.e. cause it to redraw) More...
 

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. More...
 
static std::auto_ptr< WidgetlastClickedWidget ()
 Gets the last widget that received a click event (either by the user or programmatically) More...
 
static std::auto_ptr< WidgetlastValueChangingWidget ()
 Gets the last widget that received a value changing event (either by the user or programmatically) More...
 
static std::auto_ptr< WidgetlastValueChangedWidget ()
 Gets the last widget that received a value changed event (either by the user or programmatically) More...
 
static bool forceIdeographicFontSize (bool &larger__)
 Gets whether widgets should use an ideographically appropriate font size for widget text on Windows (whether or not the Illustrator locale dictates one should be used) More...
 
static void setForceIdeographicFontSize (const bool force_, const bool larger_)
 Sets whether widgets should use an ideographically appropriate font size for widget text on Windows (whether or not the Illustrator locale dictates one should be used) More...
 
- Protected Member Functions inherited from hdi::core::Widget
void * _impl () const
 Internal use only. More...
 
 Widget ()
 Constructs an empty Widget object. More...
 
 Widget (const Widget &w_)
 Constructs a new Widget object from an existing Widget object (copy constructor) More...
 
 Widget (plugin::Widget *&)
 Internal use only. More...
 
virtual Widgetoperator= (const Widget &)
 Internal use only. More...
 
- 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.