/*----------------------------------------------------------------
// 文件名: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;
}
}
}