///////////////////////////////////////////////////////////////////////////// // Overriden Package Implementation #region Package Members /// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initilaization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString())); base.Initialize(); // required // Proffer the service. IServiceContainer serviceContainer = this as IServiceContainer; PascalLanguageService langService = new PascalLanguageService(); langService.SetSite(this); serviceContainer.AddService(typeof(PascalLanguageService), langService, true); // Register a timer to call our language service during // idle periods. IOleComponentManager mgr = GetService(typeof(SOleComponentManager)) as IOleComponentManager; if (m_componentID == 0 && mgr != null) { OLECRINFO[] crinfo = new OLECRINFO[1]; crinfo[0].cbSize = (uint)Marshal.SizeOf(typeof(OLECRINFO)); crinfo[0].grfcrf = (uint)_OLECRF.olecrfNeedIdleTime | (uint)_OLECRF.olecrfNeedPeriodicIdleTime; crinfo[0].grfcadvf = (uint)_OLECADVF.olecadvfModal | (uint)_OLECADVF.olecadvfRedrawOff | (uint)_OLECADVF.olecadvfWarningsOff; crinfo[0].uIdleTimeInterval = 1000; int hr = mgr.FRegisterComponent(this, crinfo, out m_componentID); } }
public int FDoIdle(uint grfidlef) { PascalLanguageService pl = GetService(typeof(PascalLanguageService)) as PascalLanguageService; if (pl != null) { pl.OnIdle((grfidlef & (uint)_OLEIDLEF.oleidlefPeriodic) != 0); } //if (null != libraryManager) //{ // libraryManager.OnIdle(); //} return(0); }