PulseView  0.3.0
A Qt-based sigrok GUI
pv::view::AnalogSignal Class Reference

#include <analogsignal.hpp>

Inheritance diagram for pv::view::AnalogSignal:
Collaboration diagram for pv::view::AnalogSignal:

Public Member Functions

 AnalogSignal (pv::Session &session, std::shared_ptr< sigrok::Channel > channel, std::shared_ptr< pv::data::Analog > data)
 
virtual ~AnalogSignal ()
 
std::shared_ptr< pv::data::SignalDatadata () const
 
std::shared_ptr< pv::data::Analoganalog_data () const
 
std::pair< int, int > v_extents () const
 
int scale_handle_offset () const
 
void scale_handle_dragged (int offset)
 
void scale_handle_drag_release ()
 
void paint_back (QPainter &p, const ViewItemPaintParams &pp)
 
void paint_mid (QPainter &p, const ViewItemPaintParams &pp)
 
- Public Member Functions inherited from pv::view::Signal
void set_name (QString name)
 
bool enabled () const
 
void enable (bool enable=true)
 
std::shared_ptr< sigrok::Channel > channel () const
 
const item_listchild_items () const
 
void paint_back (QPainter &p, const ViewItemPaintParams &pp)
 
virtual void populate_popup_form (QWidget *parent, QFormLayout *form)
 
QMenu * create_context_menu (QWidget *parent)
 
void delete_pressed ()
 
virtual void scale_handle_released ()
 
- Public Member Functions inherited from pv::view::Trace
QString name () const
 
QColor colour () const
 
void set_colour (QColor colour)
 
void set_coloured_bg (bool state)
 
virtual void paint_label (QPainter &p, const QRect &rect, bool hover)
 
pv::widgets::Popupcreate_popup (QWidget *parent)
 
QRectF label_rect (const QRectF &rect) const
 
- Public Member Functions inherited from pv::view::TraceTreeItem
 TraceTreeItem ()
 
TraceTreeItemOwnerowner () const
 
void select (bool select=true)
 
int layout_v_offset () const
 
void set_layout_v_offset (int v_offset)
 
int visual_v_offset () const
 
void set_visual_v_offset (int v_offset)
 
void force_to_v_offset (int v_offset)
 
void animate_to_layout_v_offset ()
 
void set_owner (pv::view::TraceTreeItemOwner *owner)
 
int get_visual_y () const
 
void drag_by (const QPoint &delta)
 
QPoint point (const QRect &rect) const
 
void set_bgcolour_state (bool state)
 
- Public Member Functions inherited from pv::view::RowItem
virtual void hover_point_changed ()
 
- Public Member Functions inherited from pv::view::ViewItem
 ViewItem ()
 
bool selected () const
 
virtual bool is_draggable () const
 
bool dragging () const
 
void drag ()
 
virtual void drag_release ()
 
virtual QRectF hit_box_rect (const ViewItemPaintParams &pp) const
 
virtual void paint_fore (QPainter &p, const ViewItemPaintParams &pp)
 
- Public Member Functions inherited from pv::view::ViewItemOwner
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
template<class T >
std::vector< std::shared_ptr< T > > list_by_type ()
 

Private Member Functions

void paint_trace (QPainter &p, const std::shared_ptr< pv::data::AnalogSegment > &segment, int y, int left, const int64_t start, const int64_t end, const double pixels_offset, const double samples_per_pixel)
 
void paint_envelope (QPainter &p, const std::shared_ptr< pv::data::AnalogSegment > &segment, int y, int left, const int64_t start, const int64_t end, const double pixels_offset, const double samples_per_pixel)
 
float scale () const
 

Private Attributes

std::shared_ptr< pv::data::Analogdata_
 
int scale_index_
 
int scale_index_drag_offset_
 

Static Private Attributes

static const int NominalHeight = 80
 
static const QColor SignalColours [4]
 
static const float EnvelopeThreshold = 256.0f
 

Additional Inherited Members

- Public Types inherited from pv::view::ViewItemOwner
typedef std::vector< std::shared_ptr< ViewItem > > item_list
 
typedef ViewItemIterator< ViewItemOwner, ViewItemiterator
 
typedef ViewItemIterator< const ViewItemOwner, ViewItemconst_iterator
 
- Static Public Member Functions inherited from pv::view::ViewItem
static QColor select_text_colour (QColor background)
 
- Static Public Attributes inherited from pv::view::ViewItem
static const QSizeF LabelPadding
 
static const int HighlightRadius = 3
 
- Protected Member Functions inherited from pv::view::Signal
 Signal (pv::Session &session, std::shared_ptr< sigrok::Channel > channel)
 
- Protected Member Functions inherited from pv::view::Trace
 Trace (QString name)
 
void paint_axis (QPainter &p, const ViewItemPaintParams &pp, int y)
 
void add_colour_option (QWidget *parent, QFormLayout *form)
 
void create_popup_form ()
 
- Static Protected Member Functions inherited from pv::view::ViewItem
static QPen highlight_pen ()
 
- Protected Attributes inherited from pv::view::Signal
pv::Sessionsession_
 
std::shared_ptr< sigrok::Channel > channel_
 
