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 PanelSlideCompChart : UserControl, IPanel, IPanelChange { TagSet mTagSet = null; public TagSet TagSet { get { return mTagSet; } set { mTagSet = value; //ucKeypadPara.TagSet = value; } } private bool IsLoad = false; public PanelSlideCompChart() { InitializeComponent(); FrmSystemSet.LanguageSetEvent += new FrmSystemSet.LanguageSetEventHander(FrmSystemSet_LanguageSetEvent); FrmVoteBar.PanelEnabledEvent += new FrmVoteBar.PanelEnabledEventHander(FrmVoteBar_PanelEnabledEvent); //设置控件大小 this.Height = gbxSet.Bottom; GlobalInfo.SysLanguage.SetLanguage(this.Name, this); gbxSet.Text = GlobalInfo.SysLanguage.LPT.ReadString("rbSunVoteARS", "btnSlideCompChart", "对比分析");//杨斌 2014-12-12 } void FrmVoteBar_PanelEnabledEvent(bool enabled) { this.Enabled = enabled; } void FrmSystemSet_LanguageSetEvent() { GlobalInfo.SysLanguage.SetLanguage(this.Name, this); gbxSet.Text = GlobalInfo.SysLanguage.LPT.ReadString("rbSunVoteARS", "btnSlideCompChart", "对比分析");//杨斌 2014-12-12 } public Color PanelColor { get { return this.BackColor; } set { this.BackColor = value; } } /// /// 加载的Slide列表 /// private List LstSlideIds = new List(); /// /// 加载参数面板数据 /// public void LoadData() { IsLoad = true; LstSlideIds.Clear(); cboSlide1.Items.Clear(); cboSlide2.Items.Clear(); Presentation pres = Globals.SunVoteARSAddIn.Application.ActivePresentation; for (int i = 1; i <= pres.Slides.Count; i++) { Slide sld = pres.Slides[i]; ResponseType type = PPTOper.GetSlideType(sld); switch (type) { case ResponseType.Group: case ResponseType.Choice: case ResponseType.Judge: case ResponseType.Vote: case ResponseType.Grade: string title = i + ". " + PPTOper.GetSlideTitle(sld); cboSlide1.Items.Add(title); cboSlide2.Items.Add(title); LstSlideIds.Add(sld.SlideID); break; } } List lstIds = GetSlideCompIds(Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); if (lstIds.Count >= 1) { int n = LstSlideIds.IndexOf(lstIds[0]); if (n >= 0) cboSlide1.SelectedIndex = n; } if (lstIds.Count >= 2) { int n = LstSlideIds.IndexOf(lstIds[1]); if (n >= 0) cboSlide2.SelectedIndex = n; } IsLoad = false; Globals.SunVoteARSAddIn.PPTEdit.InitChart(false, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); } /// /// 获取比较的Slide /// 杨斌 2014-12-10 /// /// /// public static List GetSlideCompIds(Slide sld) { List res = new List(); try { TagSet tagSet = new TagSet(sld.Tags); string sIds = tagSet.GetValue(TagKey.SlideCompChartIds).Value; string[] aryId = sIds.Split(new char[] { ',' }); foreach (string sId in aryId) { int nId = ConvertOper.Convert(sId).ToInt; Slide sldFind = null; try { sldFind = Globals.SunVoteARSAddIn.Application.ActivePresentation.Slides.FindBySlideID(nId); } catch { } if (sldFind != null) res.Add(nId); } } catch (Exception ex) { SystemLog.WriterLog(ex); } return res; } public void ChangeData(TagKey tagKey, object value) { //if (tagKey == TagKey.Group_OptionCount) // ControlOper.TrySetNumericUpDownValue(nudOptionCount, TagSet.LoadValue(tagKey, nudOptionCount.Value).ToInt); } private void PanelSlideCompChart_Load(object sender, EventArgs e) { //GlobalInfo.SysLanguage.SetLanguage(this.Name, this); //InitType(); } private string GetSlideIdsSet() { string res = ""; try { if (cboSlide1.SelectedIndex >= 0) { res += LstSlideIds[cboSlide1.SelectedIndex].ToString(); } if (cboSlide2.SelectedIndex >= 0) { if (res.Length > 0) res += ","; res += LstSlideIds[cboSlide2.SelectedIndex].ToString(); } } catch { } return res; } private void cboSlide_SelectedIndexChanged(object sender, EventArgs e) { if (IsLoad) return; TagSet.SetValue(TagKey.SlideCompChartIds, GetSlideIdsSet()); Globals.SunVoteARSAddIn.PPTEdit.InitChart(false, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit); } } }