internal PropertyPage(ISldWorks app, IPageSpec spec) { m_App = app; m_Page = new GeometryFeaturePropertyPage <TPage> (m_App, spec); m_Page.Handler.DataChanged += OnDataChanged; m_Page.Handler.Closed += OnPageClosed; m_Page.Handler.Closing += OnClosing; }
public PropertyManagerPageEx(ISldWorks app, IPageSpec pageSpec) { m_App = app; m_Logger = LoggerFactory.Create(this); m_IconsConv = new IconsConverter(); m_Handler = new THandler(); m_PmpBuilder = new PropertyManagerPageBuilder <THandler>(app, m_IconsConv, m_Handler, pageSpec, Logger); }
internal PropertyManagerPageBuilder(ISldWorks app, IconsConverter iconsConv, THandler handler, IPageSpec pageSpec, ILogger logger) : this(new PmpTypeDataBinder(), new PropertyManagerPageConstructor <THandler>(app, iconsConv, handler), new PropertyManagerPageGroupConstructor <THandler>(), new PropertyManagerPageTextBoxConstructor <THandler>(app, iconsConv), new PropertyManagerPageNumberBoxConstructor <THandler>(app, iconsConv), new PropertyManagerPageCheckBoxConstructor <THandler>(app, iconsConv), new PropertyManagerPageComboBoxConstructor <THandler>(app, iconsConv), new PropertyManagerPageSelectionBoxConstructor <THandler>(app, iconsConv, logger), new PropertyManagerPageOptionBoxConstructor <THandler>(app, iconsConv), new PropertyManagerPageButtonConstructor <THandler>(app, iconsConv), new PropertyManagerPageBitmapConstructor <THandler>(app, iconsConv), new PropertyManagerPageTabConstructor <THandler>(iconsConv)) { m_PageSpec = pageSpec; }
public SwPropertyManagerPage(ISldWorks app, IPageSpec pageSpec, ILogger logger, Type handlerType) { m_App = app; Logger = logger; m_IconsConv = new IconsConverter(); //TODO: validate that handlerType inherits PropertyManagerPageHandlerEx and it is COM visible with parameterless constructor Handler = (SwPropertyManagerPageHandler)Activator.CreateInstance(handlerType); Handler.DataChanged += OnDataChanged; Handler.Closed += OnClosed; Handler.Closing += OnClosing; m_PmpBuilder = new PropertyManagerPageBuilder(app, m_IconsConv, Handler, pageSpec, Logger); }
internal SwPropertyManagerPage(ISwApplication app, IPageSpec pageSpec, IServiceProvider svcProvider, SwPropertyManagerPageHandler handler, CreateDynamicControlsDelegate createDynCtrlHandler) { m_App = app; m_IsDisposed = false; m_SvcProvider = svcProvider; m_Logger = m_SvcProvider.GetService <IXLogger>(); m_IconsConv = m_SvcProvider.GetService <IIconsCreator>(); //TODO: validate that handler is COM visible Handler = handler; Handler.Closed += OnClosed; Handler.Closing += OnClosing; m_PmpBuilder = new PropertyManagerPageBuilder(app, m_IconsConv, Handler, pageSpec, m_Logger); m_ContextProvider = new BaseContextProvider(); m_Page = m_PmpBuilder.CreatePage <TModel>(createDynCtrlHandler, m_ContextProvider); var ctrls = new List <IPropertyManagerPageElementEx>(); foreach (var binding in m_Page.Binding.Bindings) { binding.Changed += OnBindingValueChanged; var ctrl = binding.Control; if (ctrl is IPropertyManagerPageElementEx) { ctrls.Add((IPropertyManagerPageElementEx)ctrl); } else { m_Logger.Log($"Unrecognized control type: {ctrl?.GetType().FullName}", XCad.Base.Enums.LoggerMessageSeverity_e.Error); } } Controls = ctrls.ToArray(); }
internal PmpAttributeSet(IAttributeSet baseAttSet, IPageSpec pageSpec) { m_BaseAttSet = baseAttSet; if (!Has <PageOptionsAttribute>()) { Add(new PageOptionsAttribute(new TitleIcon(pageSpec.Icon), pageSpec.Options)); } if (string.IsNullOrEmpty(baseAttSet.Name) || baseAttSet.Name == BoundType.Name) { m_Title = pageSpec.Title; } else { m_Title = baseAttSet.Name; } }
internal PropertyManagerPageBuilder(ISwApplication app, IconsConverter iconsConv, SwPropertyManagerPageHandler handler, IPageSpec pageSpec, IXLogger logger) : this(app, new PmpTypeDataBinder(), new PropertyManagerPageConstructor(app.Sw, iconsConv, handler), new PropertyManagerPageGroupControlConstructor(), new PropertyManagerPageTextBoxControlConstructor(app.Sw, iconsConv), new PropertyManagerPageNumberBoxConstructor(app.Sw, iconsConv), new PropertyManagerPageCheckBoxControlConstructor(app.Sw, iconsConv), new PropertyManagerPageEnumComboBoxControlConstructor(app.Sw, iconsConv), new PropertyManagerPageCustomItemsComboBoxControlConstructor(app, iconsConv), new PropertyManagerPageSelectionBoxControlConstructor(app, iconsConv, logger), new PropertyManagerPageOptionBoxConstructor(app.Sw, iconsConv), new PropertyManagerPageButtonControlConstructor(app.Sw, iconsConv), new PropertyManagerPageBitmapControlConstructor(app.Sw, iconsConv), new PropertyManagerPageTabConstructor(iconsConv), new PropertyManagerPageCustomControlConstructor(app.Sw, iconsConv), new PropertyManagerPageBitmapButtonConstructor(app.Sw, iconsConv)) { m_PageSpec = pageSpec; }
internal SwPropertyManagerPage(ISwApplication app, IPageSpec pageSpec, IXLogger logger, Type handlerType) { m_App = app; Logger = logger; m_IconsConv = new IconsConverter(); //TODO: validate that handlerType inherits PropertyManagerPageHandlerEx and it is COM visible with parameterless constructor Handler = (SwPropertyManagerPageHandler)Activator.CreateInstance(handlerType); Handler.DataChanged += OnDataChanged; Handler.Closed += OnClosed; Handler.Closing += OnClosing; m_PmpBuilder = new PropertyManagerPageBuilder(app, m_IconsConv, Handler, pageSpec, Logger); m_Page = m_PmpBuilder.CreatePage <TModel>(); Controls = m_Page.Binding.Bindings.Select(b => b.Control) .OfType <IPropertyManagerPageControlEx>().ToArray(); }
internal PmpAttributeSet(IAttributeSet baseAttSet, IPageSpec pageSpec) { m_BaseAttSet = baseAttSet; if (!Has <PageOptionsAttribute>()) { //TODO: process pageSpec.Icon Add(new PageOptionsAttribute(pageSpec.Options)); } if (string.IsNullOrEmpty(baseAttSet.Name) || baseAttSet.Name == ContextType.Name) { Name = pageSpec.Title; } else { Name = baseAttSet.Name; } }
internal GeometryFeaturePropertyPage(ISldWorks app, IPageSpec pageSpec) : base(app, pageSpec) { }