const std::shared_ptr< SignalScaleHandlescale_handle_
 
const item_list items_
 
QComboBox * name_widget_
 
- Protected Attributes inherited from pv::view::Trace
QString name_
 
QColor colour_
 
QColor bgcolour_
 
bool coloured_bg_
 
bool coloured_bg_state_
 
- Protected Attributes inherited from pv::view::TraceTreeItem
TraceTreeItemOwnerowner_
 
int layout_v_offset_
 
int visual_v_offset_
 
bool bgcolour_state_
 
- Protected Attributes inherited from pv::view::ViewItem
QWidget * context_parent_
 
QPoint drag_point_
 
- Protected Attributes inherited from pv::view::ViewItemOwner
item_list items_
 
- Properties inherited from pv::view::TraceTreeItem
int visual_v_offset
 

Detailed Description

Definition at line 37 of file analogsignal.hpp.

Constructor & Destructor Documentation

pv::view::AnalogSignal::AnalogSignal ( pv::Session session,
std::shared_ptr< sigrok::Channel >  channel,
std::shared_ptr< pv::data::Analog data 
)

Definition at line 57 of file analogsignal.cpp.

Here is the call graph for this function:

pv::view::AnalogSignal::~AnalogSignal ( )
virtual

Definition at line 69 of file analogsignal.cpp.

Member Function Documentation

shared_ptr< pv::data::Analog > pv::view::AnalogSignal::analog_data ( ) const

Definition at line 78 of file analogsignal.cpp.

shared_ptr< pv::data::SignalData > pv::view::AnalogSignal::data ( ) const
virtual

Implements pv::view::Signal.

Definition at line 73 of file analogsignal.cpp.

void pv::view::AnalogSignal::paint_back ( QPainter &  p,
const ViewItemPaintParams pp 
)
virtual

Paints the background layer of the signal with a QPainter

Parameters
pthe QPainter to paint into.
ppthe painting parameters object to paint with..

Reimplemented from pv::view::Trace.

Definition at line 106 of file analogsignal.cpp.

Here is the call graph for this function:

void pv::view::AnalogSignal::paint_envelope ( QPainter &  p,
const std::shared_ptr< pv::data::AnalogSegment > &  segment,
int  y,
int  left,
const int64_t  start,
const int64_t  end,
const double  pixels_offset,
const double  samples_per_pixel 
)
private

Definition at line 184 of file analogsignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::view::AnalogSignal::paint_mid ( QPainter &  p,
const ViewItemPaintParams pp 
)
virtual

Paints the mid-layer of the signal with a QPainter

Parameters
pthe QPainter to paint into.
ppthe painting parameters object to paint with..

Reimplemented from pv::view::ViewItem.

Definition at line 114 of file analogsignal.cpp.

Here is the call graph for this function:

void pv::view::AnalogSignal::paint_trace ( QPainter &  p,
const std::shared_ptr< pv::data::AnalogSegment > &  segment,
int  y,
int  left,
const int64_t  start,
const int64_t  end,
const double  pixels_offset,
const double  samples_per_pixel 
)
private

Definition at line 155 of file analogsignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

float pv::view::AnalogSignal::scale ( ) const
private

Computes the scale factor from the scale index.

Definition at line 231 of file analogsignal.cpp.

Here is the caller graph for this function:

void pv::view::AnalogSignal::scale_handle_drag_release ( )

Definition at line 101 of file analogsignal.cpp.

void pv::view::AnalogSignal::scale_handle_dragged ( int  offset)
virtual

Handles the scale handle being dragged to an offset.

Parameters
offsetthe offset the scale handle was dragged to.

Implements pv::view::Signal.

Definition at line 95 of file analogsignal.cpp.

int pv::view::AnalogSignal::scale_handle_offset ( ) const
virtual

Returns the offset to show the drag handle.

Implements pv::view::Signal.

Definition at line 89 of file analogsignal.cpp.

std::pair< int, int > pv::view::AnalogSignal::v_extents ( ) const
virtual

Computes the vertical extents of the contents of this row item.

Returns
A pair containing the minimum and maximum y-values.

Implements pv::view::TraceTreeItem.

Definition at line 83 of file analogsignal.cpp.

Member Data Documentation

std::shared_ptr<pv::data::Analog> pv::view::AnalogSignal::data_
private

Definition at line 109 of file analogsignal.hpp.

const float pv::view::AnalogSignal::EnvelopeThreshold = 256.0f
staticprivate

Definition at line 43 of file analogsignal.hpp.

const int pv::view::AnalogSignal::NominalHeight = 80
staticprivate

Definition at line 40 of file analogsignal.hpp.

int pv::view::AnalogSignal::scale_index_
private

Definition at line 111 of file analogsignal.hpp.

int pv::view::AnalogSignal::scale_index_drag_offset_
private

Definition at line 112 of file analogsignal.hpp.

const QColor pv::view::AnalogSignal::SignalColours
staticprivate
Initial value:
= {
QColor(0xC4, 0xA0, 0x00),
QColor(0x87, 0x20, 0x7A),
QColor(0x20, 0x4A, 0x87),
QColor(0x4E, 0x9A, 0x06)
}

Definition at line 41 of file analogsignal.hpp.


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