#include <QToolButton>
#include "pv/globalsettings.hpp"
+#include "pv/metadata_obj.hpp"
#include "pv/views/viewbase.hpp"
#include "pv/data/decodesignal.hpp"
enum ViewModeType {
ViewModeAll,
ViewModeLatest,
-// ViewModeVisible,
- ViewModeCount // Indicates how many save types there are, must always be last
+ ViewModeVisible,
+ ViewModeCount // Indicates how many view mode types there are, must always be last
};
extern const char* SaveTypeNames[SaveTypeCount];
int columnCount(const QModelIndex& parent_idx = QModelIndex()) const override;
void set_signal_and_segment(data::DecodeSignal* signal, uint32_t current_segment);
+ void set_sample_range(uint64_t start_sample, uint64_t end_sample);
void set_hide_hidden(bool hide_hidden);
void update_annotations_without_hidden();
void on_setting_changed(const QString &key, const QVariant &value) override;
+private Q_SLOTS:
+ void on_annotation_visibility_changed();
+
private:
vector<QVariant> header_data_;
const deque<const Annotation*>* all_annotations_;
data::DecodeSignal* signal_;
uint32_t prev_segment_;
uint64_t prev_last_row_;
+ uint64_t start_sample_, end_sample_, start_index_, end_index_;
bool hide_hidden_;
bool theme_is_dark_;
};
};
-class View : public ViewBase
+class View : public ViewBase, public MetadataObjObserverInterface
{
Q_OBJECT
public:
explicit View(Session &session, bool is_main_view=false, QMainWindow *parent = nullptr);
+ ~View();
virtual ViewType get_type() const;
void on_table_header_requested(const QPoint& pos);
void on_table_header_toggled(bool checked);
+ virtual void on_metadata_object_changed(MetadataObject* obj,
+ MetadataValueType value_type);
+
virtual void perform_delayed_view_update();
private: