private void TryCreateIcons(IIconsCreator iconsConverter) { IXImage icon = null; this.GetType().TryGetAttribute <IconAttribute>(a => { icon = a.Icon; }); if (icon == null) { icon = Defaults.Icon; } //TODO: create different icons for highlighted and suppressed var regular = icon; var highlighted = icon; var suppressed = icon; //Creation of icons may fail if user doesn't have write permissions or icon is locked try { iconsConverter.ConvertIcon(new MacroFeatureIcon(icon, MacroFeatureIconInfo.RegularName)); iconsConverter.ConvertIcon(new MacroFeatureIcon(highlighted, MacroFeatureIconInfo.HighlightedName)); iconsConverter.ConvertIcon(new MacroFeatureIcon(suppressed, MacroFeatureIconInfo.SuppressedName)); iconsConverter.ConvertIcon(new MacroFeatureHighResIcon(icon, MacroFeatureIconInfo.RegularName)); iconsConverter.ConvertIcon(new MacroFeatureHighResIcon(highlighted, MacroFeatureIconInfo.HighlightedName)); iconsConverter.ConvertIcon(new MacroFeatureHighResIcon(suppressed, MacroFeatureIconInfo.SuppressedName)); } catch (Exception ex) { Logger.Log(ex); } }
protected PropertyManagerPageBaseControlConstructor(ISldWorks app, swPropertyManagerPageControlType_e type, IIconsCreator iconsConv) { m_App = app; m_IconConv = iconsConv; m_Type = type; }
private void CreateIcons(CommandGroup cmdGroup, CommandGroupSpec cmdBar, IIconsCreator iconsConv) { var mainIcon = cmdBar.Icon; if (mainIcon == null) { mainIcon = Defaults.Icon; } IXImage[] iconList = null; if (cmdBar.Commands != null) { iconList = cmdBar.Commands.Select(c => c.Icon ?? Defaults.Icon).ToArray(); } //NOTE: if commands are not used, main icon will fail if toolbar commands image list is not specified, so it is required to specify it explicitly if (CompatibilityUtils.SupportsHighResIcons(m_App.Sw, CompatibilityUtils.HighResIconsScope_e.CommandManager)) { var iconsList = iconsConv.ConvertIcon(new CommandGroupHighResIcon(mainIcon)); cmdGroup.MainIconList = iconsList; if (iconList != null && iconList.Any()) { cmdGroup.IconList = iconsConv.ConvertIconsGroup( iconList.Select(i => new CommandGroupHighResIcon(i)).ToArray()); } else { cmdGroup.IconList = iconsList; } } else { var mainIconPath = iconsConv.ConvertIcon(new CommandGroupIcon(mainIcon)); var smallIcon = mainIconPath[0]; var largeIcon = mainIconPath[1]; cmdGroup.SmallMainIcon = smallIcon; cmdGroup.LargeMainIcon = largeIcon; if (iconList != null && iconList.Any()) { var iconListPath = iconsConv.ConvertIconsGroup(iconList.Select(i => new CommandGroupIcon(i)).ToArray()); var smallIconList = iconListPath[0]; var largeIconList = iconListPath[1]; cmdGroup.SmallIconList = smallIconList; cmdGroup.LargeIconList = largeIconList; } else { cmdGroup.SmallIconList = smallIcon; cmdGroup.LargeIconList = largeIcon; } } }
public PropertyManagerPageBitmapControl(IIconsCreator iconsConv, int id, object tag, Size?size, IPropertyManagerPageBitmap bitmap, SwPropertyManagerPageHandler handler) : base(bitmap, id, tag, handler) { m_Size = size.HasValue ? size.Value : new Size(36, 36); m_IconsConv = iconsConv; }
internal PropertyManagerPageConstructor(ISldWorks app, IIconsCreator iconsConv, SwPropertyManagerPageHandler handler) { m_App = app; m_IconsConv = iconsConv; m_Handler = handler; handler.Init(m_App); }
private ITaskpaneView CreateTaskPaneView(IIconsCreator iconConv, IXImage icon, string title) { if (icon == null) { if (Spec.Icon != null) { icon = Spec.Icon; } } if (string.IsNullOrEmpty(title)) { title = Spec.Title; } ITaskpaneView taskPaneView; if (m_App.Sw.SupportsHighResIcons(CompatibilityUtils.HighResIconsScope_e.TaskPane)) { string[] taskPaneIconImages = null; if (icon != null) { taskPaneIconImages = iconConv.ConvertIcon(new TaskPaneHighResIcon(icon)); } taskPaneView = m_App.Sw.CreateTaskpaneView3(taskPaneIconImages, title); } else { var taskPaneIconImage = ""; if (icon != null) { taskPaneIconImage = iconConv.ConvertIcon(new TaskPaneIcon(icon)).First(); } taskPaneView = m_App.Sw.CreateTaskpaneView2(taskPaneIconImage, title); } LoadButtons(taskPaneView, m_App.Sw); return(taskPaneView); }
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 PropertyManagerPageBuilder(ISwApplication app, IIconsCreator 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, IServiceProvider svcProvider, Type handlerType) { m_App = app; m_SvcProvider = svcProvider; m_Logger = m_SvcProvider.GetService <IXLogger>(); m_IconsConv = m_SvcProvider.GetService <IIconsCreator>(); //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, m_Logger); m_Page = m_PmpBuilder.CreatePage <TModel>(); Controls = m_Page.Binding.Bindings.Select(b => b.Control) .OfType <IPropertyManagerPageControlEx>().ToArray(); }
public PropertyManagerPageButtonControlConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_Button, iconsConv) { }
public PropertyManagerPageListBoxControlConstructor(ISwApplication app, IIconsCreator iconsConv) : base(app.Sw, swPropertyManagerPageControlType_e.swControlType_Listbox, iconsConv) { m_SwApp = app; m_Helper = new PropertyManagerPageItemsControlConstructorHelper(); }
public PropertyManagerPageNumberBoxConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_Numberbox, iconsConv) { }
public PropertyManagerPageCustomItemsComboBoxControlConstructor(ISwApplication app, IIconsCreator iconsConv) : base(app, iconsConv) { }
public PropertyManagerPageTabConstructor(IIconsCreator iconsConv) { m_IconsConv = iconsConv; }
public PropertyManagerPageSelectionBoxControlConstructor(ISwApplication app, IIconsCreator iconsConv, IXLogger logger) : base(app.Sw, swPropertyManagerPageControlType_e.swControlType_Selectionbox, iconsConv) { m_SwApp = app; m_Logger = logger; }
public PropertyManagerPageCustomControlConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_WindowFromHandle, iconsConv) { }
public PropertyManagerPageEnumComboBoxControlConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, iconsConv) { }
public PropertyManagerPageComboBoxControlConstructorBase(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_Combobox, iconsConv) { }
public PropertyManagerPageBitmapControlConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_Bitmap, iconsConv) { m_IconsConv = iconsConv; }
public PropertyManagerPageOptionBoxConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_Option, iconsConv) { }
public PropertyManagerPageTextBlockControlConstructor(ISldWorks app, IIconsCreator iconsConv) : base(app, swPropertyManagerPageControlType_e.swControlType_Label, iconsConv) { }