using System.Runtime.InteropServices; using Xarial.XCad.Features.CustomFeature.Delegates; using Xarial.XCad.Features.CustomFeature.Structures; using Xarial.XCad.SolidWorks; using Xarial.XCad.SolidWorks.Documents; using Xarial.XCad.SolidWorks.Features.CustomFeature; namespace Xarial.XCad.Documentation { public class EditMacroFeatureDefinitionParameters { //TODO: add properties } [ComVisible(true)] public class EditMacroFeatureDefinition : SwMacroFeatureDefinition { public override CustomFeatureRebuildResult OnRebuild(ISwApplication app, ISwDocument model, ISwMacroFeature feature, EditMacroFeatureDefinitionParameters parameters, out AlignDimensionDelegate alignDim) { alignDim = null; return new CustomFeatureRebuildResult() { Result = true }; } public override bool OnEditDefinition(ISwApplication app, ISwDocument model, ISwMacroFeature feature) { if (ShowPage(feature.Parameters, out EditMacroFeatureDefinitionParameters newParams)) { feature.Parameters = newParams; return true; } else { feature.Parameters = null; return false; } } private bool ShowPage(EditMacroFeatureDefinitionParameters parameters, out EditMacroFeatureDefinitionParameters newParameters) { //TODO: Show property page or any other user interface newParameters = null; return true; } } }