using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.PowerPoint;
using GeneralLib;
namespace SunVoteARSPPT
{
public partial class UcKeypadPara : UserControl, IPanel
{
public TagSet TagSet { get; set; }
public UcKeypadPara()
{
InitializeComponent();
try
{
FrmSystemSet.LanguageSetEvent += new FrmSystemSet.LanguageSetEventHander(FrmSystemSet_LanguageSetEvent);
FrmSystemSet.GlobalSetChangeEvent += new FrmSystemSet.GlobalSetChangeEventHander(FrmSystemSet_GlobalSetChangeEvent);
//GlobalInfo.baseConnect.ActiveSlideWindowEvent += new ActiveSlideWindowEventHander(baseConnect_ActiveSlideWindowEvent);
//赵丽 2012-07-13 类型改变刷新面板
APanel.OptionModeChangeEvent += new OptionModeChangeEventHander(APanel_OptionModeChangeEvent);
gbxKeypadSet.Resize += gbxKeypadSet_Resize;
//设置控件大小
this.Height = gbxKeypadSet.Bottom;
//GlobalInfo.SysLanguage.SetLanguage(this.Name, this);
lblSubmitMode.Visible = false;
cboSubmitMode.Visible = false;
//lblModifyMode.Top = lblSubmitMode.Top;
//cboModifyMode.Top = cboSubmitMode.Top;
//lblOptionMode.Top = lblModifyMode.Bottom + 10;
//cboOptionMode.Top = cboModifyMode.Bottom + 10;
//gbxKeypadSet.Height = gbxKeypadSet.Height - cboSubmitMode.Height;
//this.Height = gbxKeypadSet.Height;
ReSetSize(false, true, true, true);//杨斌 2016-02-15
}
catch (Exception ex)
{
SystemLog.WriterLog(ex);
}
}
void gbxKeypadSet_Resize(object sender, EventArgs e)
{
int pos = gbxKeypadSet.ClientSize.Width / 2;
int w = pos - 3;
cboSubmitMode.Left = pos;
cboSubmitMode.Width = w;
cboModifyMode.Left = pos;
cboModifyMode.Width = w;
cboOptionMode.Left = pos;
cboOptionMode.Width = w;
cboSecrecyMode.Left = pos;
cboSecrecyMode.Width = w;
cboCheckUID.Left = pos;
cboCheckUID.Width = w;
}
///
/// 自动设置高度
/// 杨斌 2015-02-27
///
public void ReSetSize(bool showSubmitMode, bool showModifyMode, bool showOptionMode, bool showSecrecyMode)
{
//是否隐藏功能,反馈前检查UID
bool showCheckUID = false;//计算值引起其他面板控件异常。杨斌 2015-11-24//GlobalInfo.sysConfig.ResponseCheckUID;
lblSubmitMode.Visible = cboSubmitMode.Visible = showSubmitMode;
lblModifyMode.Visible = cboModifyMode.Visible = showModifyMode;
lblOptionMode.Visible = cboOptionMode.Visible = showOptionMode;
lblCheckUID.Visible = cboCheckUID.Visible = showCheckUID;
lblSecrecyMode.Visible = cboSecrecyMode.Visible = showSecrecyMode;//杨斌 2016-02-15
Dictionary dicV = new Dictionary();
Dictionary dic = new Dictionary();
dicV.Add(cboSubmitMode, showSubmitMode);
dicV.Add(cboModifyMode, showModifyMode);
dicV.Add(cboOptionMode, showOptionMode);
dicV.Add(cboSecrecyMode, showSecrecyMode);//杨斌 2016-02-15
dicV.Add(cboCheckUID, showCheckUID);
dic.Add(cboSubmitMode, lblSubmitMode);
dic.Add(cboModifyMode, lblModifyMode);
dic.Add(cboOptionMode, lblOptionMode);
dic.Add(cboSecrecyMode, lblSecrecyMode);//杨斌 2016-02-15
dic.Add(cboCheckUID, lblCheckUID);
int step = 4;
Control c = null;
Control c1 = null;
foreach (var v in dic)
{
if (c1 == null)
c1 = v.Key;
if (dicV[v.Key])
{
if (c != null)
v.Key.Top = c.Bottom + 6;
else
v.Key.Top = c1.Top;
if (v.Value != null)
v.Value.Top = v.Key.Top + step;
c = v.Key;
}
}
if (c != null)
{
c.Parent.Height = c.Bottom + 10;
c.Parent.Parent.Height = c.Parent.Height;
}
//gbxKeypadSet.Height = c.Bottom + 10;
//this.Height = gbxKeypadSet.Height;
}
void FrmSystemSet_GlobalSetChangeEvent()
{
try
{
if (gbxKeypadSet.Enabled)
{
int index = Convert.ToInt32(TagSet.GetValue(TagKey.KeypadPara_ModifyMode).Value);
cboModifyMode.SelectedIndex = index;
index = Convert.ToInt32(TagSet.GetValue(TagKey.KeypadPara_OptionMode).Value);
cboOptionMode.SelectedIndex = index;
}
}
catch { }
}
///
/// 添加标志 赵丽 2012-07-13 类型改变刷新面板
///
void APanel_OptionModeChangeEvent(int mode)
{
cboOptionMode.SelectedIndex = mode;
}
void baseConnect_ActiveSlideWindowEvent()
{
try
{
Globals.SunVoteARSAddIn.Application.ActiveWindow.Activate();
}
catch
{
}
}
///
/// 是否正在改变语言
/// 杨斌 2014-04-30
///
private bool IsChangeLanguage = false;
///
/// 语言设置
///
void FrmSystemSet_LanguageSetEvent()
{
IsChangeLanguage = true;
GlobalInfo.SysLanguage.SetLanguage(this.Name, this);
if (TagSet == null) return;
cboSubmitMode.SelectedIndex = TagSet.GetValue(TagKey.KeypadPara_SubmitMode).ToInt;
//cboModifyMode.SelectedIndex = (TagSet.GetValue(TagKey.KeypadPara_ModifyMode).ToInt == 0 ? 1 : 0);改变语言后,参数面板键盘参数设置-修改模式也跟着改变了
cboModifyMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_ModifyMode, 0).ToInt;//杨斌 2012-06-25
//杨斌 2016-02-15
cboSecrecyMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_SecrecyMode, 0).ToInt;
LoadOptionMode();//杨斌 2012-06-25
IsChangeLanguage = false;
}
///
/// 加载选项格式
/// 创建:杨斌 2012-06-25
///
private void LoadOptionMode()
{
int lastSelect = cboOptionMode.SelectedIndex;
cboOptionMode.Items.Clear();
cboOptionMode.Items.Add("1234");
cboOptionMode.Items.Add("ABCD");
if (lastSelect < 0) lastSelect = 0;
//默认ABCD。杨斌 2015-01-15
if (TagSet != null)//杨斌 2016-06-07
{
if (GlobalInfo.OEMLogo == OEMLogos.oemiPericles)//杨斌 2019-06-06
cboOptionMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_OptionMode, 0).ToInt;
else
cboOptionMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_OptionMode, 1).ToInt;
}
}
private void UcKeypadPara_Load(object sender, EventArgs e)
{
if (GlobalInfo.SysLanguage == null) return;
GlobalInfo.SysLanguage.SetLanguage(this.Name, this);
LoadOptionMode();//杨斌 2012-06-25
//设置默认值
//if (cboSubmitMode.Items.Count > 0)
// cboSubmitMode.SelectedIndex = 0;
//if (cboModifyMode.Items.Count > 0)
// cboModifyMode.SelectedIndex = 0;
}
///
/// 加载参数面板数据
/// 修改:杨斌 2012-06-26
///
public void LoadData()
{
if (TagSet == null) return;
//cboSubmitMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_SubmitMode, GlobalInfo.baseConnect.CommitMode).ToInt;
cboSubmitMode.SelectedIndex = 0;//GlobalInfo.baseConnect.CommitMode;//杨斌 2016-12-13
int defModifyMode = cboModifyMode.SelectedIndex;
var iniSet = INIControl.GetInstances(GlobalInfo.SYSTEM_CONFIG_PATH);//杨斌 2019-06-12
defModifyMode = iniSet.ReadInt("KeypadSet", "ModifyMode", 0);//杨斌 2019-06-12
if (defModifyMode < 0) defModifyMode = 0;
cboModifyMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_ModifyMode, defModifyMode).ToInt;//杨斌 2019-06-12
int defOptionMode = cboOptionMode.SelectedIndex;
defOptionMode = iniSet.ReadInt("KeypadSet", "OptionMode", 0);//杨斌 2019-06-12
if (defOptionMode < 0) defOptionMode = 0;
//默认ABCD,但若是排序题格式不可设默认为数字。2015-06-17
if (cboOptionMode.Visible)
{
if (GlobalInfo.OEMLogo == OEMLogos.oemiPericles)//杨斌 2019-06-06
cboOptionMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_OptionMode, 0).ToInt;
else
cboOptionMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_OptionMode, defOptionMode).ToInt;//杨斌 2019-06-12
}
else
{
if (TagSet.GetValue(TagKey.KeypadPara_OptionMode).ToInt == 1)
{
bool bVal = TagSet.ReadOnlyPPT;
TagSet.ReadOnlyPPT = false;
TagSet.SetValue(TagKey.KeypadPara_OptionMode, 0);
TagSet.ReadOnlyPPT = bVal;
}
cboOptionMode.SelectedIndex = TagSet.GetValue(TagKey.KeypadPara_OptionMode).ToInt;
}
//杨斌 2015-02-28
cboCheckUID.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_CheckUID, 0).ToInt;
//杨斌 2016-02-15
cboSecrecyMode.SelectedIndex = TagSet.LoadValue(TagKey.KeypadPara_SecrecyMode, 0).ToInt;
}
private void cboSubmitMode_SelectedIndexChanged(object sender, EventArgs e)
{
if (TagSet == null) return;
TagSet.SetValue(TagKey.KeypadPara_SubmitMode, cboSubmitMode.SelectedIndex);
}
private void cboModifyMode_SelectedIndexChanged(object sender, EventArgs e)
{
if (TagSet == null) return;
TagSet.SetValue(TagKey.KeypadPara_ModifyMode, cboModifyMode.SelectedIndex);
}
//杨斌 2012-06-25
private void cboOptionMode_SelectedIndexChanged(object sender, EventArgs e)
{
if (TagSet == null) return;
TagSet.SetValue(TagKey.KeypadPara_OptionMode, cboOptionMode.SelectedIndex);
try
{
if (TagSet.ReadOnlyPPT) return;
if (Globals.SunVoteARSAddIn.PPTEdit.SlideEdit == null) return;
Shape sha = PPTOper.GetOptionTextLinkShape(Globals.SunVoteARSAddIn.PPTEdit.SlideEdit);
bool bABCD = (cboOptionMode.SelectedIndex == 1);
if (!IsChangeLanguage)//杨斌 2014-04-30
PPTOper.SetShapeOptionFormat(sha, bABCD);
if (!TagSet.ReadOnlyPPT)
Globals.SunVoteARSAddIn.PPTEdit.RefreshLabelEdit(DataLabelType.ANSWER);//杨斌 2012-07-02
//保存当前图表的位置
PPTOper.SaveChartPosition(Globals.SunVoteARSAddIn.PPTEdit.SlideEdit, TagSet);
Globals.SunVoteARSAddIn.PPTEdit.InitChart(true, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit);
}
catch (Exception ex)
{
SystemLog.WriterLog(ex, false);
}
}
//杨斌 2015-02-28
private void cboCheckUID_SelectedIndexChanged(object sender, EventArgs e)
{
if (TagSet == null) return;
TagSet.SetValue(TagKey.KeypadPara_CheckUID, cboCheckUID.SelectedIndex);
}
//杨斌 2016-02-15
private void cboSecrecyMode_SelectedIndexChanged(object sender, EventArgs e)
{
if (TagSet == null) return;
TagSet.SetValue(TagKey.KeypadPara_SecrecyMode, cboSecrecyMode.SelectedIndex);
}
}
}