PanelGradeCount.cs 4.57 KB
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 PanelGradeCount : UserControl, IPanel, IPanelChange
    {
        TagSet mTagSet = null;
        public TagSet TagSet
        {
            get { return mTagSet; }
            set
            {
                mTagSet = value;
                ucResponsePara.TagSet = value;
                ucKeypadPara.TagSet = value;
            }
        }

        public PanelGradeCount()
        {
            InitializeComponent();
            FrmSystemSet.LanguageSetEvent += new FrmSystemSet.LanguageSetEventHander(FrmSystemSet_LanguageSetEvent);
            FrmVoteBar.PanelEnabledEvent += new FrmVoteBar.PanelEnabledEventHander(FrmVoteBar_PanelEnabledEvent);
            //设置控件大小
            //杨斌 2015-04-10
            ucResponsePara.ShowSet(true, true);
            ucKeypadPara.Top = ucResponsePara.Bottom + 6;
            this.Height = ucKeypadPara.Bottom;
            //GlobalInfo.SysLanguage.SetLanguage(this.Name, this);

            //杨斌 2012-06-11
            switch (GlobalInfo.OEMLogo)
            {
                case OEMLogos.oem3eAnalyzer:
                    //ucKeypadPara.Visible = false;
                    //if (ucKeypadPara.cboSubmitMode.SelectedIndex != 0)
                    //    ucKeypadPara.cboSubmitMode.SelectedIndex = 0;
                    //this.Height = ucResponsePara.Bottom;
                    break;
                case OEMLogos.SunVote:
                default:
                    break;
            }
        }

        void FrmVoteBar_PanelEnabledEvent(bool enabled)
        {
            this.Enabled = enabled;
        }

        void FrmSystemSet_LanguageSetEvent()
        {
            GlobalInfo.SysLanguage.SetLanguage(this.Name, this);
        }
                
        private void btnChartSet_Click(object sender, EventArgs e)
        {
            new FrmChartSet().ShowDialog();
        }

        public Color PanelColor
        {
            get
            {
                return this.BackColor;
            }
            set
            {
                this.BackColor = value;
                gbxChoise.BackColor = value;
                ucResponsePara.BackColor = value;
                ucKeypadPara.BackColor = value;
            }
        }

        private void btnOptionText_Click(object sender, EventArgs e)
        {
            new FrmOptionTextSelect().ShowDialog();//杨斌 2013-01-24
        }

        /// <summary>
        /// 加载参数面板数据
        /// </summary>
        public void LoadData()
        {
            try
            {
                ucResponsePara.LoadData();
                ucKeypadPara.LoadData();

                ControlOper.TrySetNumericUpDownValue(nudOptionCount, TagSet.LoadValue(TagKey.Grade_OptionCount, nudOptionCount.Value).ToInt);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void PanelGradeCount_Load(object sender, EventArgs e)
        {
            GlobalInfo.SysLanguage.SetLanguage(this.Name, this);
        }

        private void nudOptionCount_ValueChanged(object sender, EventArgs e)
        {
            //2012-06-08 选项个数改变时需要重新设置图表高度
            Globals.SunVoteARSAddIn.PPTEdit.CountChange = true;
            TagSet.SetValue(TagKey.Grade_OptionCount, nudOptionCount.Value);
            //修改标志 2012-05-2 赵丽 保存当前图表的位置
            PPTOper.SaveChartPosition(Globals.SunVoteARSAddIn.PPTEdit.SlideEdit, TagSet);
            if (!Globals.SunVoteARSAddIn.PPTEdit.LockOptionTextChange)//判断是否选项文本在修改,杨斌 2012-03-05
            {
                Globals.SunVoteARSAddIn.PPTEdit.ModifyOptionText(Convert.ToInt32(nudOptionCount.Value));
            }
            //2012-11-21 数据字体根据选项个数变化 赵丽
            PPTOper.SetFontSize(Convert.ToInt32(nudOptionCount.Value), TagSet); 
            Globals.SunVoteARSAddIn.PPTEdit.InitChart(true, Globals.SunVoteARSAddIn.PPTEdit.SlideEdit, autoFit: true);
        }

        #region IPanelChange 成员

        public void ChangeData(TagKey tagKey, object value)
        {
            if (tagKey == TagKey.Grade_OptionCount)
                ControlOper.TrySetNumericUpDownValue(nudOptionCount, TagSet.LoadValue(tagKey, nudOptionCount.Value).ToInt);
        }

        #endregion
    }
}