ofxOui - UI Components for OpenFrameworks

Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
ofxOui::DraggableButton Class Reference

Draggable Button (specialization of button) More...

#include <ofxOuiDraggableButton.hpp>

Inheritance diagram for ofxOui::DraggableButton:
[legend]
Collaboration diagram for ofxOui::DraggableButton:
[legend]

Classes

class  DropEvent
 Event arguments for Drag and Drop events. More...
 

Public Member Functions

 DraggableButton (int x_=0, int y_=0, int width_=0, int height_=0)
 Constructor. More...
 
virtual ~DraggableButton ()
 Destructor. More...
 
template<typename T , typename args , class ListenerClass >
void onDrop (T *owner, void(ListenerClass::*listenerMethod)(args))
 Set callback function for drag and drop events. More...
 
virtual void setReferencePosition ()
 Sets the reference position of the button. More...
 
template<typename T , typename args , class ListenerClass >
void onClick (T *owner, void(ListenerClass::*listenerMethod)(args))
 Set callback function for click events. More...
 
virtual void update ()
 OF-like update function. More...
 
virtual void draw ()
 OF-like draw function. More...
 
virtual bool inside (float x_, float y_) const
 checks if a point is inside the component (depending on the shape) More...
 
Type type () const
 get the type of the component More...
 

Public Attributes

bool toggle
 specifies if the button works as button or toggle More...
 
Shape shape = ofxOui::Shape::Rectangle
 shape of the component More...
 
Style style = ofxOui::Style::Default
 style of the component More...
 
TextBox font
 textbox for the main label of the component More...
 
Icon icon
 icon box of the component More...
 
float x
 x position (left) More...
 
float y
 y position(top) More...
 
float width
 component width More...
 
float height
 component height More...
 
string labelOn = ""
 Label of the component (active) More...
 
string labelOff = ""
 Label of the component (not active) More...
 
bool disabled = false
 specifies if the component should be in "disabled" mode (no interaction) More...
 
bool active = false
 specifies if the component is active More...
 

Protected Member Functions

virtual void mousePressed (ofMouseEventArgs &e)
 
virtual void mouseDragged (ofMouseEventArgs &e)
 
virtual void mouseReleased (ofMouseEventArgs &e)
 
virtual void drawBackground ()
 
virtual void drawFrame ()
 
virtual void drawLabel ()
 
virtual void drawIcon ()
 

Protected Attributes

bool mouse_pressed_inside_
 
bool dragging_
 
ofPoint mouse_offset_
 
ofPoint reference_position_
 
std::function< void(DraggableButton::DropEvent &)> drop_event_callback_
 
int num_frames_on_
 
std::function< void(Button::ClickEvent &)> click_event_callback_
 
Type type_ = ofxOui::Type::Label
 
bool hover_ = false
 
ofColor current_background_color_
 
ofColor current_frame_color_
 

Static Protected Attributes

static Componentblocking_component = nullptr
 

Detailed Description

Draggable Button (specialization of button)

Constructor & Destructor Documentation

§ DraggableButton()

ofxOui::DraggableButton::DraggableButton ( int  x_ = 0,
int  y_ = 0,
int  width_ = 0,
int  height_ = 0 
)

Constructor.

Parameters
x_x position (left)
y_y position (top)
width_component width
height_component height

§ ~DraggableButton()

ofxOui::DraggableButton::~DraggableButton ( )
virtual

Destructor.

Member Function Documentation

§ draw()

void ofxOui::Component::draw ( )
virtualinherited

OF-like draw function.

this method is subdivided in protected sub-methods that can be overloaded in inherited components

Reimplemented in ofxOui::Matrix, and ofxOui::DropDown.

§ drawBackground()

void ofxOui::Component::drawBackground ( )
protectedvirtualinherited

§ drawFrame()

void ofxOui::Component::drawFrame ( )
protectedvirtualinherited

§ drawIcon()

void ofxOui::Component::drawIcon ( )
protectedvirtualinherited

Reimplemented in ofxOui::CheckBox.

§ drawLabel()

void ofxOui::Component::drawLabel ( )
protectedvirtualinherited

§ inside()

bool ofxOui::Component::inside ( float  x_,
float  y_ 
) const
virtualinherited

