public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { if ((value is ColorValue) && (provider != null)) { IWindowsFormsEditorService service = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; if (service != null) { using (ColorDialog frm = new ColorDialog()) { frm.Color = ColorValueConverter.ToColor((ColorValue)value); if (frm.ShowDialog() == DialogResult.OK) { value = ColorValueConverter.FromColor(frm.Color); } } } } return(value); }
private LogPacket[] CreatePacketFromSelection() { LogPacket[] ret = null; try { if (hexBox.CanCopy()) { long startPos = hexBox.SelectionStart; long length = hexBox.SelectionLength; if (startPos >= 0) { byte[] data = new byte[length]; for (long i = 0; i < length; ++i) { data[i] = _provider.ReadByte(startPos + i); } ret = new LogPacket[1]; ret[0] = new LogPacket("Hex", Guid.NewGuid(), "Hex Copy", new DataFrame(data), ColorValueConverter.FromColor(this.HexColor)); } } } catch (ArgumentOutOfRangeException) { } return(ret ?? new LogPacket[0]); }