64 lines
1.3 KiB
C
64 lines
1.3 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "DataPanel.h"
|
||
|
|
#include "workspace/FileEntry.h"
|
||
|
|
#include <memory>
|
||
|
|
|
||
|
|
class LightPanel : public DataPanel
|
||
|
|
{
|
||
|
|
Q_OBJECT
|
||
|
|
|
||
|
|
public:
|
||
|
|
/**
|
||
|
|
* @brief Constructor
|
||
|
|
* @param index Panel index
|
||
|
|
* @param filePath Associated file path
|
||
|
|
* @param parent Parent widget
|
||
|
|
*/
|
||
|
|
explicit LightPanel(int index, const QString& filePath, QWidget* parent = nullptr);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Constructor with chart data
|
||
|
|
* @param index Panel index
|
||
|
|
* @param chartData Chart data containing curve information
|
||
|
|
* @param parent Parent widget
|
||
|
|
*/
|
||
|
|
explicit LightPanel(int index, std::shared_ptr<FileEntryLight> fileEntry, QWidget* parent = nullptr);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Destructor
|
||
|
|
*/
|
||
|
|
virtual ~LightPanel();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Get file type
|
||
|
|
* @return File type (always Curve for this class)
|
||
|
|
*/
|
||
|
|
FileEntryType GetFileType() const override { return FileEntryType::Light; }
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Refresh panel content
|
||
|
|
*/
|
||
|
|
void RefreshPanel() override;
|
||
|
|
|
||
|
|
protected:
|
||
|
|
/**
|
||
|
|
* @brief Initialize UI for curve-specific layout
|
||
|
|
*/
|
||
|
|
virtual void InitUI();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @brief Get type display name
|
||
|
|
* @return Display name for curve type
|
||
|
|
*/
|
||
|
|
QString GetTypeDisplayName() const override;
|
||
|
|
|
||
|
|
void OnDataPanelUpdated(FileEntryLight* fileEntry);
|
||
|
|
|
||
|
|
virtual void OnTimeChanged(double time);
|
||
|
|
|
||
|
|
private:
|
||
|
|
void updateTitle(const QString& title);
|
||
|
|
};
|
||
|
|
|