* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PULSEVIEW_PV_VIEW_FLAG_H
-#define PULSEVIEW_PV_VIEW_FLAG_H
+#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_FLAG_HPP
+#define PULSEVIEW_PV_VIEWS_TRACEVIEW_FLAG_HPP
+
+#include <memory>
#include "timemarker.hpp"
+class QMenu;
+
namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
-class Flag : public TimeMarker
+class Flag : public TimeMarker,
+ public std::enable_shared_from_this<Flag>
{
Q_OBJECT
* @param time The time to set the flag to.
* @param text The text of the marker.
*/
- Flag(View &view, double time, const QString &text);
+ Flag(View &view, const pv::util::Timestamp& time, const QString &text);
/**
* Copy constructor.
pv::widgets::Popup* create_popup(QWidget *parent);
+ QMenu* create_context_menu(QWidget *parent);
+
+ void delete_pressed();
+
private Q_SLOTS:
+ void on_delete();
+
void on_text_changed(const QString &text);
private:
QString text_;
};
-} // namespace view
+} // namespace TraceView
+} // namespace views
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_FLAG_H
+#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_FLAG_HPP