Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ set(VIEW_FILES
src/view/src/rocprofvis_trace_view.cpp
src/view/src/rocprofvis_line_track_item.cpp
src/view/src/rocprofvis_timeline_view.cpp
src/view/src/rocprofvis_sidebar.cpp
src/view/src/rocprofvis_sidebar.cpp
src/view/src/rocprofvis_new_sidebar.cpp
src/view/src/rocprofvis_view_module.cpp
src/view/src/rocprofvis_data_provider.cpp
src/view/src/rocprofvis_root_view.cpp
Expand Down
42 changes: 42 additions & 0 deletions src/view/src/rocprofvis_new_sidebar.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// Copyright Advanced Micro Devices, Inc.
// SPDX-License-Identifier: MIT

#pragma once
#include "rocprofvis_new_sidebar.h"
#include "rocprofvis_track_topology.h"
#include "widgets/rocprofvis_widget.h"
#include "rocprofvis_settings_manager.h"


#include <optional>
#include <vector>

namespace RocProfVis
{
namespace View
{

NewSideBar::NewSideBar(std::shared_ptr<TrackTopology> topology,
std::shared_ptr<TimelineSelection> timeline_selection,
std::shared_ptr<std::vector<TrackGraph>> graphs,
DataProvider& dp)
: m_settings(SettingsManager::GetInstance())
, m_track_topology(topology)
, m_timeline_selection(timeline_selection)
, m_graphs(graphs)
, m_data_provider(dp)
{}

NewSideBar::~NewSideBar() {}

void
NewSideBar::Render()
{}

void
NewSideBar::Update()
{}


} // namespace View
} // namespace RocProfVis
96 changes: 96 additions & 0 deletions src/view/src/rocprofvis_new_sidebar.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
// Copyright Advanced Micro Devices, Inc.
// SPDX-License-Identifier: MIT

#pragma once
#include "rocprofvis_track_topology.h"
#include "widgets/rocprofvis_widget.h"
#include "icons/rocprovfis_icon_defines.h"

#include <optional>
#include <vector>

namespace RocProfVis
{
namespace View
{

class SettingsManager;
class TrackTopology;
class TimelineSelection;
class DataProvider;

class SideBarButton
{
public:
SideBarButton(const char* pressed_icon, const char* unpressed_icon)
: m_pressed_icon(pressed_icon)
, m_unpressed_icon(unpressed_icon)
{};
~SideBarButton() = default;
void Draw() ;
private:
const char* m_pressed_icon;
const char* m_unpressed_icon;
bool m_is_button_pressed;
};

class SidebarNode
{
public:
SidebarNode()
: m_eye_button(ICON_EYE_SLASH, ICON_EYE)
{};
virtual ~SidebarNode() = default;
virtual void Draw() = 0;

private:
virtual void DrawButton() = 0;
virtual void DrawHeader() = 0;
SideBarButton m_eye_button;
};

class CommonNode : public SidebarNode
{
public:
CommonNode() = default;
virtual ~CommonNode() = default;

void Draw() override;

private:
SideBarButton m_collapce_button;
};

class LeafNode : public SidebarNode
{
public:
LeafNode() = default;
virtual ~LeafNode() = default;

void Draw() override;

private:
};


class NewSideBar : public RocWidget
{
public:
NewSideBar(std::shared_ptr<TrackTopology> topology,
std::shared_ptr<TimelineSelection> timeline_selection,
std::shared_ptr<std::vector<TrackGraph>> graphs, DataProvider& dp);
~NewSideBar();
virtual void Render() override;
virtual void Update() override;

private:

SettingsManager& m_settings;
std::shared_ptr<TrackTopology> m_track_topology;
std::shared_ptr<TimelineSelection> m_timeline_selection;
std::shared_ptr<std::vector<TrackGraph>> m_graphs;
DataProvider& m_data_provider;
};

} // namespace View
} // namespace RocProfVis
2 changes: 1 addition & 1 deletion src/view/src/rocprofvis_track_topology.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ TrackTopology::GetTopology() const
}

void
TrackTopology::UpdateTopology()
TrackTopology::UpdateTopology() //TODO: Fill my new provider class here
{
if(m_topology_dirty && m_data_provider.GetState() == ProviderState::kReady)
{
Expand Down