2 #include "StackSettingsPage.h"
7 CStackSettingsPage::CStackSettingsPage(
void)
9 , start_stack_button(&scope_controller.StartStackButton)
10 , startat_edit(&scope_controller.GuiParameters.stack.startat[0].position, true, true)
11 , stopat_edit(&scope_controller.GuiParameters.stack.stopat[0].position, true, true)
12 , spacing_edit(&scope_controller.GuiParameters.stack.spacing, true, true)
13 , starthere_button(&scope_controller.StackStartHereButton)
14 , stophere_button(&scope_controller.StackStopHereButton)
15 , stack_progress(&scope_controller.PlaneCounter)
16 , zdevicetype(ZDeviceHelper::ZStage) {
41 for ( uint32_t a = 0 ; a < SCOPE_NAREAS ; a++ ) {
42 label.Format(L
"Pockels %d", a+1);
44 label.Format(L
"FastZ %d", a+1);
71 std::wostringstream stream;
78 planes_list.SetItemText(p, 0, stream.str().c_str());
86 planes_list.SetItemText(p, 1, stream.str().c_str());
90 for ( uint32_t a = 0 ; a < SCOPE_NAREAS ; a++ ) {
92 planes_list.SetItemText(p, 2+2*a, stream.str().c_str());
99 planes_list.SetItemText(p, 3+2*a, stream.str().c_str());
104 stream << L
"Lambda " << std::setprecision(1) << l << L
" µm";
boost::signals2::connection ConnectGUI(signalchange_t::slot_type slot)
Connect signal to slot to GUI.
CScopeButtonCtrl starthere_button
to set startat to current position
ScopeController scope_controller
Our ScopeController here.
ScopeValue< ZDevice > zdevicetype
type of z device to use
CScopeProgressCtrl stack_progress
for stack progress
bool AttachToDlgItem(HWND hWnd)
Attach the control to a dialog item.
Stack stack
the StackParameters
std::array< std::unique_ptr< Area >, SCOPE_NAREAS > areas
holds AreaParameters for all areas.
void OnChangedRunState()
changes button states etc when acquisition is running.
CListViewCtrl planes_list
to edit properties of each plane
BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam)
initializes the dialog
SCOPE_XYZCONTROL_T stage
the parameters for the xyz stage (set type in ScopeDefines.h)
CScopeButtonCtrl stophere_button
to set stopat to current position
CStatic lambda_static
for displaying space constant of exponential pockels interpolation (see parameters::stack) ...
std::vector< std::array< PlaneProperties, SCOPE_NAREAS > > planes___
Vector with properties for every plane.
scope::ScopeController scope_controller
keep a ScopeController to connect GUI controls
This is the include file for standard system include files, or project specific include files that ar...
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
BOOL AttachToDlgItem(HWND hWnd)
Attach the control to a dialog item and set range.
LRESULT OnRecalcButton(WORD, WORD, HWND, BOOL &)
handles clicks on the recalculate button
CScopeEditCtrl< double > startat_edit
stack start zcontrol position
static parameters::Scope GuiParameters
The complete pseudo-global parameter set of the microscope.
LRESULT OnZControlRadio(WORD, WORD, HWND, BOOL &)
handles clicks on the z control buttons
virtual double Lambda(const uint32_t &_area)
space constant for exponential pockels interpolation
CScopeEditCtrl< double > stopat_edit
stack end zcontrol position
static ScopeNumber< bool > ReadOnlyWhileScanning
Set to true while scanning, GUI elements can connect to this to disable buttons and controls (that ar...
CButton fastz_button
use fastz radio button