From ba7a0d8cd3edf597b21a1d9fd2aafddcd1972aef Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Wed, 14 Sep 2016 19:46:57 -0400 Subject: [PATCH] Init bookmark manager --- CMakeLists.txt | 3 +++ src/AppFrame.h | 2 ++ src/BookmarkMgr.cpp | 28 +++++++++++++++++++++++ src/BookmarkMgr.h | 38 +++++++++++++++++++++++++++++++ src/forms/Bookmark/BookmarkView.h | 7 +++--- 5 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/BookmarkMgr.cpp create mode 100644 src/BookmarkMgr.h diff --git a/CMakeLists.txt b/CMakeLists.txt index c38c471..518482a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -247,6 +247,7 @@ SET (cubicsdr_sources src/DemodLabelDialog.cpp src/IOThread.cpp src/ModemProperties.cpp + src/BookmarkMgr.cpp src/sdr/SDRDeviceInfo.cpp src/sdr/SDRPostThread.cpp src/sdr/SDREnumerator.cpp @@ -349,6 +350,7 @@ SET (cubicsdr_headers src/DemodLabelDialog.h src/IOThread.h src/ModemProperties.h + src/BookmarkMgr.h src/sdr/SDRDeviceInfo.h src/sdr/SDRPostThread.h src/sdr/SDREnumerator.h @@ -525,6 +527,7 @@ SOURCE_GROUP("_ext-CubicVR2" REGULAR_EXPRESSION "external/cubicvr2/.*${REG_EXT}" include_directories ( ${PROJECT_SOURCE_DIR}/src/forms/SDRDevices ${PROJECT_SOURCE_DIR}/src/forms/DigitalConsole + ${PROJECT_SOURCE_DIR}/src/forms/Bookmark ${PROJECT_SOURCE_DIR}/src/sdr ${PROJECT_SOURCE_DIR}/src/demod ${PROJECT_SOURCE_DIR}/src/modules diff --git a/src/AppFrame.h b/src/AppFrame.h index 4c2acee..ea258b9 100644 --- a/src/AppFrame.h +++ b/src/AppFrame.h @@ -19,6 +19,8 @@ #include "ModemProperties.h" //#include "UITestCanvas.h" #include "FrequencyDialog.h" +#include "BookmarkMgr.h" +#include "BookmarkView.h" #include diff --git a/src/BookmarkMgr.cpp b/src/BookmarkMgr.cpp new file mode 100644 index 0000000..9c292dd --- /dev/null +++ b/src/BookmarkMgr.cpp @@ -0,0 +1,28 @@ +#include "BookmarkMgr.h" + + +void BookmarkMgr::saveToFile(std::string bookmarkFn) { + + +} + + +void BookmarkMgr::loadFromFile(std::string bookmarkFn) { + + +} + +void BookmarkMgr::addBookmark(std::string group, DemodulatorInstance *demod) { + std::lock_guard < std::mutex > lock(busy_lock); + +} + +BookmarkList BookmarkMgr::getBookmarks(std::string group, std::string folder) { + std::lock_guard < std::mutex > lock(busy_lock); + + BookmarkList results; + + + + return results; +} diff --git a/src/BookmarkMgr.h b/src/BookmarkMgr.h new file mode 100644 index 0000000..726d061 --- /dev/null +++ b/src/BookmarkMgr.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include + +#include "DataTree.h" +#include "DemodulatorInstance.h" + +class BookmarkEntry { +public: + std::mutex busy_lock; + + std::string folder; + std::string type; + std::string label; + + long long frequency; + int bandwidth; + + DataNode *node; +}; + +typedef std::vector BookmarkList; +typedef std::map > BookmarkMap; + +class BookmarkMgr { +public: + void saveToFile(std::string bookmarkFn); + void loadFromFile(std::string bookmarkFn); + + void addBookmark(std::string group, DemodulatorInstance *demod); + BookmarkList getBookmarks(std::string group, std::string folder = ""); + +protected: + + BookmarkMap bmData; + std::mutex busy_lock; +}; diff --git a/src/forms/Bookmark/BookmarkView.h b/src/forms/Bookmark/BookmarkView.h index 6ed3e17..8319e5c 100644 --- a/src/forms/Bookmark/BookmarkView.h +++ b/src/forms/Bookmark/BookmarkView.h @@ -2,13 +2,13 @@ #include "BookmarkPanel.h" +#include "BookmarkMgr.h" + class BookmarkView : public BookmarkPanel { public: BookmarkView( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1, -1 ), long style = wxTAB_TRAVERSAL ); void updateActiveList(); - void saveToFile(std::string bookmarkFn); - void loadFromFile(std::string bookmarkFn); protected: void onTreeBeginLabelEdit( wxTreeEvent& event ); @@ -22,5 +22,6 @@ protected: void onBookmark( wxCommandEvent& event ); void onActivate( wxCommandEvent& event ); void onRemove( wxCommandEvent& event ); - + + }; \ No newline at end of file