KSeExpr  4.0.4.0
Public Slots | Signals | Public Member Functions | Public Attributes | Private Types | Private Attributes | Friends | List of all members
CurveScene Class Reference

#include <ExprCurve.h>

Inheritance diagram for CurveScene:

Public Slots

void interpChanged (int interp)
 
void selPosChanged (double pos)
 
void selValChanged (double val)
 
void resize (int width, int height)
 

Signals

void cvSelected (double x, double y, T_INTERP interp)
 
void curveChanged ()
 

Public Member Functions

 CurveScene ()
 
 ~CurveScene () override
 
void addPoint (double x, double y, T_INTERP interp, bool select=true)
 
void removePoint (int index)
 
void removeAll ()
 
void keyPressEvent (QKeyEvent *event) override
 
void mouseMoveEvent (QGraphicsSceneMouseEvent *mouseEvent) override
 
void mousePressEvent (QGraphicsSceneMouseEvent *mouseEvent) override
 
void mouseReleaseEvent (QGraphicsSceneMouseEvent *mouseEvent) override
 
void contextMenuEvent (QGraphicsSceneContextMenuEvent *event) override
 
void drawRect ()
 
void drawPoly ()
 
void drawPoints ()
 
void emitCurveChanged ()
 
void rebuildCurve ()
 

Public Attributes

std::vector< T_CURVE::CV_cvs
 

Private Types

using T_CURVE = KSeExpr::Curve< double >
 
using T_INTERP = T_CURVE::InterpType
 

Private Attributes

T_CURVE_curve
 
int _width
 
int _height
 
T_INTERP _interp
 
std::vector< QGraphicsEllipseItem * > _circleObjects
 
int _selectedItem
 
QGraphicsPolygonItem * _curvePoly {nullptr}
 
QGraphicsRectItem * _baseRect {nullptr}
 
bool _lmb
 

Friends

class ExprCurve
 

Detailed Description

Definition at line 47 of file ExprCurve.h.

Member Typedef Documentation

◆ T_CURVE

using CurveScene::T_CURVE = KSeExpr::Curve<double>
private

Definition at line 50 of file ExprCurve.h.

◆ T_INTERP

Definition at line 51 of file ExprCurve.h.

Constructor & Destructor Documentation

◆ CurveScene()

CurveScene::CurveScene ( )

Definition at line 39 of file ExprCurve.cpp.

References _height, _width, rebuildCurve(), and resize().

◆ ~CurveScene()

CurveScene::~CurveScene ( )
override

Definition at line 51 of file ExprCurve.cpp.

References _curve.

Member Function Documentation

◆ addPoint()

void CurveScene::addPoint ( double  x,
double  y,
T_INTERP  interp,
bool  select = true 
)

◆ contextMenuEvent()

void CurveScene::contextMenuEvent ( QGraphicsSceneContextMenuEvent *  event)
override

Definition at line 149 of file ExprCurve.cpp.

References _selectedItem, and removePoint().

◆ curveChanged

void CurveScene::curveChanged ( )
signal

Referenced by emitCurveChanged().

◆ cvSelected

void CurveScene::cvSelected ( double  x,
double  y,
T_INTERP  interp 
)
signal

Referenced by mouseMoveEvent(), and mousePressEvent().

◆ drawPoints()

void CurveScene::drawPoints ( )

◆ drawPoly()

void CurveScene::drawPoly ( )

◆ drawRect()

void CurveScene::drawRect ( )

Definition at line 230 of file ExprCurve.cpp.

References _baseRect, _height, and _width.

Referenced by resize().

◆ emitCurveChanged()

void CurveScene::emitCurveChanged ( )

◆ interpChanged

void CurveScene::interpChanged ( int  interp)
slot

Definition at line 186 of file ExprCurve.cpp.

References _cvs, _interp, _selectedItem, drawPoly(), emitCurveChanged(), and rebuildCurve().

◆ keyPressEvent()

void CurveScene::keyPressEvent ( QKeyEvent *  event)
override

Definition at line 103 of file ExprCurve.cpp.

References _selectedItem, and removePoint().

◆ mouseMoveEvent()

void CurveScene::mouseMoveEvent ( QGraphicsSceneMouseEvent *  mouseEvent)
override

◆ mousePressEvent()

void CurveScene::mousePressEvent ( QGraphicsSceneMouseEvent *  mouseEvent)
override

◆ mouseReleaseEvent()

void CurveScene::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  mouseEvent)
override

Definition at line 180 of file ExprCurve.cpp.

References _lmb.

◆ rebuildCurve()

void CurveScene::rebuildCurve ( )

◆ removeAll()

void CurveScene::removeAll ( )

Definition at line 29 of file ExprCurve.cpp.

References _cvs.

Referenced by ExprCurve::openDetail().

◆ removePoint()

void CurveScene::removePoint ( int  index)

Definition at line 92 of file ExprCurve.cpp.

References _cvs, _selectedItem, drawPoints(), drawPoly(), emitCurveChanged(), and rebuildCurve().

Referenced by contextMenuEvent(), and keyPressEvent().

◆ resize

void CurveScene::resize ( int  width,
int  height 
)
slot

Definition at line 56 of file ExprCurve.cpp.

References _height, _width, drawPoints(), drawPoly(), and drawRect().

Referenced by CurveScene().

◆ selPosChanged

void CurveScene::selPosChanged ( double  pos)
slot

◆ selValChanged

void CurveScene::selValChanged ( double  val)
slot

Friends And Related Function Documentation

◆ ExprCurve

friend class ExprCurve
friend

Definition at line 80 of file ExprCurve.h.

Member Data Documentation

◆ _baseRect

QGraphicsRectItem* CurveScene::_baseRect {nullptr}
private

Definition at line 102 of file ExprCurve.h.

Referenced by drawRect().

◆ _circleObjects

std::vector<QGraphicsEllipseItem *> CurveScene::_circleObjects
private

Definition at line 99 of file ExprCurve.h.

Referenced by drawPoints(), and mousePressEvent().

◆ _curve

T_CURVE* CurveScene::_curve
private

Definition at line 83 of file ExprCurve.h.

Referenced by drawPoly(), mousePressEvent(), rebuildCurve(), and ~CurveScene().

◆ _curvePoly

QGraphicsPolygonItem* CurveScene::_curvePoly {nullptr}
private

Definition at line 101 of file ExprCurve.h.

Referenced by drawPoly().

◆ _cvs

std::vector<T_CURVE::CV> CurveScene::_cvs

◆ _height

int CurveScene::_height
private

◆ _interp

T_INTERP CurveScene::_interp
private

Definition at line 98 of file ExprCurve.h.

Referenced by interpChanged(), mouseMoveEvent(), and mousePressEvent().

◆ _lmb

bool CurveScene::_lmb
private

Definition at line 103 of file ExprCurve.h.

Referenced by mouseMoveEvent(), mousePressEvent(), and mouseReleaseEvent().

◆ _selectedItem

int CurveScene::_selectedItem
private

◆ _width

int CurveScene::_width
private

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