//----------------------------------------------------------------- private IFournisseurValeursSerie GetFournisseurY(int nIndex) { IFournisseurValeursSerie f = null; m_dicNumToFournisseurY.TryGetValue(nIndex, out f); return(f); }
//------------------------------------------------------------------- private void m_btnOk_Click(object sender, EventArgs e) { if (GetIdSourceSelectionnee() == null) { m_fournisseurValeurs = null; } else { if (m_editeurEnCours != null) { CParametreSourceChart p = m_cmbSource.SelectedValue as CParametreSourceChart; if (p != null) { m_fournisseurValeurs.SourceId = p.SourceId; } CResultAErreur result = m_editeurEnCours.MajChamps(); if (!result) { CFormAlerte.Afficher(result.Erreur); return; } } } DialogResult = DialogResult.OK; Close(); }
//--------------------------------------------------------------------------------------- public void InitChamps(CChartSetup chartSetup, IFournisseurValeursSerie fournisseur) { m_fournisseurFormule = fournisseur as CFournisseurValeursSerieFormule; m_chartSetup = chartSetup; //Trouve la source CParametreSourceChart p = chartSetup.ParametresDonnees.GetSourceFV(fournisseur.SourceId); Type tp = typeof(string); if (p != null) { CTypeResultatExpression t = p.TypeSource; if (t != null) { tp = p.TypeSource.TypeDotNetNatif; /*if ( t.IsArrayOfTypeNatif ) * { * tp = CActivatorSurChaine.GetType(t.TypeDotNetNatif.ToString()+"[]"); * }*/ } } m_txtFormule.Init(new CFournisseurGeneriqueProprietesDynamiques(), tp); m_txtFormule.Formule = m_fournisseurFormule.Formule; m_chkForEach.Checked = m_fournisseurFormule.EvaluateOnEachSourceElement; }
//------------------------------------------------------------------------------------------------------ public IFournisseurValeursSerie EditeFournisseur(CChartSetup chartSetup, IFournisseurValeursSerie fournisseur) { IFournisseurValeursSerie copie = fournisseur; if (CFormEditeFournisseurValeur.EditeFournisseur(chartSetup, ref copie)) { return(copie); } return(fournisseur); }
//----------------------------------------------------------------- public void InitChamps(CChartSetup chartSetup, IFournisseurValeursSerie fournisseur) { m_chartSetup = chartSetup; m_fournisseur = fournisseur as CFournisseurValeursSerieChampDeTable; FillTables(); FillChamps(); m_txtFormule.Formule = m_fournisseur.Formule; m_rbtnField.Checked = m_fournisseur.Formule == null; m_rbtnFormule.Checked = !m_rbtnField.Checked; UpdateAspect(); }
/// /////////////////////////////////////////// public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value) { IEditeurFournisseurValeursSerie editeur = null; if (m_typeEditeur != null) { editeur = (IEditeurFournisseurValeursSerie)Activator.CreateInstance(m_typeEditeur); IFournisseurValeursSerie fournisseur = value as IFournisseurValeursSerie; object retour = editeur.EditeFournisseur(m_chartSetup, fournisseur); return(retour); } return(value); }
//------------------------------------------------------------------- public static bool EditeFournisseur( CChartSetup chart, ref IFournisseurValeursSerie fournisseur) { using (CFormEditeFournisseurValeur form = new CFormEditeFournisseurValeur()) { form.m_chartSetup = chart; form.m_fournisseurValeurs = fournisseur; if (form.ShowDialog() == DialogResult.OK) { fournisseur = form.m_fournisseurValeurs; return(true); } return(false); } }
//------------------------------------------------------------------- private void FillListeTypesFournisseursPossibles() { m_cmbTypeExtracteur.BeginUpdate(); m_cmbTypeExtracteur.Items.Clear(); string strIdSource = GetIdSourceSelectionnee(); if (strIdSource != null) { CParametreSourceChart p = m_chartSetup.ParametresDonnees.GetSourceFV(strIdSource); if (p != null) { foreach (Type tp in CGestionnaireFournisseursValeursSerie.GetTypesFournisseursConnus()) { IFournisseurValeursSerie f = Activator.CreateInstance(tp) as IFournisseurValeursSerie; if (f != null && f.IsApplicableToSource(p)) { CDescriptionFournisseurValeurs desc = new CDescriptionFournisseurValeurs(f.LabelType, tp); m_cmbTypeExtracteur.Items.Add(desc); } } } } m_cmbTypeExtracteur.DisplayMember = "Libelle"; m_cmbTypeExtracteur.ValueMember = "Type"; m_cmbTypeExtracteur.EndUpdate(); if (m_fournisseurValeurs != null) { for (int n = 0; n < m_cmbTypeExtracteur.Items.Count; n++) { CDescriptionFournisseurValeurs desc = m_cmbTypeExtracteur.Items[n] as CDescriptionFournisseurValeurs; if (desc != null && desc.Type == m_fournisseurValeurs.GetType()) { m_cmbTypeExtracteur.SelectedIndex = n; break; } } } // m_cmbTypeExtracteur.SelectedValue = m_fournisseurValeurs.GetType(); ShowDetailFournisseur(); }
//--------------------------------------------------------------------- private List <T> GetValues <T>(IFournisseurValeursSerie fournisseur, T defaultValue) { List <T> lstValeurs = new List <T>(); if (fournisseur != null) { foreach (object val in fournisseur.GetValues(ChartSetup)) { try { if (val != null) { T v; if (typeof(double).IsAssignableFrom(typeof(T)) && val is DateTime) { v = (T)Convert.ChangeType(((DateTime)val).ToOADate(), typeof(T)); } else { v = (T)Convert.ChangeType(val, typeof(T)); } lstValeurs.Add(v); } else { lstValeurs.Add(defaultValue); } } catch { lstValeurs.Add(defaultValue); } } } return(lstValeurs); }
//------------------------------------------------------------------- private void ShowDetailFournisseur() { CDescriptionFournisseurValeurs desc = null; if (m_cmbTypeExtracteur.SelectedIndex >= 0) { desc = m_cmbTypeExtracteur.Items[m_cmbTypeExtracteur.SelectedIndex] as CDescriptionFournisseurValeurs; } if (desc == null) { if (m_editeurEnCours != null) { ((Control)m_editeurEnCours).Visible = false; m_panelDetailExtracteur.Controls.Remove((Control)m_editeurEnCours); ((Control)m_editeurEnCours).Dispose(); m_editeurEnCours = null; } return; } if (m_fournisseurValeurs == null || m_fournisseurValeurs.GetType() != desc.Type) { m_fournisseurValeurs = Activator.CreateInstance(desc.Type) as IFournisseurValeursSerie; } m_panelDetailExtracteur.SuspendDrawing(); if (m_fournisseurValeurs != null) { string strId = GetIdSourceSelectionnee(); if (strId == null) { m_fournisseurValeurs = null; } else { m_fournisseurValeurs.SourceId = strId; } Type tp = CGestionnaireEditeursFournisseursValeurs.GetTypeEditeur(m_fournisseurValeurs.GetType()); if (tp != null && (m_editeurEnCours == null || m_editeurEnCours.GetType() != tp)) { if (m_editeurEnCours != null) { ((Control)m_editeurEnCours).Visible = false; m_panelDetailExtracteur.Controls.Remove(((Control)m_editeurEnCours)); ((Control)m_editeurEnCours).Dispose(); m_editeurEnCours = null; } m_editeurEnCours = Activator.CreateInstance(tp, new object[0]) as IEditeurFournisseurValeursSerieDeTypeConnu; if (m_editeurEnCours != null) { Control ctrl = m_editeurEnCours as Control; m_panelDetailExtracteur.Controls.Add(ctrl); ctrl.Dock = DockStyle.Fill; } } if (m_editeurEnCours != null) { m_editeurEnCours.InitChamps(m_chartSetup, m_fournisseurValeurs); } } m_panelDetailExtracteur.ResumeDrawing(); }
//----------------------------------------------------------------- public CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } serializer.TraiteString(ref m_strNomSerie); result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurValeurX); int nNbFY = m_dicNumToFournisseurY.Count; serializer.TraiteInt(ref nNbFY); switch (serializer.Mode) { case ModeSerialisation.Ecriture: foreach (KeyValuePair <int, IFournisseurValeursSerie> kv in m_dicNumToFournisseurY) { int nIndex = kv.Key; IFournisseurValeursSerie f = kv.Value; serializer.TraiteInt(ref nIndex); result = serializer.TraiteObject <IFournisseurValeursSerie>(ref f); if (!result) { return(result); } } break; case ModeSerialisation.Lecture: Dictionary <int, IFournisseurValeursSerie> dic = new Dictionary <int, IFournisseurValeursSerie>(); for (int n = 0; n < nNbFY; n++) { int nIndex = 0; IFournisseurValeursSerie f = null; serializer.TraiteInt(ref nIndex); result = serializer.TraiteObject <IFournisseurValeursSerie>(ref f); if (!result) { return(result); } if (f != null) { dic[nIndex] = f; } } m_dicNumToFournisseurY = dic; break; } if (result) { result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurLibelleAxe); } if (result) { result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurLibelleEtiquette); } if (result) { result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurTooltip); } if (!result) { return(result); } serializer.TraiteEnum <EAxisType>(ref m_typeAxeX); serializer.TraiteEnum <EAxisType>(ref m_typeAxeY); serializer.TraiteBool(ref m_bIsValueIndexed); serializer.TraiteEnum <ESeriesChartType>(ref m_chartType); serializer.TraiteString(ref m_strChartAreaId); serializer.TraiteBool(ref m_bShowInLegend); serializer.TraiteString(ref m_strLegendText); serializer.TraiteString(ref m_strLegendTooltip); serializer.TraiteString(ref m_strIdLegendArea); result = serializer.TraiteObject <CSerieStyle>(ref m_serieStyle); if (result) { result = serializer.TraiteObject <CLabelStyle>(ref m_labelStyle); } if (result) { result = serializer.TraiteObject <CMarkerStyle>(ref m_markerStyle); } if (result) { result = serializer.TraiteObject <CActionSur2iLink>(ref m_action); } if (result) { result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurDataAction); } if (!result) { return(result); } if (nVersion >= 1) { serializer.TraiteEnum <EChartValueType>(ref m_XValueType); serializer.TraiteEnum <EChartValueType>(ref m_YValueType); result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurSort); if (!result) { return(result); } } if (nVersion >= 2) { result = serializer.TraiteObject <IFournisseurValeursSerie>(ref m_fournisseurIncludePoint); if (!result) { return(result); } } if (nVersion >= 3) { result = serializer.TraiteObject <CSerieStyle>(ref m_emptyPointStyle); if (result) { result = serializer.TraiteObject <CMarkerStyle>(ref m_emptyPointMarker); } if (!result) { return(result); } } return(result); }
//----------------------------------------------------------------- private void SetFournisseurY(int nIndex, IFournisseurValeursSerie fournisseur) { m_dicNumToFournisseurY[nIndex] = fournisseur; }
//--------------------------------------------------------------------- private List <T> GetValues <T>(IFournisseurValeursSerie fournisseur) where T : class { return(GetValues(fournisseur, (T)null)); }