Scope
StackSettingsPage.h
1 #pragma once
2 
3 #include "controllers/ScopeController.h"
4 #include "controls/ScopeEditCtrl.h"
5 #include "controls/ScopeButtonCtrl.h"
6 #include "controls/ScopeProgressCtrl.h"
7 #include "resource.h"
8 
9 namespace scope {
10  namespace gui {
11 
14  public CPropertyPageImpl<CStackSettingsPage> {
15 
16 protected:
19 
22 
25 
28 
31 
34 
37 
40 
43 
45  CButton recalc_button;
46 
48  CButton zstage_button;
49 
51  CButton fastz_button;
52 
54  CStatic lambda_static;
55 
58 
60  CListViewCtrl planes_list;
61 
62 public:
63  enum { IDD = IDD_STACK_PROPPAGE };
64 
65  CStackSettingsPage(void);
66 
67  BEGIN_MSG_MAP_EX(CStackSettingsPage)
68  MSG_WM_INITDIALOG(OnInitDialog);
69  COMMAND_HANDLER(IDC_RECALC_BUTTON, BN_CLICKED, OnRecalcButton)
70  COMMAND_HANDLER(IDC_ZSTAGE_RADIO, BN_CLICKED, OnZControlRadio)
71  COMMAND_HANDLER(IDC_ETL_RADIO, BN_CLICKED, OnZControlRadio)
72  REFLECT_NOTIFICATIONS()
73  END_MSG_MAP()
74 
79  BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam);
80 
82  LRESULT OnZControlRadio(WORD, WORD, HWND, BOOL&);
83 
85  LRESULT OnRecalcButton(WORD, WORD, HWND, BOOL&);
89  void OnChangedRunState();
90 
92  void UpdatePlanesList();
93 };
94 
95 }}
96 
Main controller of microscope hardware and acquisition, also interface to the GUI.
CScopeButtonCtrl starthere_button
to set startat to current position
CScopeProgressCtrl stack_progress
for stack progress
void OnChangedRunState()
changes button states etc when acquisition is running.
Settings page for stack scan stuff.
CListViewCtrl planes_list
to edit properties of each plane
BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam)
initializes the dialog
An adapted CButton control around a ScopeButton.
CScopeButtonCtrl stophere_button
to set stopat to current position
CStatic lambda_static
for displaying space constant of exponential pockels interpolation (see parameters::stack) ...
An adapted CProgressBarCtrl control around a ScopeNumber.
scope::ScopeController scope_controller
keep a ScopeController to connect GUI controls
CButton recalc_button
trigger recalculation of the slices list
CButton zstage_button
use zstage radio button
void UpdatePlanesList()
updates the list view ctrl on start/stop/spacing changes
CScopeEditCtrl< double > spacing_edit
spacing (in um) between slices
ZDevice zdevicetype
keeps track locally which zdevice type to use for stack
CScopeButtonCtrl start_stack_button
to start stack scan
bool initialized
true if window is initialized
LRESULT OnRecalcButton(WORD, WORD, HWND, BOOL &)
handles clicks on the recalculate button
CScopeEditCtrl< double > startat_edit
stack start zcontrol position
LRESULT OnZControlRadio(WORD, WORD, HWND, BOOL &)
handles clicks on the z control buttons
CScopeEditCtrl< double > stopat_edit
stack end zcontrol position
CButton fastz_button
use fastz radio button