Skip to content

Commit 3b11387

Browse files
author
Matthias Kastner
committed
Merge branch 'mk/config' into mk/master
* mk/config: config: debugging state config: Optional clean on exit
2 parents bc93136 + 8cbc81c commit 3b11387

File tree

4 files changed

+34
-20
lines changed

4 files changed

+34
-20
lines changed

procedures/CodeBrowser.ipf

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ static StrConstant CsaveWaves = "saveWaves"
4646
static Constant CsaveMaximum = 1024
4747

4848
Constant openKey = 46 // ".", the dot
49-
Constant debuggingEnabled = 0
5049

5150
// List of available macro subtypes
5251
StrConstant subTypeList = "Graph;GraphStyle;GraphMarquee;Table;TableStyle;Layout;LayoutStyle;LayoutMarquee;ListBoxControl;Panel;ButtonControl;CheckBoxControl;PopupMenuControl;SetVariableControl"
@@ -96,7 +95,7 @@ Function/S interpretParamType(ptype, paramOrReturn)
9695
typeStr += "/U"
9796
endif
9897

99-
// if(debuggingEnabled)
98+
// if(getGlobalVar("debuggingEnabled") == 1)
10099
// string msg
101100
// sprintf msg, "type:%d, str:%s", ptype, typeStr
102101
// debugPrint(msg)
@@ -317,11 +316,9 @@ Function addDecoratedFunctions(module, procedure, declWave, lineWave)
317316
lineWave[idx] = NumberByKey("PROCLINE", fi)
318317
endfor
319318

320-
if(debuggingEnabled)
321-
string msg
322-
sprintf msg, "decl rows=%d\r", DimSize(declWave,0)
323-
debugPrint(msg)
324-
endif
319+
string msg
320+
sprintf msg, "decl rows=%d\r", DimSize(declWave,0)
321+
debugPrint(msg)
325322
End
326323

327324
// Adds Constants/StrConstants by searching for them in the Procedure with a Regular Expression
@@ -890,7 +887,6 @@ End
890887

891888
Function searchReset()
892889
setGlobalStr("search","")
893-
killGlobalStr("search")
894890
End
895891

896892
Function DeletePKGfolder()

procedures/CodeBrowser_hooks.ipf

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ Function preparePanelClose()
7070
SetIgorHook/K AfterCompiledHook=updatePanel
7171
debugPrint("AfterCompiledHook: " + S_info)
7272

73-
// storage data should not be saved in experiment
74-
saveResetStorage()
75-
7673
DoWindow $GetPanel()
7774
if(V_flag == 0)
7875
return 0
@@ -82,12 +79,20 @@ Function preparePanelClose()
8279
STRUCT CodeBrowserPrefs prefs
8380
FillPackagePrefsStruct(prefs)
8481
SavePackagePrefsToDisk(prefs)
85-
82+
8683
// reset global gui variables
8784
searchReset()
8885

89-
// clean Package DataFolder
90-
DeletePKGfolder()
86+
// delete CodeBrowser related data
87+
if(prefs.configCleanOnExit)
88+
// storage data will not be saved in experiment
89+
saveResetStorage()
90+
killGlobalStr("search")
91+
killGlobalVar("cleanOnExit")
92+
killGlobalVar("debuggingEnabled")
93+
// clean Package DataFolder
94+
DeletePKGfolder()
95+
endif
9196
End
9297

9398
Function panelHook(s)

procedures/CodeBrowser_preferences.ipf

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// This file was created by () byte physics Thomas Braun, [email protected]
77
// (c) 2013
88

9-
static Constant kPrefsVersion = 105
9+
static Constant kPrefsVersion = 107
1010
static StrConstant kPackageName = "CodeBrowser"
1111
static StrConstant kPrefsFileName = "CodeBrowser.bin"
1212
static Constant kPrefsRecordID = 0
@@ -19,7 +19,9 @@ Structure CodeBrowserPrefs
1919
uint32 panelProcedure // last marked procedure in panel
2020
uint32 panelElement // last marked element in panel
2121
uint32 panelTopElement // top element in listbox (scrolling)
22-
uint32 reserved[95] // Reserved for future use
22+
uint32 configCleanOnExit // delete CodeBrowser related data when CodeBrowser exits
23+
uint32 configDebuggingEnabled // enable messages for debugging purpose
24+
uint32 reserved[93] // Reserved for future use
2325
EndStructure
2426

2527
// DefaultPackagePrefsStruct(prefs)
@@ -47,16 +49,19 @@ static Function DefaultPackagePrefsStruct(prefs)
4749
prefs.panelElement = 0
4850
prefs.panelTopElement= 0
4951

52+
prefs.configCleanOnExit = 1
53+
prefs.configDebuggingEnabled = 0
54+
5055
Variable i
51-
for(i=0; i<95; i+=1)
56+
for(i=0; i<93; i+=1)
5257
prefs.reserved[i] = 0
5358
endfor
5459
End
5560

5661
// Fill package prefs structures to match state of panel.
5762
static Function SyncPackagePrefsStruct(prefs)
5863
STRUCT CodeBrowserPrefs &prefs
59-
Variable scale, selectedItem
64+
Variable scale, selectedItem, configItem
6065
// Panel does exists. Set prefs to match panel settings.
6166
prefs.version = kPrefsVersion
6267

@@ -85,6 +90,12 @@ static Function SyncPackagePrefsStruct(prefs)
8590

8691
selectedItem = getCurrentItemAsNumeric(indexTop = 1)
8792
prefs.panelTopElement = selectedItem < 0 ? 0 : selectedItem
93+
94+
configItem = getGlobalVar("cleanOnExit")
95+
prefs.configCleanOnExit = configItem < 0 ? 1 : configItem
96+
97+
configItem = getGlobalVar("debuggingEnabled")
98+
prefs.configDebuggingEnabled = configItem < 0 ? 0 : configItem
8899
End
89100

90101
// InitPackagePrefsStruct(prefs)
@@ -125,6 +136,8 @@ Function LoadPackagePrefsFromDisk(prefs)
125136
prefs.panelCoords[2] /= scale
126137
prefs.panelCoords[3] /= scale
127138

139+
setGlobalVar("cleanOnExit", prefs.configCleanOnExit)
140+
setGlobalVar("debuggingEnabled", prefs.configDebuggingEnabled)
128141
End
129142

130143
Function SavePackagePrefsToDisk(prefs)

procedures/CodeBrowser_utils.ipf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ End
8686
Function debugPrint(msg)
8787
string msg
8888

89-
if(debuggingEnabled)
89+
if(getGlobalVar("debuggingEnabled") == 1)
9090
printf "%s(...): %s\r", GetRTStackInfo(2), RemoveEnding(msg,"\r")
9191
endif
9292
End
@@ -278,4 +278,4 @@ Function timerStop(timerRefNum)
278278

279279
microseconds = stopMSTimer(timerRefNum)
280280
return microseconds
281-
End
281+
End

0 commit comments

Comments
 (0)