Scope
ScanSettingsSheet.h
1 #pragma once
2 
3 #include "NoScanBasePage.h"
4 #include "StorageSettingsPage.h"
5 #include "StimulationSettingsPage.h"
6 #include "MovementPage.h"
7 #include "DAQmxPage.h"
8 #include "FPGAPhotonCounterPage.h"
9 #include "FPGADigitalDemultiplexerPage.h"
10 #include "FPGAAnalogIntegratorPage.h"
11 #include "FPGAResonanceScannerPage.h"
12 #include "FPGAResonanceScanner_NI5771Page.h"
13 #include "FPGAAnalogDemultiplexerPage.h"
14 
15 
16 namespace scope {
17  namespace gui {
18 
21  : public CPropertySheetImpl<CScanSettingsSheet> {
22 
23 protected:
26 
28  std::array<std::unique_ptr<CNoScanBasePage>, SCOPE_NAREAS> scanpages;
29 
32 
35 
38 
40  SCOPE_INPUTSINFOPAGE_T inputsinfospage;
41 
42 public:
45 
46  BEGIN_MSG_MAP(CScanSettingsSheet)
47  NOTIFY_CODE_HANDLER(TCN_SELCHANGE, OnSelChange)
48  CHAIN_MSG_MAP(CPropertySheetImpl<CScanSettingsSheet>)
49  REFLECT_NOTIFICATIONS()
50  END_MSG_MAP()
51 
58  HWND Create(const HWND hWndParent, const int nStartPage, const CRect & rc);
59 
61  static int CALLBACK PropSheetCallback(HWND hWnd, UINT uMsg, LPARAM lParam);
62 
63  LRESULT OnSelChange(WPARAM wParam, LPNMHDR pnmHdr, BOOL & bHandled);
69  void ChangeScanmode(const uint32_t& _area, const ScannerVectorType& _type);
71 };
72 
73 }}
Main controller of microscope hardware and acquisition, also interface to the GUI.
HWND Create(const HWND hWndParent, const int nStartPage, const CRect &rc)
Adds all the settingspages.
Property page for stage settings.
Definition: MovementPage.h:10
ScopeController scope_controller
Our ScopeController here.
Settings page for stimulation stuff.
Base class for all Scope datatypes here, provides a uniform interface (and saves typing...).
Settings sheet that has settings pages for different parameter sets.
Property page for storage related options.
std::array< std::unique_ptr< CNoScanBasePage >, SCOPE_NAREAS > scanpages
one imaging settings page for each area
CMovementPage movementpage
the settings page for all stages
CStorageSettingsPage storagesettingspage
the storage settings page
CScanSettingsSheet()
Generates CImageSettingsPages for every area.
CStimulationSettingsPage stimulationsettingspage
the stimulation settings page
void ChangeScanmode(const uint32_t &_area, const ScannerVectorType &_type)
Change the imaging settings page according to the choosen scan mode.
static int CALLBACK PropSheetCallback(HWND hWnd, UINT uMsg, LPARAM lParam)
We need this for whatever (see some WTL dialog tutorial)...
SCOPE_INPUTSINFOPAGE_T inputsinfospage
a settings page for DAQmx/FPGA information