//--------------------------------------------------------------------- public C2iExpression GetFormuleCouleur(int r, int g, int b) { C2iExpressionColor co = new C2iExpressionColor(); co.Parametres.Add(new C2iExpressionConstante(r)); co.Parametres.Add(new C2iExpressionConstante(g)); co.Parametres.Add(new C2iExpressionConstante(b)); return(co); }
private void UpdateColorFromFormule() { if (FormuleCouleur != null) { C2iExpressionColor col = FormuleCouleur as C2iExpressionColor; if (col != null) { List <int> valeurs = new List <int>(); bool bAllInt = true; foreach (C2iExpression param in col.Parametres2i) { C2iExpressionConstante cst = param as C2iExpressionConstante; if (cst == null) { bAllInt = false; break; } try { valeurs.Add(Convert.ToInt32(cst.Valeur)); } catch { bAllInt = false; break; } } if (bAllInt) { try { if (valeurs.Count == 3) { m_colorSelect.SelectedColor = Color.FromArgb(valeurs[0], valeurs[1], valeurs[2]); } else { m_colorSelect.SelectedColor = Color.FromArgb(valeurs[0], valeurs[1], valeurs[2], valeurs[3]); } } catch { m_colorSelect.SelectedColor = Color.White; } } } else { m_colorSelect.SelectedColor = Color.White; } } else { m_colorSelect.SelectedColor = Color.White; } }
private void m_colorSelect_OnChangeSelectedColor(object sender, EventArgs e) { m_bCouleurEnSelection = true; Color couleur = m_colorSelect.SelectedColor; C2iExpressionColor col = FormuleCouleur as C2iExpressionColor; if (FormuleCouleur != null && FormuleCouleur.GetString() != string.Empty && col == null) { // Ce n'est pas une formule simple de type Color(xxx; yyy; zzz) if (CFormAlerte.Afficher(I.T("Replace current Color Formula ?|10001"), EFormAlerteBoutons.OuiNon, EFormAlerteType.Question) == DialogResult.No) { UpdateColorFromFormule(); return; } } m_txtFormuleCouleur.Formule = GetFormuleCouleur(couleur); m_bCouleurEnSelection = false; }
public override CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (result) { result = base.Serialize(serializer); } if (!result) { return(result); } result = serializer.TraiteObject <C2iExpression>(ref m_couleurFond1); if (result) { result = serializer.TraiteObject <C2iExpression>(ref m_couleurFond2); } if (result) { result = serializer.TraiteObject <C2iExpression>(ref m_couleurProgress); } if (result) { if (nVersion >= 1) { result = serializer.TraiteObject <C2iExpression>(ref m_couleurTerminee); } else { if (serializer.Mode == ModeSerialisation.Lecture) { C2iExpressionColor c = new C2iExpressionColor(); c.Parametres.Add(new C2iExpressionConstante(0)); c.Parametres.Add(new C2iExpressionConstante(255)); c.Parametres.Add(new C2iExpressionConstante(0)); m_couleurTerminee = c; } } } return(result); }
//------------------------------------------------------------------------------ protected Color?GetCouleur(IElementDeGantt elt, C2iExpression formule, ref bool bIsConstante) { bIsConstante = false; if (formule == null) { return(null); } C2iExpressionColor col = formule as C2iExpressionColor; if (col != null) { List <int> valeurs = new List <int>(); bool bAllInt = true; foreach (C2iExpression param in col.Parametres2i) { C2iExpressionConstante cst = param as C2iExpressionConstante; if (cst == null) { bAllInt = false; break; } try{ valeurs.Add(Convert.ToInt32(cst.Valeur)); } catch { bAllInt = false; break; } } if (bAllInt) { try { bIsConstante = true; if (valeurs.Count == 3) { return(Color.FromArgb(valeurs[0], valeurs[1], valeurs[2])); } else { return(Color.FromArgb(valeurs[0], valeurs[1], valeurs[2], valeurs[3])); } } catch { return(null); } } } else { if (formule != null) { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(elt); CResultAErreur result = formule.Eval(ctx); if (result && result.Data is Color) { return((Color)result.Data); } } } return(null); }