LMMS
Loading...
Searching...
No Matches
lmms::gui::Draggable Class Reference

A pixmap that can be dragged from one location to another to control a FloatModel. More...

#include <Draggable.h>

Inheritance diagram for lmms::gui::Draggable:
lmms::gui::FloatModelEditorBase lmms::gui::TypedModelView< FloatModel > lmms::gui::AutomatableModelView lmms::gui::ModelView

Public Types

enum class  DirectionOfManipulation
Public Types inherited from lmms::gui::FloatModelEditorBase
enum class  DirectionOfManipulation { Vertical , Horizontal }

Public Member Functions

 Draggable (DirectionOfManipulation directionOfManipulation, FloatModel *floatModel, const QPixmap &pixmap, int pointA, int pointB, QWidget *parent=nullptr)
QSize sizeHint () const override
void setPixmap (const QPixmap &pixmap)
void setDefaultValPixmap (const QPixmap &pixmap, float value=0.f)
Public Member Functions inherited from lmms::gui::FloatModelEditorBase
 FloatModelEditorBase (DirectionOfManipulation directionOfManipulation=DirectionOfManipulation::Vertical, QWidget *_parent=nullptr, const QString &_name=QString())
 default ctor
 FloatModelEditorBase (const FloatModelEditorBase &other)=delete
void setHintText (const QString &txt_before, const QString &txt_after)
bool isVolumeKnob () const
void setVolumeKnob (const bool val)
Public Member Functions inherited from lmms::gui::TypedModelView< FloatModel >
 TypedModelView (Model *model, QWidget *_this)
FloatModelmodel ()
const FloatModelmodel () const
Public Member Functions inherited from lmms::gui::AutomatableModelView
 AutomatableModelView (Model *model, QWidget *_this)
 ~AutomatableModelView () override=default
AutomatableModelmodelUntyped ()
const AutomatableModelmodelUntyped () const
void setModel (Model *model, bool isOldModelValid=true) override
void unsetModel () override
template<typename T>
value () const
void setDescription (const QString &desc)
void setUnit (const QString &unit)
void addDefaultActions (QMenu *menu)
void setConversionFactor (float factor)
float getConversionFactor ()
Public Member Functions inherited from lmms::gui::ModelView
 ModelView (Model *model, QWidget *widget)
virtual ~ModelView ()
Modelmodel ()
const Modelmodel () const
template<class T>
T * castModel ()
template<class T>
const T * castModel () const

Protected Slots

void handleMovement ()

Protected Member Functions

void paintEvent (QPaintEvent *event) override
void mouseMoveEvent (QMouseEvent *me) override
Protected Member Functions inherited from lmms::gui::FloatModelEditorBase
void contextMenuEvent (QContextMenuEvent *me) override
void dragEnterEvent (QDragEnterEvent *dee) override
void dropEvent (QDropEvent *de) override
void focusOutEvent (QFocusEvent *fe) override
void mousePressEvent (QMouseEvent *me) override
void mouseReleaseEvent (QMouseEvent *me) override
void mouseMoveEvent (QMouseEvent *me) override
void mouseDoubleClickEvent (QMouseEvent *me) override
void paintEvent (QPaintEvent *me) override
void wheelEvent (QWheelEvent *me) override
void enterEvent (QEnterEvent *) override
void leaveEvent (QEvent *event) override
virtual float getValue (const QPoint &p)
virtual QString displayValue () const
void doConnections () override
void showTextFloat (int msecBeforeDisplay, int msecDisplayTime)
void setPosition (const QPoint &p)
float pageSize () const
Protected Member Functions inherited from lmms::gui::ModelView
virtual void modelChanged ()
QWidget * widget ()

Private Attributes

QPixmap m_pixmap
QPixmap m_defaultValPixmap
float m_pointA
float m_pointB
float m_defaultValue
bool m_hasDefaultValPixmap

Additional Inherited Members

Signals inherited from lmms::gui::FloatModelEditorBase
void sliderPressed ()
void sliderReleased ()
void sliderMoved (float value)
Protected Attributes inherited from lmms::gui::FloatModelEditorBase
bool m_volumeKnob
FloatModel m_volumeRatio
QPoint m_lastMousePos
 mouse position in last mouseMoveEvent
float m_leftOver
bool m_buttonPressed
DirectionOfManipulation m_directionOfManipulation
Protected Attributes inherited from lmms::gui::AutomatableModelView
QString m_description
QString m_unit
float m_conversionFactor
Static Protected Attributes inherited from lmms::gui::FloatModelEditorBase
static SimpleTextFloats_textFloat = nullptr

Detailed Description

A pixmap that can be dragged from one location to another to control a FloatModel.

Member Enumeration Documentation

◆ DirectionOfManipulation

Constructor & Destructor Documentation

◆ Draggable()

lmms::gui::Draggable::Draggable ( DirectionOfManipulation directionOfManipulation,
FloatModel * floatModel,
const QPixmap & pixmap,
int pointA,
int pointB,
QWidget * parent = nullptr )
Parameters
directionOfManipulationDirection the user can drag the control
floatModelPointer to the FloatModel this draggable modifies
pixmapThe pixmap shown for this handle
pointAStarting pixel position (Y if vertical, X if horizontal)
pointBEnding pixel position (Y if vertical, X if horizontal)
parentParent QWidget

Member Function Documentation

◆ handleMovement

void lmms::gui::Draggable::handleMovement ( )
protectedslot

◆ mouseMoveEvent()

void lmms::gui::Draggable::mouseMoveEvent ( QMouseEvent * me)
overrideprotected

◆ paintEvent()

void lmms::gui::Draggable::paintEvent ( QPaintEvent * event)
overrideprotected

◆ setDefaultValPixmap()

void lmms::gui::Draggable::setDefaultValPixmap ( const QPixmap & pixmap,
float value = 0.f )

◆ setPixmap()

void lmms::gui::Draggable::setPixmap ( const QPixmap & pixmap)

◆ sizeHint()

QSize lmms::gui::Draggable::sizeHint ( ) const
override

Member Data Documentation

◆ m_defaultValPixmap

QPixmap lmms::gui::Draggable::m_defaultValPixmap
private

◆ m_defaultValue

float lmms::gui::Draggable::m_defaultValue
private

◆ m_hasDefaultValPixmap

bool lmms::gui::Draggable::m_hasDefaultValPixmap
private

◆ m_pixmap

QPixmap lmms::gui::Draggable::m_pixmap
private

◆ m_pointA

float lmms::gui::Draggable::m_pointA
private

◆ m_pointB

float lmms::gui::Draggable::m_pointB
private

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