public MonoDevelopHexEditorStyle (Mono.MHex.HexEditor hexEditor)
		{
			this.hexEditor = hexEditor;
			SetStyle ();
			IdeApp.Preferences.ColorSchemeChanged += delegate {
				SetStyle ();
				this.hexEditor.Options.RaiseChanged ();
				this.hexEditor.PurgeLayoutCaches ();
				this.hexEditor.Repaint ();
			};
		}
 public MonoDevelopHexEditorStyle(Mono.MHex.HexEditor hexEditor)
 {
     this.hexEditor = hexEditor;
     SetStyle();
     IdeApp.Preferences.ColorSchemeChanged += delegate {
         SetStyle();
         this.hexEditor.Options.RaiseChanged();
         this.hexEditor.PurgeLayoutCaches();
         this.hexEditor.Repaint();
     };
 }
		public MonoDevelopHexEditorStyle (Mono.MHex.HexEditor hexEditor)
		{
			this.hexEditor = hexEditor;
			SetStyle ();
			PropertyService.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) {
				if (e.Key == "ColorScheme") {
					SetStyle ();
					this.hexEditor.Options.RaiseChanged ();
					this.hexEditor.PurgeLayoutCaches ();
					this.hexEditor.Repaint ();
				}
			};
		}
예제 #4
0
        public override Widget GetVisualizerWidget(ObjectValue val)
        {
            hexEditor = new Mono.MHex.HexEditor();

            byte[] buf = null;

            if (val.TypeName != "string")
            {
                var     raw = val.GetRawValue() as RawValueArray;
                sbyte[] sbuf;

                switch (val.TypeName)
                {
                case "sbyte[]":
                    sbuf = raw.ToArray() as sbyte[];
                    buf  = new byte[sbuf.Length];
                    for (int i = 0; i < sbuf.Length; i++)
                    {
                        buf[i] = (byte)sbuf[i];
                    }
                    break;

                case "char[]":
                    buf = Encoding.Unicode.GetBytes(new string (raw.ToArray() as char[]));
                    break;

                case "byte[]":
                    buf = raw.ToArray() as byte[];
                    break;
                }
            }
            else
            {
                var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone();
                ops.ChunkRawStrings = true;

                var raw = val.GetRawValue(ops) as RawValueString;

                buf = Encoding.Unicode.GetBytes(raw.Value);
            }

            hexEditor.HexEditorData.Buffer = new ArrayBuffer(buf);
            hexEditor.Sensitive            = CanEdit(val);

            var xwtScrollView = new Xwt.ScrollView(hexEditor);
            var scrollWidget  = (Widget)Xwt.Toolkit.CurrentEngine.GetNativeWidget(xwtScrollView);

            SetHexEditorOptions();
            hexEditor.SetFocus();
            return(scrollWidget);
        }
 public MonoDevelopHexEditorStyle(Mono.MHex.HexEditor hexEditor)
 {
     this.hexEditor = hexEditor;
     SetStyle();
     PropertyService.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e) {
         if (e.Key == "ColorScheme")
         {
             SetStyle();
             this.hexEditor.Options.RaiseChanged();
             this.hexEditor.PurgeLayoutCaches();
             this.hexEditor.Repaint();
         }
     };
 }
예제 #6
0
        public override Widget GetVisualizerWidget(ObjectValue val)
        {
            var options = DebuggingService.DebuggerSession.EvaluationOptions.Clone();

            options.AllowTargetInvoke = true;
            options.ChunkRawStrings   = true;

            IBuffer buffer = null;

            hexEditor = new Mono.MHex.HexEditor();

            if (val.TypeName != "string")
            {
                var raw = (RawValueArray)val.GetRawValue(options);

                switch (val.TypeName)
                {
                case "sbyte[]":
                    buffer = new RawSByteArrayBuffer(raw);
                    break;

                case "char[]":
                    buffer = new RawCharArrayBuffer(raw);
                    break;

                case "byte[]":
                    buffer = new RawByteArrayBuffer(raw);
                    break;
                }
            }
            else
            {
                buffer = new RawStringBuffer((RawValueString)val.GetRawValue(options));
            }

            hexEditor.HexEditorData.Buffer = buffer;
            hexEditor.Sensitive            = CanEdit(val);

            var xwtScrollView = new Xwt.ScrollView(hexEditor);
            var scrollWidget  = (Widget)Xwt.Toolkit.CurrentEngine.GetNativeWidget(xwtScrollView);

            SetHexEditorOptions();
            hexEditor.SetFocus();

            return(scrollWidget);
        }
예제 #7
0
		public override Widget GetVisualizerWidget (ObjectValue val)
		{
			hexEditor = new Mono.MHex.HexEditor ();

			byte[] buf = null;

			if (val.TypeName != "string") {
				var raw = val.GetRawValue () as RawValueArray;
				sbyte[] sbuf;

				switch (val.TypeName) {
				case "sbyte[]":
					sbuf = raw.ToArray () as sbyte[];
					buf = new byte[sbuf.Length];
					for (int i = 0; i < sbuf.Length; i++)
						buf[i] = (byte) sbuf[i];
					break;
				case "char[]":
					buf = Encoding.Unicode.GetBytes (new string (raw.ToArray () as char[]));
					break;
				case "byte[]":
					buf = raw.ToArray () as byte[];
					break;
				}
			} else {
				var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone ();
				ops.ChunkRawStrings = true;

				var raw = val.GetRawValue (ops) as RawValueString;

				buf = Encoding.Unicode.GetBytes (raw.Value);
			}

			hexEditor.HexEditorData.Buffer = new ArrayBuffer (buf);
			hexEditor.Sensitive = CanEdit (val);

			var xwtScrollView = new Xwt.ScrollView (hexEditor);
			var scrollWidget = (Widget) Xwt.Toolkit.CurrentEngine.GetNativeWidget (xwtScrollView);
			SetHexEditorOptions ();
			hexEditor.SetFocus ();
			return scrollWidget;
		}
예제 #8
0
		public override Widget GetVisualizerWidget (ObjectValue val)
		{
			hexEditor = new Mono.MHex.HexEditor ();

			IBuffer buffer = null;

			if (val.TypeName != "string") {
				var raw = (RawValueArray) val.GetRawValue ();

				switch (val.TypeName) {
				case "sbyte[]":
					buffer = new RawSByteArrayBuffer (raw);
					break;
				case "char[]":
					buffer = new RawCharArrayBuffer (raw);
					break;
				case "byte[]":
					buffer = new RawByteArrayBuffer (raw);
					break;
				}
			} else {
				var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone ();
				ops.ChunkRawStrings = true;

				buffer = new RawStringBuffer ((RawValueString) val.GetRawValue (ops));
			}

			hexEditor.HexEditorData.Buffer = buffer;
			hexEditor.Sensitive = CanEdit (val);

			var xwtScrollView = new Xwt.ScrollView (hexEditor);
			var scrollWidget = (Widget) Xwt.Toolkit.CurrentEngine.GetNativeWidget (xwtScrollView);
			SetHexEditorOptions ();
			hexEditor.SetFocus ();

			return scrollWidget;
		}
 public MonoDevelopHexEditorStyle(Mono.MHex.HexEditor hexEditor)
 {
     this.hexEditor = hexEditor;
     SetStyle();
     IdeApp.Preferences.ColorScheme.Changed += ColorSchemeChanged;
 }
		public MonoDevelopHexEditorStyle (Mono.MHex.HexEditor hexEditor)
		{
			this.hexEditor = hexEditor;
			SetStyle ();
			IdeApp.Preferences.ColorScheme.Changed += ColorSchemeChanged;
		}