////////////////////////////////////////////////////////////////////////// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context == null) { return(value); } NativePropProxy Proxy = context.Instance as NativePropProxy; if (Proxy == null || Proxy.NativeObject == null) { SystemSounds.Asterisk.Play(); return(value); } WUITiledImage OrigObj = value as WUITiledImage; TiledImgAssignForm dlg = new TiledImgAssignForm(); dlg.Game = Proxy.NativeObject.Game; dlg.ParentForm = Form.ActiveForm; dlg.Filter = "Tiled images|*.image"; if (OrigObj != null && OrigObj.Filename != null) { dlg.Filename = OrigObj.Filename; } DialogResult Res = dlg.ShowDialog(); switch (Res) { case DialogResult.OK: try { WUITiledImage NewObj = new WUITiledImage(Proxy.NativeObject.Game); if (!NewObj.LoadFromFile(dlg.Filename)) { NewObj.Dispose(); return(value); } else { return(NewObj); } } catch { return(value); } case DialogResult.Abort: return(null); default: return(value); } }
////////////////////////////////////////////////////////////////////////// private void LoadFile(string Filename) { WUITiledImage NewImage = new WUITiledImage(Game); if (NewImage.LoadFromFile(Filename)) { if (TiledImg != null) { TiledImg.ClaimOwnership(); TiledImg.Dispose(); } this.TiledImg = NewImage; this.Filename = Filename; this.IsDirty = false; } else { MessageBox.Show("Error loading file.", Form.ActiveForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
////////////////////////////////////////////////////////////////////////// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context == null) return value; NativePropProxy Proxy = context.Instance as NativePropProxy; if (Proxy == null || Proxy.NativeObject == null) { SystemSounds.Asterisk.Play(); return value; } WUITiledImage OrigObj = value as WUITiledImage; TiledImgAssignForm dlg = new TiledImgAssignForm(); dlg.Game = Proxy.NativeObject.Game; dlg.ParentForm = Form.ActiveForm; dlg.Filter = "Tiled images|*.image"; if (OrigObj != null && OrigObj.Filename != null) dlg.Filename = OrigObj.Filename; DialogResult Res = dlg.ShowDialog(); switch (Res) { case DialogResult.OK: try { WUITiledImage NewObj = new WUITiledImage(Proxy.NativeObject.Game); if (!NewObj.LoadFromFile(dlg.Filename)) { NewObj.Dispose(); return value; } else return NewObj; } catch { return value; } case DialogResult.Abort: return null; default: return value; } }