You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.6 KiB
100 lines
2.6 KiB
//------------------------------------------------------------------------------
|
|
//
|
|
// Project: Anonymizer
|
|
//
|
|
// Brno University of Technology
|
|
// Faculty of Information Technology
|
|
//
|
|
//------------------------------------------------------------------------------
|
|
//
|
|
// This project was financially supported by project VG20102015006 funds
|
|
// provided by Ministry of the Interior of the Czech republic.
|
|
//
|
|
//------------------------------------------------------------------------------
|
|
/*!
|
|
|
|
@file trajectoryitem.h
|
|
@brief Header file
|
|
@details Details
|
|
@authors Martin Borek (mborekcz@gmail.com)
|
|
@authors Filip Orsag (orsag@fit.vutbr.cz)
|
|
@date 2014-2015
|
|
@note This project was supported by MV CR project VG20102015006.
|
|
@copyright BUT OPEN SOURCE LICENCE (see License.txt)
|
|
|
|
*/
|
|
|
|
#ifndef TRAJECTORYITEM_H
|
|
#define TRAJECTORYITEM_H
|
|
|
|
#include <QWidget>
|
|
#include <QLabel>
|
|
#include <QHBoxLayout>
|
|
|
|
#include "timelabel.h"
|
|
#include "selection.h"
|
|
|
|
#include <stdint.h> // int64_t; needed for MSVC compiler
|
|
|
|
|
|
class TrajectoryItem : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/**
|
|
* Constructor
|
|
* @param timestamp Timestamp
|
|
* @param timePosition Time position
|
|
* @param totalTime Total video time
|
|
* @param frameNumber Fram number
|
|
* @param frameCount Number of frames in the video
|
|
* @param parent Parent widget
|
|
* @param displayTime True - display time. False - display frame number
|
|
*/
|
|
TrajectoryItem(int64_t timestamp, unsigned long timePosition, unsigned long totalTime, unsigned long frameNumber, unsigned long frameCount,
|
|
Selection position, QWidget *parent, bool displayTime=false);
|
|
|
|
/**
|
|
* Destructor
|
|
*/
|
|
~TrajectoryItem();
|
|
|
|
/**
|
|
* Returns timestamp.
|
|
* @return timestamp
|
|
*/
|
|
int64_t get_timestamp() const;
|
|
|
|
/**
|
|
* Displays values as time positions.
|
|
*/
|
|
void display_time();
|
|
|
|
/**
|
|
* Displays values as frame numbers.
|
|
*/
|
|
void display_frame_num();
|
|
|
|
protected:
|
|
/**
|
|
* Filters Enter and Leave events for item highlighting when hovering
|
|
* @param object Object of the event
|
|
* @param event Event
|
|
* @return False - propagate event further. True - do not propagate.
|
|
*/
|
|
bool eventFilter(QObject *object, QEvent *event);
|
|
|
|
private:
|
|
TimeLabel *timeLabel;
|
|
QLabel *type;
|
|
int64_t timestamp;
|
|
unsigned long timePosition;
|
|
unsigned long frameNumber;
|
|
bool isSet;
|
|
QVBoxLayout *vLayout;
|
|
const QString backgroundColorActive = "background-color: rgb(115, 171, 230);";
|
|
const QString backgroundColorInactive = "background-color: rgb(255, 255, 255);";
|
|
};
|
|
|
|
#endif // TRAJECTORYITEM_H
|