#pragma TextEncoding = "UTF-8" #pragma rtGlobals=3 // Use modern global access method and strict wave access. Function fBuildMultiPeak2StarterPanel_m() NewPanel /W=(50,50,314,285)/K=1/N=MultiPeak2StarterPanel as "Start Multi-peak Fit" CheckBox MPF2_StartPanel_ResumeSet,pos={10,14},size={72,14},title="Resume a Fit" CheckBox MPF2_StartPanel_ResumeSet,value= 0 PopupMenu MPF2_ResumePreviousSetMenu,pos={95,11},size={160,20},title="Choose Previous Set" PopupMenu MPF2_ResumePreviousSetMenu,mode=0,value= #"\"Set 1 (dataname);Set 2 (dataname);Set 3 (dataname); etc...;\"", disable=0, bodywidth=155 TitleBox MPF2_YWaveButtonTitle,pos={10,43},size={35,12},title="Y Wave:",frame=0 TitleBox MPF2_XWaveButtonTitle,pos={10,68},size={35,12},title="X Wave:",frame=0 Button MPF2_SelectYWaveButton,pos={55,39},size={200,20},title="",fSize=10 MakeButtonIntoWSPopupButton("MultiPeak2StarterPanel", "MPF2_SelectYWaveButton", "MPF2_WaveSelectNotify") Button MPF2_SelectXWaveButton,pos={55,63},size={200,20},title="",fSize=10 MakeButtonIntoWSPopupButton("MultiPeak2StarterPanel", "MPF2_SelectXWaveButton", "MPF2_WaveSelectNotify") PopupWS_AddSelectableString("MultiPeak2StarterPanel", "MPF2_SelectXWaveButton", "_calculated_") PopupWS_SetSelectionFullPath("MultiPeak2StarterPanel", "MPF2_SelectXWaveButton", "_calculated_") CheckBox MPF2_StartPanel_FromTarget,pos={10,95},size={72,14},title="From Target" CheckBox MPF2_StartPanel_FromTarget,value= 0,proc=MPF2_Starter_FromTitleCheckProc PopupMenu MPF2_StartPanel_TraceMenu,pos={95,92},size={160,20},proc=MPF2_StarterChooseTraceMenu,title="Set Waves from Trace" PopupMenu MPF2_StartPanel_TraceMenu,mode=0,value= #"TraceNameList(WinName(0,1), \";\", 1)", disable=1, bodywidth=155 PopupMenu MPF2_ChooseGraph,pos={55,120},size={200,20},title="Use Graph:", proc=MPF2_ChooseGraphProc PopupMenu MPF2_ChooseGraph,mode=1,bodyWidth=178,value= #"\"New Graph;\"+MPF2_ListGraphsWSelectedWaves()" PopupMenu MPF2_InitializeFromSetMenu,pos={55,147},size={200,20},bodyWidth=190,title="Initialization:" PopupMenu MPF2_InitializeFromSetMenu,mode=1,bodyWidth=178,value= #"InitializeMPF2FromMenuString()" PopupMenu MPF2_PanelPositionMenu,pos={7,174},size={125,20},title="Panel Position:" PopupMenu MPF2_PanelPositionMenu,mode=2,value= #"\"Below;Right;Left;Above\"" Button MPF2_DataSelectedContinueButton,pos={10,200},size={100,25},proc=MPF2_WaveSelectContinueBtnProc,title="Continue",fSize=10 Button MPF2_StartPanelHelp,pos={195,200},size={60,25},proc=MPF2_DoHelpButtonProc,title="Help",fSize=10 SetWindow MultiPeak2StarterPanel,hook(MPF2_StarterHook)=MPF2_StarterHook // center the panel in the monitor or the Windows MDI window Variable scrnLeft, scrnTop, scrnRight, scrnBottom, scrnWidth, scrnHeight if (CmpStr(IgorInfo(2), "Macintosh") == 0) String scrnInfo = StringByKey("SCREEN1", IgorInfo(0)) Variable rectPos = strsearch(scrnInfo, "RECT=", 0) scrnInfo = scrnInfo[rectPos+5, strlen(scrnInfo)-1] sscanf scrnInfo, "%d,%d,%d,%d", scrnLeft, scrnTop, scrnRight, scrnBottom scrnWidth = scrnRight-scrnLeft scrnHeight = scrnBottom-scrnTop elseif (CmpStr(IgorInfo(2), "Windows") == 0) GetWindow kwFrameInner, wsize scrnWidth = V_right-V_left scrnHeight = V_bottom-V_top endif Variable halfWidth = 132*PanelResolution("MultiPeak2StarterPanel")/screenResolution Variable Height = 235*PanelResolution("MultiPeak2StarterPanel")/screenResolution MoveWindow/W=MultiPeak2StarterPanel scrnWidth/2 - halfWidth, scrnHeight/2 - Height, scrnWidth/2 + halfWidth, scrnHeight/2 end