Example #1
0
        public IteratorGraphics(IEnumerableGraphics container, VapeTeam.Psimulex.Core.Types.Iterator iterator)
			: base()
		{
			this.iterator = iterator;
			this.container = container;
			this.iteratorArrow = (DrawingBrush) FindResource("IteratorArrow");

			rect = new Rectangle();
			rect.Fill = iteratorArrow;
			rect.Width = 15;
			rect.Height = 20;

			this.Content = rect;

			iterator.Changed += iterator_Changed;
			//iterator.Cleaning += new EventHandler(iterator_Cleaning);

			container.AttachIterator(this);
		}
Example #2
0
        public EnvironmentGraphics(VapeTeam.Psimulex.Core.ICommandContext environment)
        {
            panel = new StackPanel();
            panel.SnapsToDevicePixels = true;
            states = new System.Collections.Generic.Stack<StateGraphics>();
            //			depthListeners = new List<IDepthChangedListener>();
            env = environment;

            Content = panel;

            //environment.VariableCreated += new VariableEventHandler(environment_VariableCreated);
            //environment.VariableDeleted += new VariableEventHandler(environment_VariableDeleted);

            environment.CallStack.Pushed += environment_StatePushed;
            environment.CallStack.Popped += environment_StatePopped;

            environment.VariableCreated += environment_VariableCreated;

            //environment.StatePushed += new EventHandler(environment_StatePushed);
            //environment.StatePopped += new EventHandler(environment_StatePopped);

            PushState();
        }
Example #3
0
 public override void Assign(VapeTeam.Psimulex.Core.Types.BaseType value)
 {
     this.value = value.ToChar();
     OnChanged();
 }
Example #4
0
 void ArrayGraphics_Indexed(object sender, VapeTeam.Psimulex.Core.Types.AbstractCollection.IndexedEventArgs e)
 {
     int eventIdentifier = CreateIdentifierFromIndexedEvent(e.IP, e.CallStackDepth);
     if (!selectors.ContainsKey(eventIdentifier))
         selectors.Add(eventIdentifier, new Selector(eventIdentifier, e.Index, e.CallStackDepth));
     else
     {
         graphics[selectors[eventIdentifier].Index].Deselect(selectors[eventIdentifier]);
     }
     selectors[eventIdentifier].Index = e.Index;
     graphics[e.Index].Select(selectors[eventIdentifier] as ISelector);
 }
Example #5
0
 public Thread(VapeTeam.Psimulex.Core.Thread thread)
 {
     this.thread = thread;
 }
Example #6
0
 public void LoadVariable(VapeTeam.Psimulex.Core.Types.BaseType value, string name)
 {
     border.Child = Graphics.Factories.GraphicsElementFactory.Produce(value);
     titleLabel.Content = string.Format("{0} ({1} : {2})", titleLabel.Content, name, value.Type.TypeName);
     //value.Deleted += (o, e) => Close();
 }
Example #7
0
		void iterator_Changed(object sender, VapeTeam.Psimulex.Core.Types.BaseType.ValueChangedEventArgs e)
		{
			container.DrawIterator(this);
		}
Example #8
0
        //void environment_VariableDeleted(object sender, VapeTeam.Psimulex.Core.Common.VariableEventArgs e)
        //{
        //    TopState.Remove(e.Name);
        //    if (e.Variable is ICleanable)
        //        (e.Variable as ICleanable).CleanUp();
        //    setStatesSeparator();
        //}
        void environment_VariableCreated(object sender, VapeTeam.Psimulex.Core.Common.VariableEventArgs e)
        {
            if (e.Variable.Type.TypeEnum == VapeTeam.Psimulex.Core.Types.TypeEnum.Iterator)
                return;

            VariableGraphics vg = new VariableGraphics(e.Name, e.Variable);
            if (vg.Variable is IDepthChangedListener)
                depthChanged += (vg.Variable as IDepthChangedListener).DepthChanged;

            vg.MouseUp += (_s, _e) =>
            {
                if (!_e.Handled && (System.Windows.Input.Keyboard.Modifiers & System.Windows.Input.ModifierKeys.Control) == System.Windows.Input.ModifierKeys.Control)
                {
                    var watcher = new WatchWindow();
                    watcher.LoadVariable(e.Variable, e.Name);
                    watcher.Show();
                    _e.Handled = true;
                }
            };

            TopState.Add(e.Name, vg);

            setStatesSeparator();
        }
Example #9
0
 void System_ThreadInstructionPointerChanged(object sender, VapeTeam.Psimulex.Core.OperatingSystem.ThreadInstructionPointerChangedEventArgs e)
 {
     if (e.SourcePosition != null)
     {
         HighlightCurrentStatement(e.SourcePosition.CharacterStartIndex, e.SourcePosition.CharacterEndIndex);
     }
 }