Exemple #1
0
        /// <summary>
        /// Can the client do the command?</summary>
        /// <param name="commandTag">Command</param>
        /// <returns>true, iff client can do the command</returns>
        public bool CanDoCommand(object commandTag)
        {
            if (!(commandTag is Command))
            {
                return(false);
            }

            var activeControl = (NativeDesignControl)m_designView.ActiveView;
            var rs            = activeControl.RenderState;
            var cam           = activeControl.Camera;

            {
                var context = m_rsPropertyGrid.GetGrid(0).PropertyGridView.EditingContext as RenderStateEditingContext;
                if (context == null || context.Item != rs)
                {
                    context = new RenderStateEditingContext(rs);
                    m_rsPropertyGrid.GetGrid(0).Bind(context);
                }
            }

            {
                var context = m_rsPropertyGrid.GetGrid(1).PropertyGridView.EditingContext as CameraEditingContext;
                if (context == null || context.Item != cam)
                {
                    context = new CameraEditingContext(cam);
                    m_rsPropertyGrid.GetGrid(1).Bind(context);
                }
            }

            switch ((Command)commandTag)
            {
            case Command.RenderSmooth:
            case Command.RenderWireFrame:
            case Command.RenderOutlined:
            case Command.RenderLight:
            case Command.RenderBackFace:
            case Command.RenderShadow:
            case Command.RenderNormals:
            case Command.RenderCycle:
                //  case Command.RealTime:
                return(true);

            case Command.RenderTextured:
                return((rs.RenderFlag & GlobalRenderFlags.Solid) != 0);
            }

            return(false);
        }
Exemple #2
0
        /// <summary>
        /// Can the client do the command?</summary>
        /// <param name="commandTag">Command</param>
        /// <returns>true, iff client can do the command</returns>
        public bool CanDoCommand(object commandTag)
        {
            if (!(commandTag is Command))
                return false;

            var activeControl = (NativeDesignControl)m_designView.ActiveView;
            var rs = activeControl.RenderState;
            var cam = activeControl.Camera;

            {
                var context = m_rsPropertyGrid.GetGrid(0).PropertyGridView.EditingContext as RenderStateEditingContext;
                if (context == null || context.Item != rs)
                {
                    context = new RenderStateEditingContext(rs);
                    m_rsPropertyGrid.GetGrid(0).Bind(context);
                }
            }

            {
                var context = m_rsPropertyGrid.GetGrid(1).PropertyGridView.EditingContext as CameraEditingContext;
                if (context == null || context.Item != cam)
                {
                    context = new CameraEditingContext(cam);
                    m_rsPropertyGrid.GetGrid(1).Bind(context);
                }
            }

            switch ((Command)commandTag)
            {
                case Command.RenderSmooth:
                case Command.RenderWireFrame:
                case Command.RenderOutlined:
                case Command.RenderLight:
                case Command.RenderBackFace:
                case Command.RenderShadow:
                case Command.RenderNormals:
                case Command.RenderCycle:
                    //  case Command.RealTime:
                    return true;
                case Command.RenderTextured:
                    return (rs.RenderFlag & GlobalRenderFlags.Solid) != 0;
            }

            return false;
        }
Exemple #3
0
        void BindToControl(NativeDesignControl ctrl)
        {
            var rs  = ctrl.RenderState;
            var cam = ctrl.Camera;

            {
                var context = m_rsPropertyGrid.GetGrid(0).PropertyGridView.EditingContext as RenderStateEditingContext;
                if (context == null || context.Item != rs)
                {
                    context = new RenderStateEditingContext(rs);
                    m_rsPropertyGrid.GetGrid(0).Bind(context);
                }
            }

            {
                var context = m_rsPropertyGrid.GetGrid(1).PropertyGridView.EditingContext as CameraEditingContext;
                if (context == null || context.Item != cam)
                {
                    context = new CameraEditingContext(cam);
                    m_rsPropertyGrid.GetGrid(1).Bind(context);
                }
            }
        }