Hot Door CORE  0.7.0
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 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 setEnabled (hdi::core::Widget) 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...
 

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

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).
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
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
virtual hdi::core::DraggableDivider::~DraggableDivider ( )
virtual

DraggableDivider destructor.

Author
GW
Date
11/2015

Member Function Documentation

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.
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
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.
virtual bool hdi::core::DraggableDivider::enabled ( )
virtual

Returns true, because dividers are always enabled.

Author
GW
Date
11/2015
Returns
true
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
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_
virtual void hdi::core::DraggableDivider::setEnabled ( const bool  enable_)
virtual

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

Author
GW
Date
11/2015
Parameters
enable_true to enable, false to disable (ignored)
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
virtual void hdi::core::DraggableDivider::setText ( const std::string &  )
virtual

Prevents setting the text, as dividers cannot have text.

Author
GW
Date
11/2015
virtual std::string hdi::core::DraggableDivider::text ( ) const
virtual

Always gets "", as dividers cannot have text.

Author
GW
Date
11/2015
Returns
""