Added (empty) class files that should store model-type information for the StripTool.
Working on incorporating the model class StripTool into the whole project (ie StripToolView), focusing on getting the model's list of active pvs to communicate with the view's display of active pvs. A work in progress.
Merge branch 'master' of https://github.com/acquaman/acquaman
Renamed and deleted some project files. Made some changes to how the pv information is stored and displayed. Right now, there are two different views displayed in the StripTool main window, I'm testing to see which is better! The project builds and runs, but isn't really operational.
Items in the model (so both views) are now checkable--nice! This will come in handy later, when we can maybe make pvs in/visible.
Going with QListView for now.
Added a new class to represent each 'item' in the strip tool chart, StripToolItem.
Added a new class to represent a 'container' for each of the StripToolItems. It should hide away all information about how the pv information and data is stored, but should be able to provide everything the StripTool needs to plot the relevant information. These ideas aren't completely implemented yet! But the project should build at this point (not necessarily run).
I've been messing around with functions/signals/slots that allow information to pass between the StripTool class (plots the pv data) and the StripToolItem class (catches and records the pv epics updates) without revealing too much about how information is stored. I think. So far, what seems to work best is to use the StripToolContainer class as an intermediary! Project will build (but may not run).
Merge branch 'master' of https://github.com/acquaman/acquaman
Alright! Entering the Storage Ring Current pv when prompted for new pv information will successfully cause the current values to be displayed! Project is now buildable and runable.
Moved the two maps that were storing information in StripTool to StripToolContainer to simplify adding pv to the plot and keeping track of updates. Also implemented toggling pv visibility on the plot. Project is buildable and runnable.
The plot units on the StripTool will now change depending on what line is selected. This was done by adding an additional space in the PV dialog for the user to enter the units for the pv they're adding. All x units by default are 'Update number' right now. Project is buildable and runable.
Made some changes: moved all data and series information to the StripToolItem class (simplifying the StripToolContainer class), restored member variable naming convention in AddPVDialog, fixed memory leak that happened when StripTool created instance of AddPVDialog.
Made some more corrections: possibly actually fixed the memory leak re: creating AddPVDialog, and changed the vector storage of pv data to be more memory efficient (allocating memory in chunks instead of appending values).
Created an action under Plot menu that adds SR1 Current automatically (makes testing easier). PVs in the list view are now displayed by description entered (if it isn't provided, actual PV name is used). Added some guards to prevent duplicate PVs from being entered.
Added 'Set PV Group' and 'Add PV Group' shell functionality--disabled actions in the Plot and (new) Settings menus, and empty void slots that handle events when these actions are triggered. I want to be able to save the checked pvs in a plot as a 'pv group' and have the application be able to add them again on command. Project is buildable and runable.
This is the text file that I want to contain the saved pv info.
I've changed a little about how information is stored in the QStandardItem list that contains the information for added pvs in StripTool: pvDescription is now what is displayed in the list view (and it's editable), pvName is now stored as a child of each entry (makes recovering it easier). Unfortunately, as a consequence, the pv labels on the plot do not update correctly. Will be fixed. I'm working on a way to save the information for the visible/active pvs to a file that can be recovered later/in a separate plot window. This isn't fully implemented yet, it's on the list too. :)
Working on the ability to save a batch of active pvs, and then reload them later. It doesn't exactly work as written now: the user can name a file to save to, but I'm making a mistake somewhere that's causing an extra character to appear at the beginning of the file that's not part of the pv name. It's on the list. Project is buildable and runable.