/*---------------------------------------------------------------- // 文件名:DataTab.cs // 文件功能描述:数据标签属性集结构体 // // // 创建标识:赵丽 2011-12-18 //----------------------------------------------------------------*/ using System; using System.Text; using Microsoft.Office.Core; namespace SunVoteARSPPT { /// /// 数据标签属性集结构体 /// public class DataTabAttributes { /// /// 数据标签的类型 /// public MsoAutoShapeType ShapeType { get; set; } /// /// 数据标签左边起点的位置 /// public float Left { get; set; } /// /// 数据标签顶部起点的位置 /// public float Top { get; set; } /// /// 数据标签的宽度 /// public float Width { get; set; } /// /// 数据标签的高度 /// public float Height { get; set; } /// /// 数据标签的文本内容 /// public string Text { get; set; } /// /// 标签的业务类型,例如签到人数、评分平均分等 /// public string Style { get; set; } /// /// 数据标签的文本字体大小 /// public float FontSize { get; set; } /// /// 数据标签的文本是否为粗体 /// public MsoTriState FontBold { get; set; } /// /// 时 间:2010-06-28 /// 创建人:易峰宇 /// 修 改:阙湘成 2010-8-10 /// 说 明:构造函数,根据类型初始化不同的实例 /// 0-计时器,1-应到人数,2-反馈人数,3-正确答案,4-答对人数,5-评分总分,6-评分平均分, /// 7-反馈人数百分比,8-反馈人数数值+百分比,9-答对人数百分比,10-答对人数数值+百分比 /// 16-评委分组平均分,17-评委分组平均分表格 /// 杨斌 2016-03-29。19-median中间值,20-range投票范围 /// /// /// 0-计时器,1-应到人数,2-反馈人数,3-正确答案,4-答对人数,5-评分总分,6-评分平均分,7-反馈人数百分比,8-反馈人数数值+百分比,9-答对人数百分比,10-答对人数数值+百分比,11-参与人数,12-平均值Mean,26-实到人数 /// 杨斌 2012-03-12 补充注释11 /// 杨斌 2014-04-14 补充12 /// 杨斌 2018-12-25 补充26-实到人数 /// 杨斌 2019-01-14 补充27-未签到人数 /// 杨斌 2019-01-14 补充28-未投票人数2=已签到人数中未投票的人数 /// 杨斌 2019-06-06,":"两边增加空格 /// public DataTabAttributes(int type, bool useRate = false) { //2012-11-30 数据标签向下移动 赵丽 int top = 60; //设置PPT页面底部的数据标签高度 杨斌 2014-09-01由45提高标签高度 //杨斌 2012-03-23 float showWith = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width;//幻灯片宽度 float labBottomWith = showWith / 5 * (float)0.95;//底部标签宽度 float labBottomLeftFirst = (showWith - labBottomWith * 5) / 6;//底部第一个标签左边距离 float labBottomStep = labBottomLeftFirst + labBottomWith;//底部标签位移 //标签位置顺序:应到人数,参与人数,投票人数,答对人数,正确答案 switch (type) { case 0: ShapeType = MsoAutoShapeType.msoShapeRoundedRectangle; Left = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width - 135; Top = 20; Width = 125; Height = 50; //2012-08-01 日本定制 时间默认15秒 if (GlobalInfo.OEMLogo == OEMLogos.oem3eAnalyzer) Text = "00:15"; else Text = "00:30"; Style = "TIMER"; FontSize = 32; FontBold = MsoTriState.msoTrue; break; case 1: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst;//杨斌 2012-03-23 Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith - 12; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "Shouldnumber", "应到人数") + " : 0"; Style = "DUENO"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 2: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber2", "反馈票数") + " : 0"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber", "反馈人数") + " : 0"; Style = "VOTENO"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 7: //投票人数百分比 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber2", "反馈票数") + " : 0%"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber", "反馈人数") + " : 0%"; Style = "VOTENOP"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 8: //投票人数数值+百分比 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber2", "反馈票数") + " : 0 0%"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber", "反馈人数") + " : 0 0%"; Style = "VOTENOPV"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 12: //平均值,杨斌 2014-04-14 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingmean", "Mean") + " : 0"; Style = "VOTEMEAN"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 29: //评议平均分,杨斌 2019-06-27 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 4; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "avgscore", "平均分") + " : 0"; Style = "GradeAvg"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 3: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 4; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "answer", "正确答案") + " : "; Style = "ANSWER"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 4: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith + 24; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "correctno", "答对人数") + " : 0"; Style = "CRRECTNO"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 9: //答对人数百分比 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith + 24; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "correctno", "答对人数") + " : 0%"; Style = "CRRECTNOP"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 10: //答对人数数值+百分比 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith + 24; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "correctno", "答对人数") + " : 0 0%"; Style = "CRRECTNOPV"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 5: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width / 2 - 30;//杨斌 2014-10-20 Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height * 0.4f - 100; Width = 150;//200杨斌 2015-11-24 Height = 70; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "sumscore", "总分") + " : 0"; Style = "SUMSCORE"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 6: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width / 2 - 30;//杨斌 2014-10-20 Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height * 0.4f; Width = 150;//200杨斌 2015-11-24 Height = 70; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "avgscore", "平均分") + " : 0"; Style = "AVGSCORE"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 11: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep - 12; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith - 12; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "participate2", "参与票数") + " : 0"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "participate", "参与人数") + " : 0"; Style = "PARTICIPATE"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; //杨斌 2015-04-20 case 13: ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMiss2", "未按票数") + " : 0"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMiss", "未按人数") + " : 0"; Style = "VOTEMiss"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 14: //投票人数百分比 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMiss2", "未按票数") + " : 0%"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMiss", "未按人数") + " : 0%"; Style = "VOTEMissP"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 15: //投票人数数值+百分比 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; if (useRate) Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMiss2", "未按票数") + " : 0 0%"; else Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMiss", "未按人数") + " : 0 0%"; Style = "VOTEMissPV"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 16://评委分组平均分 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width / 2 - 30;//杨斌 2014-10-20 Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height * 0.4f + 100; Width = 150;//200杨斌 2015-11-24 Height = 70; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "groupAvgScore", "分组平均分") + " : 0"; Style = "AVGScoreGroup"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 17://评委分组平均分表格 ShapeType = MsoAutoShapeType.msoShapeRectangle;//保留无用,实际是表格 Left = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width / 2 - 340;//杨斌 2014-10-20 Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height * 0.4f - 100; Width = 300; Height = 200; Text = "";//GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "groupAvgScoreTableCol2", "分组平均分") + " : 0"; Style = "AVGScoreTableGroup"; FontSize = 9; FontBold = MsoTriState.msoFalse; break; case 18://评委分组平均分表格组明细 ShapeType = MsoAutoShapeType.msoShapeRectangle;//保留无用,实际是表格 Left = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Width - 220;//杨斌 2014-10-20 Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height * 0.4f - 100; Width = 200; Height = 200; Text = "";//GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "groupAvgScoreTableCol2", "分组平均分") + " : 0"; Style = "AVGScoreTableGroupDetail"; FontSize = 9; FontBold = MsoTriState.msoFalse; break; case 19://中间值 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VoteMedian", "Median") + " : 0"; Style = "VoteMedian"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 20://投票范围 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VoteRange", "Range") + ":-"; Style = "VoteRange"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 21://表决通过结果。杨斌 2018-07-25 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 3 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; //VotePassResult,VotePass,VoteNotPass //Text = GlobalInfo.SysLanguage.LPT.ReadString("PanelVote", "VoteNotPass", "Not Pass"); Text = GlobalInfo.SysLanguage.LPT.ReadString("PanelVote", "VotePassResult", "Vote Pass Result") + ":-"; Style = "VotePassResult"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 22://杨斌 2018-07-30 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep - 12; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith - 12; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "participate", "参与人数") + " : 0"; Style = "PARTICIPATE_Men"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 23://杨斌 2018-07-30 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber", "反馈人数") + " : 0"; Style = "VOTENO_Men"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 24://杨斌 2018-07-30 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber", "反馈人数") + " : 0%"; Style = "VOTENOP_Men"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 25://杨斌 2018-07-30 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep * 2 - 24; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "votingnumber", "反馈人数") + " : 0 0%"; Style = "VOTENOPV_Men"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 26://杨斌 2018-12-25 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "SIGNED", "实到人数") + " : 0"; Style = "SIGNED"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 27://杨斌 2019-01-14 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "NOTSIGNED", "未到人数") + " : 0"; Style = "NOTSIGNED"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; case 28://杨斌 2019-01-14 ShapeType = MsoAutoShapeType.msoShapeRectangle; Left = labBottomLeftFirst + labBottomStep; Top = Globals.SunVoteARSAddIn.Application.ActivePresentation.SlideMaster.Height - top; Width = labBottomWith; Height = 40; Text = GlobalInfo.SysLanguage.LPT.ReadString("PPTOper", "VotingMissSigned", "已到未按人数") + " : 0"; Style = "VotingMissSigned"; FontSize = 16; FontBold = MsoTriState.msoTrue; break; } } /// /// 获得标签类型编号 /// /// /// public int GetLableType(string typeName) { int index = -1; switch (typeName) { case "TIMER": index = 0; break; case "DUENO": index = 1; break; case "VOTENO": index = 2; break; case "VOTENOP": index = 7; break; case "VOTENOPV": index = 8; break; case "ANSWER": index = 3; break; case "CRRECTNO": index = 4; break; case "CRRECTNOP": index = 9; break; case "CRRECTNOPV": index = 10; break; case "SUMSCORE": index = 5; break; case "AVGSCORE": index = 6; break; case "PARTICIPATE": index = 11; break; case "VOTEMEAN"://杨斌 2014-04-14 index = 12; break; case "VOTEMiss"://杨斌 2015-04-20 index = 13; break; case "VOTEMissP": index = 14; break; case "VOTEMissPV": index = 15; break; case "AVGScoreGroup": index = 16; break; case "AVGScoreTableGroup": index = 17; break; case "AVGScoreTableGroupDetail"://杨斌 2015-11-24 index = 18; break; case "VoteMedian"://杨斌 2016-03-29 index = 19; break; case "VoteRange"://杨斌 2016-03-29 index = 20; break; case "VotePassResult"://杨斌 2018-07-30 index = 21; break; case "PARTICIPATE_Men": index = 22; break; case "VOTENO_Men": index = 23; break; case "VOTENOP_Men": index = 24; break; case "VOTENOPV_Men": index = 25; break; case "SIGNED"://实到人数。杨斌 2018-12-25 index = 26; break; case "NOTSIGNED"://未到人数。杨斌 2019-01-14 index = 27; break; case "VotingMissSigned"://已到未按人数。杨斌 2019-01-14 index = 28; break; case "GradeAvg"://杨斌 2019-06-27 index = 29; break; } return index; } } }