Skip to content

Commit

Permalink
[ISSUE #151][DIAGRAM_VIEW] Develop the diagram view
Browse files Browse the repository at this point in the history
1. [x] Have you followed the guidelines in our [Contributing document](../blob/master/CONTRIBUTING.md)?
2. [x] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change?
3. [x] Have you built the project, and performed manual testing of your functionality for all supported platforms - Linux and Windows?
4. [x] Is your change backward-compatible with the previous version of the plugin?

Change description:

- Implemented 'plot view' functionality with support of the linear,
point and gantt charts. Gantt charts not operable yet, while the
infrustructure is already prepared.
- Updated README.md
- Fixed bug with endless update of the 'grouped view'
- Fixed bug with short disconnection interrupting the continuous search
- Adapted github workflows

----

- Implementation of the 'plot view' was heavily tested on the Linux
- Fixes for bugs were verified to be functional

Signed-off-by: Vladyslav Goncharuk <vladyslav_goncharuk@epam.com>
  • Loading branch information
Vladyslav Goncharuk committed Nov 13, 2023
1 parent 51a4811 commit 53f7d48
Show file tree
Hide file tree
Showing 64 changed files with 6,518 additions and 1,958 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ There are the following schemas of deployment:

- Plugin supports integration with the PlantUML tool, which allows you to create sequence diagrams out of the logs

### [Plot view](./md/plot_view/plot_view.md)

- Plugin supports integration with the QCustomPlot library, which allows you to create plots out of the logs

### [Files view](./md/files_view/files_view.md)

- Extension, which lists the paths & names of all currently opened DLT files
Expand Down
24 changes: 24 additions & 0 deletions dltmessageanalyzerplugin/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,29 @@ function (DMA_QT_WRAP_UI ui_headers_var_name wrap_ui_var_name)
endfunction()
################### QT_SPECIFIC ( END ) ###################

################### QCUSTOMPLOT ###########################
# function - sync_qcustomplot
# Syncs QCustomPlot, implementation, which is used for
# the creation of plots
function (DMA_sync_q_custom_plot)
include(FetchContent)
FetchContent_Declare(
qcustomplot
GIT_REPOSITORY https://github.com/svlad-90/QCustomPlot-library
GIT_TAG 2.1.1.1
)

FetchContent_GetProperties(qcustomplot)
if(NOT qcustomplot_POPULATED)
FetchContent_Populate(qcustomplot)
add_subdirectory(${qcustomplot_SOURCE_DIR} ${qcustomplot_BINARY_DIR})
endif()

# include_directories(${qcustomplot_SOURCE_DIR}/DMA_Plantuml/include)
endfunction(DMA_sync_q_custom_plot)

################### QCUSTOMPLOT ( END ) ###################

################### COMMON_DEPS ###########################
include(FetchContent)
FetchContent_Declare(
Expand Down Expand Up @@ -60,6 +83,7 @@ add_definitions(-DDMA_FORCE_LINK_ON)
DMA_sync_g_test_framework()
DMA_sync_plantuml()
DMA_sync_framework()
DMA_sync_q_custom_plot()
################### DEPENDENCIES ( END )###################

################### COMPATIBILITY #########################
Expand Down
12 changes: 12 additions & 0 deletions dltmessageanalyzerplugin/src/common/BaseDefinitions.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/**
* @file BaseDefinitions.cpp
* @author vgoncharuk
* @brief Implementation of the BaseDefinitions
*/

#include "BaseDefinitions.hpp"

bool QOptionalColor::operator== ( const QOptionalColor& rhs ) const
{
return color == rhs.color && isSet == rhs.isSet;
}
48 changes: 48 additions & 0 deletions dltmessageanalyzerplugin/src/common/BaseDefinitions.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/**
* @file BaseDefinitions.hpp
* @author vgoncharuk
* @brief Declaration of the BaseDefinitions
*/

#ifndef BASE_DEFINITIONS_HPP
#define BASE_DEFINITIONS_HPP

#include <memory>
#include <vector>

#include <QHash>
#include <QString>
#include <QMetaType>
#include <QColor>

typedef std::shared_ptr<QString> tQStringPtr;
typedef std::vector<tQStringPtr> tQStringPtrVec;

struct tQStringPtrWrapper
{
tQStringPtrWrapper();
tQStringPtrWrapper(const tQStringPtr& pString_);
bool operator== ( const tQStringPtrWrapper& rVal ) const;
bool operator< ( const tQStringPtrWrapper& rVal ) const;
tQStringPtr pString = nullptr;
};

namespace std {
template<> struct hash<tQStringPtrWrapper> {
std::size_t operator()(const tQStringPtrWrapper& pS) const noexcept {
return pS.pString ? (size_t) qHash(*pS.pString) : 0u;
}
};
}

Q_DECLARE_METATYPE(tQStringPtrWrapper)

struct QOptionalColor
{
bool isSet = false;
QColor color;
bool operator== ( const QOptionalColor& rhs ) const;
};
typedef QVector<QOptionalColor> QOptionalColorVec;

#endif // BASE_DEFINITIONS_HPP
2 changes: 2 additions & 0 deletions dltmessageanalyzerplugin/src/common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
add_library(DMA_common STATIC
BaseDefinitions.cpp
CTreeItem.cpp
Definitions.cpp
PlotDefinitions.cpp
CBGColorAnimation.cpp
CRegexDirectoryMonitor.cpp
CTableMemoryJumper.cpp
Expand Down
Loading

0 comments on commit 53f7d48

Please sign in to comment.