/// <inheritdoc /> public void Dispose() { LogTo.Debug("Cleaning up {Name}", GetType().Name); _controlGroup?.Dispose(); SMMainWdwPtr?.Dispose(); ElementWdwPtr?.Dispose(); ElementIdPtr?.Dispose(); CurrentConceptIdPtr?.Dispose(); CurrentConceptGroupIdPtr?.Dispose(); CurrentRootIdPtr?.Dispose(); CurrentHookIdPtr?.Dispose(); LearningModePtr?.Dispose(); SMMainWdwPtr = null; ElementWdwPtr = null; ElementIdPtr = null; CurrentConceptIdPtr = null; CurrentConceptGroupIdPtr = null; CurrentRootIdPtr = null; CurrentHookIdPtr = null; LearningModePtr = null; LogTo.Debug("Cleaning up {Name}... Done", GetType().Name); }
public bool SetCurrentConcept(int conceptId) { var concept = Core.SM.Registry.Concept[conceptId]; if (concept == null || concept.Empty) { return(false); } // SetDefaultConcept is actually a TSMMain method var success = Core.Natives.SMMain.SelectDefaultConcept(SMMainWdwPtr.Read <IntPtr>(), conceptId); return(success && CurrentConceptId == conceptId); }