private bool Exists(string name) { //TODO: for older that SW2014 - get all properties if (m_App.IsVersionNewerOrEqual(Enums.SwVersion_e.Sw2014)) { return(PrpMgr.Get5(name, true, out _, out _, out _) != (int)swCustomInfoGetResult_e.swCustomInfoGetResult_NotPresent); } else { var prpNames = PrpMgr.GetNames() as string[] ?? new string[0]; return(prpNames.Contains(name, StringComparer.CurrentCultureIgnoreCase)); } }
protected virtual void Dispose(bool disposing) { if (disposing) { var usedToolbarIds = new List <int>(); foreach (var grp in m_CommandBars) { if (grp.CommandGroup.HasToolbar) { usedToolbarIds.Add(grp.CommandGroup.ToolbarId); } m_Logger.Log($"Removing group: {grp.Spec.Id}"); var removeRes = false; if (m_App.IsVersionNewerOrEqual(Enums.SwVersion_e.Sw2011)) { var res = (swRemoveCommandGroupErrors)CmdMgr.RemoveCommandGroup2(grp.Spec.Id, true); removeRes = res == swRemoveCommandGroupErrors.swRemoveCommandGroup_Success; } else { removeRes = CmdMgr.RemoveCommandGroup(grp.Spec.Id); } if (!removeRes) { m_Logger.Log($"Failed to remove group: {grp.Spec.Id}"); } } TryClearDanglingToolbarIds(usedToolbarIds); m_CommandBars.Clear(); } if (CmdMgr != null) { if (Marshal.IsComObject(CmdMgr)) { Marshal.ReleaseComObject(CmdMgr); } CmdMgr = null; } }
protected virtual void Dispose(bool disposing) { if (disposing) { foreach (var grp in m_CommandBars) { m_Logger.Log($"Removing group: {grp.Spec.Id}", LoggerMessageSeverity_e.Debug); bool removeRes; if (m_App.IsVersionNewerOrEqual(SwVersion_e.Sw2011)) { var res = (swRemoveCommandGroupErrors)CmdMgr.RemoveCommandGroup2(grp.Spec.Id, true); removeRes = res == swRemoveCommandGroupErrors.swRemoveCommandGroup_Success; } else { removeRes = CmdMgr.RemoveCommandGroup(grp.Spec.Id); } if (!removeRes) { m_Logger.Log($"Failed to remove group: {grp.Spec.Id}", LoggerMessageSeverity_e.Warning); } } m_CommandBars.Clear(); } if (CmdMgr != null) { if (Marshal.IsComObject(CmdMgr)) { Marshal.ReleaseComObject(CmdMgr); } CmdMgr = null; } }