checks if a point is inside the component (depending on the shape)

Returns
true if the point of coordinates (x, y) is inside the component

§ mouseDragged()

void ofxOui::DraggableButton::mouseDragged ( ofMouseEventArgs &  e)
protectedvirtual

§ mousePressed()

void ofxOui::DraggableButton::mousePressed ( ofMouseEventArgs &  e)
protectedvirtual

Reimplemented from ofxOui::Button.

§ mouseReleased()

void ofxOui::DraggableButton::mouseReleased ( ofMouseEventArgs &  e)
protectedvirtual

§ onClick()

template<typename T , typename args , class ListenerClass >
void ofxOui::Button::onClick ( T *  owner,
void(ListenerClass::*)(args)  listenerMethod 
)
inlineinherited

Set callback function for click events.

Parameters
ownerpointer to the owner object
listenerMethodmethod to be called on eaech event
Template Parameters
Ttype of the owner object
argsarguments of the callback function
ListenerClassclass to which the listener method belongs

§ onDrop()

template<typename T , typename args , class ListenerClass >
void ofxOui::DraggableButton::onDrop ( T *  owner,
void(ListenerClass::*)(args)  listenerMethod 
)
inline

Set callback function for drag and drop events.

Parameters
ownerpointer to the owner object
listenerMethodmethod to be called on eaech event
Template Parameters
Ttype of the owner object
argsarguments of the callback function
ListenerClassclass to which the listener method belongs

§ setReferencePosition()

void ofxOui::DraggableButton::setReferencePosition ( )
virtual

Sets the reference position of the button.

§ type()

Type ofxOui::Component::type ( ) const
inlineinherited

get the type of the component

Returns
type of the component

§ update()

void ofxOui::Button::update ( )
virtualinherited

OF-like update function.

Reimplemented from ofxOui::Component.

Member Data Documentation

§ active

bool ofxOui::Component::active = false
inherited

specifies if the component is active

§ blocking_component

ofxOui::Component * ofxOui::Component::blocking_component = nullptr
staticprotectedinherited

§ click_event_callback_

std::function<void(Button::ClickEvent&)> ofxOui::Button::click_event_callback_
protectedinherited

§ current_background_color_

ofColor ofxOui::Component::current_background_color_
protectedinherited

§ current_frame_color_

ofColor ofxOui::Component::current_frame_color_
protectedinherited

§ disabled

bool ofxOui::Component::disabled = false
inherited

specifies if the component should be in "disabled" mode (no interaction)

§ dragging_

bool ofxOui::DraggableButton::dragging_
protected

§ drop_event_callback_

std::function<void(DraggableButton::DropEvent &)> ofxOui::DraggableButton::drop_event_callback_
protected

§ font

TextBox ofxOui::Component::font
inherited

textbox for the main label of the component

§ height

float ofxOui::Component::height
inherited

component height

§ hover_

bool ofxOui::Component::hover_ = false
protectedinherited

§ icon

Icon ofxOui::Component::icon
inherited

icon box of the component

§ labelOff

string ofxOui::Component::labelOff = ""
inherited

Label of the component (not active)

§ labelOn

string ofxOui::Component::labelOn = ""
inherited

Label of the component (active)

§ mouse_offset_

ofPoint ofxOui::DraggableButton::mouse_offset_
protected

§ mouse_pressed_inside_

bool ofxOui::DraggableButton::mouse_pressed_inside_
protected

§ num_frames_on_

int ofxOui::Button::num_frames_on_
protectedinherited

§ reference_position_

ofPoint ofxOui::DraggableButton::reference_position_
protected

§ shape

Shape ofxOui::Component::shape = ofxOui::Shape::Rectangle
inherited

shape of the component

§ style

Style ofxOui::Component::style = ofxOui::Style::Default
inherited

style of the component

§ toggle

bool ofxOui::Button::toggle
inherited

specifies if the button works as button or toggle

§ type_

Type ofxOui::Component::type_ = ofxOui::Type::Label
protectedinherited

§ width

float ofxOui::Component::width
inherited

component width

§ x

float ofxOui::Component::x
inherited

x position (left)

§ y

float ofxOui::Component::y
inherited

y position(top)


The documentation for this class was generated from the following files: