21 #ifndef PULSEVIEW_PV_VIEW_VIEW_HPP
22 #define PULSEVIEW_PV_VIEW_VIEW_HPP
29 #include <unordered_map>
32 #include <QAbstractScrollArea>
101 std::vector< std::shared_ptr<TimeItem> >
time_items()
const;
106 double scale()
const;
147 unsigned int depth()
const;
149 void zoom(
double steps);
163 std::set< std::shared_ptr<pv::data::SignalData> >
166 std::pair<pv::util::Timestamp, pv::util::Timestamp>
get_time_extents()
const;
198 std::shared_ptr<CursorPair>
cursors()
const;
213 std::vector< std::shared_ptr<Flag> >
flags()
const;
278 void paint_label(QPainter &p,
const QRect &rect,
bool hover);
288 const std::shared_ptr<sigrok::ChannelGroup> &group,
289 const std::unordered_map<std::shared_ptr<sigrok::Channel>,
290 std::shared_ptr<Signal> > &signal_map);
292 static std::vector< std::shared_ptr<Trace> >
294 const std::vector< std::shared_ptr<sigrok::Channel> > &channels,
295 const std::unordered_map<std::shared_ptr<sigrok::Channel>,
296 std::shared_ptr<Signal> > &signal_map,
297 std::set< std::shared_ptr<Trace> > &add_list);
390 std::list< std::shared_ptr<Flag> >
flags_;
404 #endif // PULSEVIEW_PV_VIEW_VIEW_HPP
std::shared_ptr< CursorPair > cursors() const
void determine_time_unit()
void set_tick_period(const pv::util::Timestamp &tick_period)
QRectF label_rect(const QRectF &rect)
int owner_visual_v_offset() const
void restack_all_trace_tree_items()
static const pv::util::Timestamp MaxScale
pv::util::SIPrefix tick_prefix() const
void paint_label(QPainter &p, const QRect &rect, bool hover)
double scale_
The view time scale in seconds per pixel.
std::list< std::shared_ptr< Flag > > flags_
void set_scale_offset(double scale, const pv::util::Timestamp &offset)
pv::util::Timestamp offset_
The view time offset in seconds.
static const int ScaleUnits[3]
std::vector< std::shared_ptr< Flag > > flags() const
void v_scroll_value_changed()
void row_item_appearance_changed(bool label, bool content)
void set_scale(double scale)
TraceTreeItemOwner * find_prevalent_trace_group(const std::shared_ptr< sigrok::ChannelGroup > &group, const std::unordered_map< std::shared_ptr< sigrok::Channel >, std::shared_ptr< Signal > > &signal_map)
void set_zoom(double scale, int offset)
unsigned int tick_precision() const
void time_item_appearance_changed(bool label, bool content)
void process_sticky_events()
static const pv::util::Timestamp MinScale
void extents_changed(bool horz, bool vert)
void on_hover_point_changed()
void calculate_tick_spacing()
bool viewportEvent(QEvent *e)
static const int MaxScrollValue
unsigned int tick_precision_
bool eventFilter(QObject *object, QEvent *event)
void tick_prefix_changed()
Emitted when the tick_prefix changed.
void perform_delayed_view_update()
void trigger_event(util::Timestamp location)
void set_tick_precision(unsigned tick_precision)
QTimer lazy_event_handler_
void get_scroll_layout(double &length, pv::util::Timestamp &offset) const
util::TimeUnit time_unit() const
void time_unit_changed()
Emitted when the time_unit changed.
const QPoint & hover_point() const
static std::vector< std::shared_ptr< Trace > > extract_new_traces_for_channels(const std::vector< std::shared_ptr< sigrok::Channel > > &channels, const std::unordered_map< std::shared_ptr< sigrok::Channel >, std::shared_ptr< Signal > > &signal_map, std::set< std::shared_ptr< Trace > > &add_list)
void scale_changed()
Emitted when the scale changed.
void set_time_unit(pv::util::TimeUnit time_unit)
bool cursors_shown() const
void tick_precision_changed()
Emitted when the tick_precision changed.
std::pair< pv::util::Timestamp, pv::util::Timestamp > get_time_extents() const
std::vector< std::shared_ptr< TriggerMarker > > trigger_markers_
void set_tick_prefix(pv::util::SIPrefix tick_prefix)
void set_v_offset(int offset)
std::shared_ptr< CursorPair > cursors_
void show_cursors(bool show=true)
void zoom_fit(bool gui_state)
std::vector< std::shared_ptr< TimeItem > > time_items() const
void offset_changed()
Emitted when the offset changed.
void enable_sticky_scrolling(bool state)
void sticky_scrolling_changed(bool state)
void resizeEvent(QResizeEvent *e)
virtual pv::view::View * view()
void set_offset(const pv::util::Timestamp &offset)
util::TimeUnit time_unit_
unsigned int sticky_events_
pv::util::SIPrefix tick_prefix_
unsigned int depth() const
void enable_coloured_bg(bool state)
const pv::util::Timestamp & offset() const
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 24 >, boost::multiprecision::et_off > Timestamp
Timestamp type providing yoctosecond resolution.
const pv::util::Timestamp & tick_period() const
void capture_state_updated(int state)
void add_flag(const pv::util::Timestamp &time)
std::set< std::shared_ptr< pv::data::SignalData > > get_visible_data() const
void hover_point_changed()
View(Session &session, QWidget *parent=0)
void h_scroll_value_changed(int value)
void remove_flag(std::shared_ptr< Flag > flag)
pv::util::Timestamp tick_period_
static const int MaxViewAutoUpdateRate
QTimer delayed_view_updater_
void tick_period_changed()
Emitted when the tick_period changed.
void always_zoom_to_fit_changed(bool state)