/// <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); }
/// <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; }
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); } } }