/// ------------------------------------------------------------------------------------
 /// <summary>
 /// Make one to establish the selection indicated by the helper when the current UOW on
 /// the action handler completes, if the selection has been made invalid.
 /// </summary>
 /// <param name="hookup">The hookup.</param>
 /// <param name="sel">The selection.</param>
 /// <param name="helper">The selection helper to use if the selection has been
 /// invalidated.</param>
 /// ------------------------------------------------------------------------------------
 public RequestSelectionByHelper(IActionHandlerExtensions hookup, IVwSelection sel, SelectionHelper helper)
 {
     m_hookup = hookup;
     m_helper = helper;
     m_sel    = sel;
     if (helper != null)
     {
         m_hookup.DoAtEndOfPropChanged(m_hookup_PropChangedCompleted);
     }
 }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Register a call back with the action handler so that the selection can be set in the
        /// new note when the UOW is completed.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        private void RegisterScrollCallBack(int bookNewNote, int indexNewNote)
        {
            m_bookNewNote  = bookNewNote;
            m_indexNewNote = indexNewNote;
            IActionHandlerExtensions handler = Cache.ActionHandlerAccessor as IActionHandlerExtensions;

            if (handler != null)
            {
                handler.DoAtEndOfPropChanged(ScrollAfterPropChangedCompleted);
            }
        }
		/// -----------------------------------------------------------------------------------
		/// <summary>
		/// Make one and hook it up to be called at the appropriate time.
		/// </summary>
		/// -----------------------------------------------------------------------------------
		public RequestSelectionHelper(IActionHandlerExtensions hookup, IVwRootBox rootb, int ihvoRoot,
			SelLevInfo[] rgvsli, int tagTextProp, int cpropPrevious, int ich, int wsAlt, bool fAssocPrev,
			ITsTextProps selProps)
		{
			m_hookup = hookup;
			m_rootb = rootb;
			m_ihvoRoot = ihvoRoot;
			m_rgvsli = rgvsli;
			m_tagTextProp = tagTextProp;
			m_cpropPrevious = cpropPrevious;
			m_ich = ich;
			m_wsAlt = wsAlt;
			m_fAssocPrev = fAssocPrev;
			m_selProps = selProps;
			m_hookup.DoAtEndOfPropChanged(m_hookup_PropChangedCompleted);
		}
 /// -----------------------------------------------------------------------------------
 /// <summary>
 /// Make one and hook it up to be called at the appropriate time.
 /// </summary>
 /// -----------------------------------------------------------------------------------
 public RequestSelectionHelper(IActionHandlerExtensions hookup, IVwRootBox rootb, int ihvoRoot,
                               SelLevInfo[] rgvsli, int tagTextProp, int cpropPrevious, int ich, int wsAlt, bool fAssocPrev,
                               ITsTextProps selProps)
 {
     m_hookup        = hookup;
     m_rootb         = rootb;
     m_ihvoRoot      = ihvoRoot;
     m_rgvsli        = rgvsli;
     m_tagTextProp   = tagTextProp;
     m_cpropPrevious = cpropPrevious;
     m_ich           = ich;
     m_wsAlt         = wsAlt;
     m_fAssocPrev    = fAssocPrev;
     m_selProps      = selProps;
     m_hookup.DoAtEndOfPropChanged(m_hookup_PropChangedCompleted);
 }
		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Make one to establish the selection indicated by the helper when the current UOW on
		/// the action handler completes, if the selection has been made invalid.
		/// </summary>
		/// <param name="hookup">The hookup.</param>
		/// <param name="sel">The selection.</param>
		/// <param name="helper">The selection helper to use if the selection has been
		/// invalidated.</param>
		/// ------------------------------------------------------------------------------------
		public RequestSelectionByHelper(IActionHandlerExtensions hookup, IVwSelection sel, SelectionHelper helper)
		{
			m_hookup = hookup;
			m_helper = helper;
			m_sel = sel;
			if (helper != null)
				m_hookup.DoAtEndOfPropChanged(m_hookup_PropChangedCompleted);
		}