@@ -3080,6 +3080,7 @@ struct MagoOptions
30803080 bool removeLeadingHexZeroes;
30813081 bool recombineTuples;
30823082 bool callDebuggerFunctions;
3083+ bool callDebuggerRanges;
30833084 bool callDebuggerUseMagoGC;
30843085 bool showDArrayLengthInType;
30853086 uint maxArrayElements;
@@ -3096,6 +3097,7 @@ struct MagoOptions
30963097 keyMago.Set(" removeLeadingHexZeroes" , removeLeadingHexZeroes);
30973098 keyMago.Set(" recombineTuples" , recombineTuples);
30983099 keyMago.Set(" callDebuggerFunctions" , callDebuggerFunctions);
3100+ keyMago.Set(" callDebuggerRanges" , callDebuggerRanges);
30993101 keyMago.Set(" callDebuggerUseMagoGC" , callDebuggerUseMagoGC);
31003102 keyMago.Set(" showDArrayLengthInType" , showDArrayLengthInType);
31013103 keyMago.Set(" maxArrayElements" , maxArrayElements);
@@ -3114,6 +3116,7 @@ struct MagoOptions
31143116 removeLeadingHexZeroes = (keyMago.GetDWORD(" removeLeadingHexZeroes" , 0 ) != 0 );
31153117 recombineTuples = (keyMago.GetDWORD(" recombineTuples" , 1 ) != 0 );
31163118 callDebuggerFunctions = (keyMago.GetDWORD(" callDebuggerFunctions" , 1 ) != 0 );
3119+ callDebuggerRanges = (keyMago.GetDWORD(" callDebuggerRanges" , 1 ) != 0 );
31173120 callDebuggerUseMagoGC = (keyMago.GetDWORD(" callDebuggerUseMagoGC" , 1 ) != 0 );
31183121 showDArrayLengthInType = (keyMago.GetDWORD(" showDArrayLengthInType" , 0 ) != 0 );
31193122 maxArrayElements = keyMago.GetDWORD(" maxArrayElements" , 1000 );
@@ -3138,6 +3141,7 @@ class MagoPropertyPage : ResizablePropertyPage
31383141 AddControl(" " , mExpandableStrings = new CheckBox(mCanvas, " Expand strings to show array of characters" ));
31393142 AddControl(" " , mHideRefPointers = new CheckBox(mCanvas, " Hide pointers for class references and slices" ));
31403143 AddControl(" " , mCallDebuggerFuncs = new CheckBox(mCanvas, " Call struct/class methods __debug[Overview|Expanded|Visualizer]" ));
3144+ AddControl(" " , mCallDebuggerRange = new CheckBox(mCanvas, " Call range methods to show elements in overview/expansion" ));
31413145 AddControl(" " , mCallDebugSwitchGC = new CheckBox(mCanvas, " Switch GC while executing debugger functions" ));
31423146 AddControl(" " , mShowLengthInType = new CheckBox(mCanvas, " Show length of dynamic array in type column" ));
31433147 AddControl(" " , mRemoveHexZeroes = new CheckBox(mCanvas, " Remove leading zeroes from hex values" ));
@@ -3181,6 +3185,7 @@ class MagoPropertyPage : ResizablePropertyPage
31813185
31823186 void EnableControls ()
31833187 {
3188+ mCallDebuggerRange.setEnabled(mOptions.callDebuggerFunctions);
31843189 }
31853190
31863191 void SetControls ()
@@ -3195,6 +3200,7 @@ class MagoPropertyPage : ResizablePropertyPage
31953200 mRemoveHexZeroes.setChecked(mOptions.removeLeadingHexZeroes);
31963201 mRecombineTuples.setChecked(mOptions.recombineTuples);
31973202 mCallDebuggerFuncs.setChecked(mOptions.callDebuggerFunctions);
3203+ mCallDebuggerRange.setChecked(mOptions.callDebuggerRanges);
31983204 mCallDebugSwitchGC.setChecked(mOptions.callDebuggerUseMagoGC);
31993205 mShowLengthInType.setChecked(mOptions.showDArrayLengthInType);
32003206 mMaxArrayElements.setText(to! string (mOptions.maxArrayElements));
@@ -3212,6 +3218,7 @@ class MagoPropertyPage : ResizablePropertyPage
32123218 changes += changeOption(mRemoveHexZeroes.isChecked(), opts.removeLeadingHexZeroes, refopts.removeLeadingHexZeroes);
32133219 changes += changeOption(mRecombineTuples.isChecked(), opts.recombineTuples, refopts.recombineTuples);
32143220 changes += changeOption(mCallDebuggerFuncs.isChecked(), opts.callDebuggerFunctions, refopts.callDebuggerFunctions);
3221+ changes += changeOption(mCallDebuggerRange.isChecked(), opts.callDebuggerRanges, refopts.callDebuggerRanges);
32153222 changes += changeOption(mCallDebugSwitchGC.isChecked(), opts.callDebuggerUseMagoGC, refopts.callDebuggerUseMagoGC);
32163223 changes += changeOption(mShowLengthInType.isChecked(), opts.showDArrayLengthInType, refopts.showDArrayLengthInType);
32173224
@@ -3232,6 +3239,7 @@ class MagoPropertyPage : ResizablePropertyPage
32323239 CheckBox mRemoveHexZeroes;
32333240 CheckBox mRecombineTuples;
32343241 CheckBox mCallDebuggerFuncs;
3242+ CheckBox mCallDebuggerRange;
32353243 CheckBox mCallDebugSwitchGC;
32363244 CheckBox mShowLengthInType;
32373245 Text mMaxArrayElements;
0 commit comments