public RendererSetupClipboardData(RendererSetup renderer) : base(renderer, "Renderer Setup") { }
private void _listBox_SelectedIndexChanged(object sender, EventArgs e) { int iSelIndex = _listBox.SelectedIndex; if (iSelIndex == ITEM_COPY) { EditorManager.Clipboard.Data = new RendererSetupClipboardData((RendererSetup)_rendererSetup.Clone()); } if (iSelIndex == ITEM_PASTE) { _rendererSetup = (RendererSetup)_clipboardVersion.Clone(); // do not need to send action - just return differnt return value //EditorManager.Actions.Add(SetPropertyAction.CreateSetPropertyAction(_layer,"RendererSetup",_clipboardVersion.Clone())); } if (iSelIndex == ITEM_LOAD) { LoadRendererSettings(); } if (iSelIndex == ITEM_SAVE) { SaveRendererSettings(); } if (iSelIndex == ITEM_EXPORT) { ExportRendererSettings(); } editorService.CloseDropDown(); }
void LoadRendererSettings() { OpenFileDialog dlg = new OpenFileDialog(); dlg.InitialDirectory = EditorManager.Project.ProjectDir; dlg.FileName = null; dlg.Filter = "Renderer Setup|*.Renderer"; dlg.Title = "Load renderer setup from file"; if (dlg.ShowDialog() != DialogResult.OK) return; string filename = dlg.FileName; dlg.Dispose(); RendererSetup _setup = null; try { BinaryFormatter fmt = SerializationHelper.BINARY_FORMATTER; FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read); _setup = (RendererSetup)fmt.Deserialize(fs); fs.Close(); } catch (Exception ex) { EditorManager.ShowMessageBox("Failed to load renderer setup from file:\n\n" + ex.Message, "Error loading file", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (_setup != null) _rendererSetup = _setup; // new return value }
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; _rendererSetup = value as RendererSetup; _layer = context.Instance as V3DLayer; _listBox.Items.Clear(); if (_rendererSetup == null || _layer == null) return value; bool bHasNodeClass = !string.IsNullOrEmpty(_rendererSetup._rendererNodeClass) && _rendererSetup._rendererNodeClass != EditorManager.RendererNodeManager.DefaultRendererNodeClass; _clipboardVersion = EditorManager.Clipboard.DataObject as RendererSetup; if (bHasNodeClass) ITEM_COPY = _listBox.Items.Add("Copy"); if (_clipboardVersion != null) ITEM_PASTE = _listBox.Items.Add("Paste"); ITEM_LOAD = _listBox.Items.Add("Load from external file"); if (bHasNodeClass) { ITEM_SAVE = _listBox.Items.Add("Save to external file"); ITEM_EXPORT = _listBox.Items.Add("Export to engine file"); } editorService.DropDownControl(_listBox); return _rendererSetup; // might have changed }
static void Postfix() { RendererSetup.SetupProbes(); }
static void Postfix(Male __instance) { RendererSetup.SetupProbes(__instance); }