/// <summary>
        /// Initialize a new instance of the MenuCheckButtonController class.
        /// </summary>
        /// <param name="viewManager">Owning view manager instance.</param>
        /// <param name="target">Target for state changes.</param>
        /// <param name="checkButton">Drawing element that owns check button display.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public MenuCheckButtonController(ViewContextMenuManager viewManager,
                                         ViewBase target,
                                         ViewDrawMenuCheckButton checkButton,
                                         NeedPaintHandler needPaint)
        {
            Debug.Assert(viewManager != null);
            Debug.Assert(target != null);
            Debug.Assert(checkButton != null);
            Debug.Assert(needPaint != null);

            ViewManager      = viewManager;
            _target          = target;
            _menuCheckButton = checkButton;
            NeedPaint        = needPaint;

            // Set initial display state
            UpdateTarget();
        }
        /// <summary>
        /// Initialize a new instance of the MenuCheckButtonController class.
        /// </summary>
        /// <param name="viewManager">Owning view manager instance.</param>
        /// <param name="target">Target for state changes.</param>
        /// <param name="checkButton">Drawing element that owns check button display.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public MenuCheckButtonController(ViewContextMenuManager viewManager,
                                         ViewBase target,
                                         ViewDrawMenuCheckButton checkButton,
                                         NeedPaintHandler needPaint)
        {
            Debug.Assert(viewManager != null);
            Debug.Assert(target != null);
            Debug.Assert(checkButton != null);
            Debug.Assert(needPaint != null);

            _viewManager = viewManager;
            _target = target;
            _menuCheckButton = checkButton;
            NeedPaint = needPaint;

            // Set initial display state
            UpdateTarget();
        }