projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use a type with a greater resolution to represent time values
[pulseview.git]
/
pv
/
view
/
view.hpp
diff --git
a/pv/view/view.hpp
b/pv/view/view.hpp
index 2c81e74782cbbac3d3948aec2c9ca963d90632ae..12527b656d80943f2abb8d69039d33729d45adc0 100644
(file)
--- a/
pv/view/view.hpp
+++ b/
pv/view/view.hpp
@@
-34,6
+34,7
@@
#include <QTimer>
#include <pv/data/signaldata.hpp>
#include <QTimer>
#include <pv/data/signaldata.hpp>
+#include <pv/util.hpp>
#include "cursorpair.hpp"
#include "flag.hpp"
#include "cursorpair.hpp"
#include "flag.hpp"
@@
-65,8
+66,8
@@
private:
};
private:
};
private:
- static const
double
MaxScale;
- static const
double
MinScale;
+ static const
pv::util::Timestamp
MaxScale;
+ static const
pv::util::Timestamp
MinScale;
static const int MaxScrollValue;
static const int MaxViewAutoUpdateRate;
static const int MaxScrollValue;
static const int MaxViewAutoUpdateRate;
@@
-107,7
+108,7
@@
public:
* Returns the time offset of the left edge of the view in
* seconds.
*/
* Returns the time offset of the left edge of the view in
* seconds.
*/
-
double
offset() const;
+
const pv::util::Timestamp&
offset() const;
/**
* Returns the vertical scroll offset.
/**
* Returns the vertical scroll offset.
@@
-124,11
+125,21
@@
public:
*/
unsigned int tick_prefix() const;
*/
unsigned int tick_prefix() const;
+ /**
+ * Returns the number of fractional digits shown for the time markings.
+ */
+ unsigned int tick_precision() const;
+
/**
* Returns period of the graticule time markings.
*/
double tick_period() const;
/**
* Returns period of the graticule time markings.
*/
double tick_period() const;
+ /**
+ * Returns the unit of time currently used.
+ */
+ util::TimeUnit time_unit() const;
+
/**
* Returns the number of nested parents that this row item owner has.
*/
/**
* Returns the number of nested parents that this row item owner has.
*/
@@
-146,12
+157,12
@@
public:
* @param scale The new view scale in seconds per pixel.
* @param offset The view time offset in seconds.
*/
* @param scale The new view scale in seconds per pixel.
* @param offset The view time offset in seconds.
*/
- void set_scale_offset(double scale,
double
offset);
+ void set_scale_offset(double scale,
const pv::util::Timestamp&
offset);
std::set< std::shared_ptr<pv::data::SignalData> >
get_visible_data() const;
std::set< std::shared_ptr<pv::data::SignalData> >
get_visible_data() const;
- std::pair<
double, double
> get_time_extents() const;
+ std::pair<
pv::util::Timestamp, pv::util::Timestamp
> get_time_extents() const;
/**
* Enables or disables sticky scrolling, i.e. the view always shows
/**
* Enables or disables sticky scrolling, i.e. the view always shows
@@
-182,7
+193,7
@@
public:
/**
* Adds a new flag at a specified time.
*/
/**
* Adds a new flag at a specified time.
*/
- void add_flag(
double
time);
+ void add_flag(
const pv::util::Timestamp&
time);
/**
* Removes a flag from the list.
/**
* Removes a flag from the list.
@@
-212,7
+223,7
@@
Q_SIGNALS:
void always_zoom_to_fit_changed(bool state);
private:
void always_zoom_to_fit_changed(bool state);
private:
- void get_scroll_layout(double &length,
double
&offset) const;
+ void get_scroll_layout(double &length,
pv::util::Timestamp
&offset) const;
/**
* Simultaneously sets the zoom and offset.
/**
* Simultaneously sets the zoom and offset.
@@
-259,6
+270,8
@@
private:
std::shared_ptr<Signal> > &signal_map,
std::set< std::shared_ptr<Trace> > &add_list);
std::shared_ptr<Signal> > &signal_map,
std::set< std::shared_ptr<Trace> > &add_list);
+ void determine_time_unit();
+
private:
bool eventFilter(QObject *object, QEvent *event);
private:
bool eventFilter(QObject *object, QEvent *event);
@@
-278,6
+291,7
@@
private Q_SLOTS:
void v_scroll_value_changed();
void signals_changed();
void v_scroll_value_changed();
void signals_changed();
+ void capture_state_updated(int state);
void data_updated();
void perform_delayed_view_update();
void data_updated();
void perform_delayed_view_update();
@@
-297,7
+311,7
@@
private:
double scale_;
/// The view time offset in seconds.
double scale_;
/// The view time offset in seconds.
-
double
offset_;
+
pv::util::Timestamp
offset_;
bool updating_scroll_;
bool sticky_scrolling_;
bool updating_scroll_;
bool sticky_scrolling_;
@@
-306,6
+320,8
@@
private:
double tick_period_;
unsigned int tick_prefix_;
double tick_period_;
unsigned int tick_prefix_;
+ unsigned int tick_precision_;
+ util::TimeUnit time_unit_;
bool show_cursors_;
std::shared_ptr<CursorPair> cursors_;
bool show_cursors_;
std::shared_ptr<CursorPair> cursors_;