private void ShowObject(NuGenBaseValueRefresher refresher) { List <NuGenBaseValueRefresher> objects = new List <NuGenBaseValueRefresher>(1); objects.Add(refresher); ShowObjects(objects); }
public void ShowObjectInObjectViewer(FrameWrapper frame, NuGenBaseValueRefresher valueRefresher, string initialExpression) { if (objectViewer == null) { objectViewer = new NuGenObjectViewer(); } objectViewer.Initialize(); objectViewer.ShowValue(valueRefresher, frame, initialExpression); }
public void ShowValue(NuGenBaseValueRefresher valueRefresher, FrameWrapper frame, string initialExpression) { if (frame == null) { MessageBox.Show("There is no active frame and thus expressions cannot be evaluated.\n\nFrames can be changed by using the Call Stack Panel", "No active frame", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { if (!IsHandleCreated) { CreateHandle(); } objectTree.Sorted = false; UpdateDisplayedValue = false; objectTree.SelectedNode = RootNode; UpdateDisplayedValue = true; NuGenIValueFormatter rootValueFormatter = new NuGenRootValueFormatter("Viewed object"); rootValueFormatter.ValueRefresher = valueRefresher; rootValueFormatter.FieldNode = RootNode; RootNode.Tag = rootValueFormatter; RootNode.Text = rootValueFormatter.Name; FrameRefresher = new NuGenFrameRefresher(NuGenDebugEventHandler.Instance.EventObjects.Thread, frame.ChainIndex, frame.FrameIndex, frame.IsActiveFrame); ProcessWrapper processWrapper = NuGenDebugEventHandler.Instance.EventObjects.Thread.GetProcess(); NuGenEvaluationHandler evaluationHandler = new NuGenEvaluationHandler(FrameRefresher); EvalWrapper evalWrapper = NuGenDebugEventHandler.Instance.EventObjects.Thread.CreateEval(); EvaluationContext = new NuGenEvaluationContext(processWrapper, evaluationHandler, evalWrapper, NuGenDebugEventHandler.Instance.EventObjects.Thread); ValueDisplayer = new NuGenValueDisplayer(evaluationContext); ValueDisplayer.ArrayElementEvaluated += new ArrayElementEvaluatedDelegate(ValueDisplayer_ArrayElementEvaluated); ValueDisplayer.ErrorOccurred += new ErrorOccurredDelegate(ValueDisplayer_ErrorOccurred); ValueDisplayer.EvaluatedNull += new EvaluatedNullDelegate(ValueDisplayer_EvaluatedNull); ValueDisplayer.FieldEvaluated += new FieldEvaluatedDelegate(ValueDisplayer_FieldEvaluated); ValueDisplayer.PropertyEvaluated += new PropertyEvaluatedDelegate(ValueDisplayer_PropertyEvaluated); ValueDisplayer.StateChanging += new StateChangingDelegate(ValueDisplayer_StateChanging); ValueDisplayer.StringValueEvaluated += new StringValueEvaluatedDelegate(ValueDisplayer_StringValueEvaluated); ValueDisplayer.ToStringEvaluated += new ToStringEvaluatedDelegate(ValueDisplayer_ToStringEvaluated); ValueDisplayer.TypeInspected += new TypeInspectedDelegate(ValueDisplayer_TypeInspected); if (valueRefresher != null) { DisplayValue(valueRefresher, RootNode); } fieldList.Sort(); objectTree.Sorted = true; DisplayExpressionText(initialExpression); expressionComboBox.Update(); ActiveControl = expressionComboBox; ShowDialog(); } }
public void ShowObjectInObjectViewer(FrameWrapper frame, NuGenBaseValueRefresher valueRefresher, string initialExpression) { if (invokee.InvokeRequired) { invokee.Invoke(ShowObjectInObjectViewerMethod, new object[] { frame, valueRefresher, initialExpression }); } else { ShowObjectInObjectViewerMethod(frame, valueRefresher, initialExpression); } }
private void DisplayValue(NuGenBaseValueRefresher valueRefresher, TreeNode parentNode) { fieldList.Items.Clear(); evaluationLogListBox.Items.Clear(); try { NuGenDebugExpressionResult debugValue = new NuGenDebugExpressionResult(EvaluationContext, valueRefresher.GetRefreshedValue()); if (NuGenHelperFunctions.HasValueClass(debugValue.ResultValue)) { EnableControlsForEvaluation(false); CancelValueFormattersDisplaying = false; MissingModules = new List <NuGenIValueFormatter>(); IsTypeOfValueFound = false; ValueDisplayer.CreateComplexFormatter(debugValue, valueRefresher, FrameRefresher, parentNode); } else { NuGenIValueFormatter valueFormatter = ValueDisplayer.CreateSimpleFormatter(debugValue); valueFormatter.Name = valueRefresher.Name; valueFormatter.ValueRefresher = valueRefresher; DisplayValueFormatter(valueFormatter); if (valueFormatter is NuGenISimpleTypeValueFormatter) { NuGenStringValueFormatter valueTypeFormatter = new NuGenStringValueFormatter(((NuGenISimpleTypeValueFormatter)valueFormatter).GetNumberTypeName()); valueTypeFormatter.FieldGroup = ValueFieldGroup.ObjectInformation; valueTypeFormatter.Name = "Type of value"; DisplayValueFormatter(valueTypeFormatter); } } } catch (NuGenEvaluationException evaluationException) { DisplayValueFormatter(new NuGenErrorValueFormatter("Evaluation exception", evaluationException.Message)); } catch (NuGenEvaluationHandlerException evaluationHandlerException) { DisplayValueFormatter(new NuGenErrorValueFormatter("Evaluation running exception", evaluationHandlerException.Message)); } catch (NugenMissingModuleException missingModuleException) { DisplayValueFormatter(new NuGenMissingModuleFormatter(missingModuleException.MissingModule)); } catch (InvalidOperationException invalidOperationException) { DisplayValueFormatter(new NuGenErrorValueFormatter("Evaluation exception", invalidOperationException.Message)); } catch (Exception exception) { DisplayValueFormatter(new NuGenErrorValueFormatter("Unexpected exception", exception.Message)); } }
private void ShowObjects(List <NuGenBaseValueRefresher> objects) { for (int index = 0; index < objects.Count; index++) { NuGenBaseValueRefresher valueRefresher = objects[index]; NuGenIValueFormatter valueFormatter = null; try { NuGenDebugExpressionResult debugValue = new NuGenDebugExpressionResult(evaluationContext, valueRefresher.GetRefreshedValue()); valueFormatter = ValueDisplayer.CreateSimpleFormatter(debugValue); } catch (Exception exception) { valueFormatter = new NuGenStringValueFormatter(exception.ToString()); } valueFormatter.Name = valueRefresher.Name; valueFormatter.ValueRefresher = valueRefresher; AddValueFormatter(valueFormatter); } }
private void ShowObject(NuGenBaseValueRefresher refresher) { List<NuGenBaseValueRefresher> objects = new List<NuGenBaseValueRefresher>(1); objects.Add(refresher); ShowObjects(objects); }
private void DisplayValue(NuGenBaseValueRefresher valueRefresher, TreeNode parentNode) { fieldList.Items.Clear(); evaluationLogListBox.Items.Clear(); try { NuGenDebugExpressionResult debugValue = new NuGenDebugExpressionResult(EvaluationContext, valueRefresher.GetRefreshedValue()); if (NuGenHelperFunctions.HasValueClass(debugValue.ResultValue)) { EnableControlsForEvaluation(false); CancelValueFormattersDisplaying = false; MissingModules = new List<NuGenIValueFormatter>(); IsTypeOfValueFound = false; ValueDisplayer.CreateComplexFormatter(debugValue, valueRefresher, FrameRefresher, parentNode); } else { NuGenIValueFormatter valueFormatter = ValueDisplayer.CreateSimpleFormatter(debugValue); valueFormatter.Name = valueRefresher.Name; valueFormatter.ValueRefresher = valueRefresher; DisplayValueFormatter(valueFormatter); if (valueFormatter is NuGenISimpleTypeValueFormatter) { NuGenStringValueFormatter valueTypeFormatter = new NuGenStringValueFormatter(((NuGenISimpleTypeValueFormatter)valueFormatter).GetNumberTypeName()); valueTypeFormatter.FieldGroup = ValueFieldGroup.ObjectInformation; valueTypeFormatter.Name = "Type of value"; DisplayValueFormatter(valueTypeFormatter); } } } catch (NuGenEvaluationException evaluationException) { DisplayValueFormatter(new NuGenErrorValueFormatter("Evaluation exception", evaluationException.Message)); } catch (NuGenEvaluationHandlerException evaluationHandlerException) { DisplayValueFormatter(new NuGenErrorValueFormatter("Evaluation running exception", evaluationHandlerException.Message)); } catch (NugenMissingModuleException missingModuleException) { DisplayValueFormatter(new NuGenMissingModuleFormatter(missingModuleException.MissingModule)); } catch (InvalidOperationException invalidOperationException) { DisplayValueFormatter(new NuGenErrorValueFormatter("Evaluation exception", invalidOperationException.Message)); } catch (Exception exception) { DisplayValueFormatter(new NuGenErrorValueFormatter("Unexpected exception", exception.Message)); } }
public void ShowObjectInObjectViewer(FrameWrapper frame, NuGenBaseValueRefresher valueRefresher, string initialExpression) { if(invokee.InvokeRequired) invokee.Invoke(ShowObjectInObjectViewerMethod, new object[]{frame, valueRefresher, initialExpression}); else ShowObjectInObjectViewerMethod(frame, valueRefresher, initialExpression); }