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
- Updated UML diagrams
- 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 15, 2023
1 parent 7517758 commit e3c3621
Show file tree
Hide file tree
Showing 153 changed files with 14,685 additions and 15,530 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@

----

## v.1.0.27 released!

<span style="color:red">Checkout the ['plot view'](./md/plot_view/plot_view.md#plot-view) feature!</span>

----

![DLT Message Analyzer logo](./md/DLTMessageAnalyzer_logo.png)

![Build linux](https://github.com/svlad-90/DLT-Message-Analyzer/workflows/Build%20linux%20Qt5/badge.svg)
Expand Down Expand Up @@ -80,6 +86,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
23 changes: 23 additions & 0 deletions dltmessageanalyzerplugin/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,28 @@ 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 +82,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 e3c3621

Please sign in to comment.