private void ChangerElement() { //Sélection du type CInfoClasseDynamique[] lesTypes = DynamicClassAttribute.GetAllDynamicClassHeritant(typeof(IElementAIntervention), typeof(CObjetDonneeAIdNumerique)); if (lesTypes.Length != 0) { Type tp = lesTypes[0].Classe; if (lesTypes.Length > 1) { Point pt = m_lnkElementAIntervention.Location; pt.Offset(0, m_lnkElementAIntervention.Height); pt = PointToScreen(pt); List <CInfoClasseDynamique> lstTypes = new List <CInfoClasseDynamique>(lesTypes); tp = CFormSelectType.SelectType(pt, lstTypes, "Intervention sur "); } if (tp != null) { Type tpForm = CFormFinder.GetTypeFormToList(tp); if (tpForm != null && typeof(sc2i.win32.data.navigation.CFormListeStandard).IsAssignableFrom(tpForm)) { IFormNavigable form = (IFormNavigable)Activator.CreateInstance(tpForm, new object[0]); CObjetDonnee obj = CFormNavigateurPopupListe.SelectObject((CFormListeStandard)form, null, "TASK_ELT"); if (obj != null) { Intervention.ElementAIntervention = (CObjetDonneeAIdNumerique)obj; UpdateLibelleElement((IElementAIntervention)obj); } } else { CFormAlerte.Afficher("Le système ne sait pas Editer les éléments de type " + DynamicClassAttribute.GetNomConvivial(tp), EFormAlerteType.Erreur); } } } }
private void AfficheListe( ) { Type typeForm = CFormFinder.GetTypeFormToList(m_parametreVisu.TypeElements); if (typeForm == null || !typeForm.IsSubclassOf(typeof(CFormListeStandard))) { m_resultEdit.EmpileErreur(I.T("The system can not list elements of type @1|1082", m_parametreVisu.TypeElements.ToString())); return; } try { CFormListeStandard form = (CFormListeStandard)Activator.CreateInstance(typeForm, new object[] {}); form.FiltreDeBase = m_parametreVisu.Filtre; if (m_parametreVisu.TitreFenetre != "") { form.TitreForce = m_parametreVisu.TitreFenetre; } form.ContexteUtilisation = m_parametreVisu.ContexteFenetre; CFormNavigateurPopup.Show(form, CTimosApp.Navigateur); } catch (Exception e) { m_resultEdit.EmpileErreur(new CErreurException(e)); } }
private void m_btnSelect_Click(object sender, System.EventArgs e) { if (m_typeRelation.Multiple) { SelectionMultiples(); RefreshText(); } else { Type typeForm = CFormFinder.GetTypeFormToList(m_typeRelation.TypeElements); if (typeForm == null || !typeForm.IsSubclassOf(typeof(CFormListeStandard))) { CFormAlerte.Afficher(I.T("The system cannot list elements from type @1|30119", m_typeRelation.TypeElementsConvivial), EFormAlerteType.Exclamation); return; } CObjetDonneeAIdNumerique objetSel; CFormListeStandard form = (CFormListeStandard)Activator.CreateInstance(typeForm, new object[] {}); form.FiltreDeBase = m_typeRelation.FiltreDataAssocie; objetSel = (CObjetDonneeAIdNumerique)CFormNavigateurPopupListe.SelectObject(form, null, CFormNavigateurPopupListe.CalculeContexteUtilisation(this)); if (objetSel != null) { if (ListeRelations.Count > 1) { DeleteAll(); } m_elementALien.AddElementLie(objetSel, m_typeRelation.Code); RefreshText(); } } }
private void m_lnk_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Type typeForm = CFormFinder.GetTypeFormToList(m_type); if (typeForm != null) { sc2i.win32.navigation.IFormNavigable form = (sc2i.win32.navigation.IFormNavigable)Activator.CreateInstance(typeForm, new object[] { }); CSc2iWin32DataNavigation.Navigateur.AffichePage(form); } }
/// ////////////////////////////////////////////////////////// private void CFormSelectLiensAgendaMultiples_Load(object sender, System.EventArgs e) { Type typeForm = CFormFinder.GetTypeFormToList(m_typeLien.TypeElements); if (typeForm == null) { m_selectionneurElement.Visible = false; } else { m_selectionneurElement.InitForSelectAvecFiltreDeBase( m_typeLien.TypeElements, "DescriptionElement", m_typeLien.FiltreDataAssocie, true); } UpdateListe(); }
//------------------------------------------------ private void itemAdd_Click(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; Type tp = item != null ? item.Tag as Type : null; if (tp != null) { CReferenceTypeForm refFrm = CFormFinder.GetTypeFormToList(tp); if (refFrm != null) { CFormListeStandard frm = refFrm.GetForm() as CFormListeStandard; if (frm != null) { IAffectableAEtape affectable = CFormNavigateurPopupListe.SelectObject(frm, null, "") as IAffectableAEtape; if (affectable != null) { AddAffectable(affectable); } } } } }
public void Init(Type typeElements, CObjetDonneeAIdNumerique[] objets, CFiltreData filtreInitial) { m_typElements = typeElements; Type typeForm = CFormFinder.GetTypeFormToList(typeElements); m_listeElements = new List <CObjetDonneeAIdNumerique>(); if (objets != null) { m_listeElements.AddRange(objets); } if (typeForm == null) { m_selectionneurElement.Visible = false; m_lnkAjouter.Visible = false; } else { m_lnkAjouter.Visible = true; m_selectionneurElement.Visible = true; m_filtreInitial = filtreInitial; m_selectionneurElement.InitForSelectAvecFiltreDeBase( typeElements, "DescriptionElement", filtreInitial, true); m_selectionneurElement.ElementSelectionne = null; } if (m_filtreInitial != null) { CListeObjetsDonnees listTmp = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, typeElements); m_listeAutorisee = listTmp.ToArrayList(); } else { m_listeAutorisee = null; } UpdateListe(); }
/// ////////////////////////////////////////////////////////////////// protected static CResultAErreur ExecuteActionListe(CActionSur2iLinkAfficherListe action, object objetCible) { CResultAErreur result = CResultAErreur.True; CFiltreDynamique filtre = action.Filtre; if (filtre == null || filtre.TypeElements == null) { result.EmpileErreur(I.T("Link parameter error : filter is null|30077")); return(result); } if (objetCible != null) { CObjetPourSousProprietes objetPourSousProp = null; objetPourSousProp = new CObjetPourSousProprietes(objetCible); IVariableDynamique variable = CActionSur2iLinkAfficherListe.AssureVariableElementCible(filtre, objetPourSousProp); /*if ( variable.TypeDonnee.TypeDotNetNatif != objetCible.GetType() ) * { * result.EmpileErreur(I.T("Expected type in the filter does not correspond to object type|30078")); * return result; * }*/ if (variable != null) { filtre.SetValeurChamp(variable.IdVariable, objetCible); } } result = filtre.GetFiltreData(); if (!result) { result.EmpileErreur(I.T("Filter error|30079")); return(result); } CFiltreData filtreData = (CFiltreData)result.Data; Type tp = CFormFinder.GetTypeFormToList(filtre.TypeElements); try { if (tp != null || tp.IsSubclassOf(typeof(CFormListeStandard))) { CFormListeStandard form = ( CFormListeStandard )Activator.CreateInstance(tp, new object[0]); CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(objetCible); ctxEval.AttacheObjet(typeof(CContexteDonnee), CSc2iWin32DataClient.ContexteCourant); if (action.FormuleContexte != null) { result = action.FormuleContexte.Eval(ctxEval); if (!result) { result.EmpileErreur(I.T("Form context evaluation error|30080")); return(result); } if (result.Data != null) { form.ContexteUtilisation = result.Data.ToString(); } } if (action.FormuleTitre != null) { result = action.FormuleTitre.Eval(ctxEval); if (!result) { result.EmpileErreur(I.T("Form title evaluation error|30081")); return(result); } if (result.Data != null) { form.TitreForce = result.Data.ToString(); } } form.FiltreDeBase = filtreData; form.AffectationsPourNouveauxElements = action.Affectations; form.ObjetReferencePourAffectationsInitiales = objetCible; form.BoutonAjouterVisible = action.ShowBoutonAjouter; form.BoutonModifierVisible = action.ShowBoutonDetail; form.BoutonSupprimerVisible = action.ShowBoutonSupprimer; if (action.IdFiltreDynamiqueAUtiliser >= 0) { CFiltreDynamiqueInDb filtretoUse = new CFiltreDynamiqueInDb(CContexteDonneeSysteme.GetInstance()); if (filtretoUse.ReadIfExists(action.IdFiltreDynamiqueAUtiliser)) { CFiltreDynamique filtreDyn = filtretoUse.Filtre; if (filtreDyn != null) { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objetCible); foreach (CFormuleNommee formule in action.ValeursVariablesFiltre) { if (formule.Formule != null) { CResultAErreur res = formule.Formule.Eval(ctx); if (res) { try { string strId = formule.Id; filtreDyn.SetValeurChamp(strId, res.Data); } catch { } } } } form.FiltrePrefere = filtreDyn; } } } if (action.ActionSurDetail != null) { CExecuteurActionSurPanelListeSpeedStandard executeur = new CExecuteurActionSurPanelListeSpeedStandard(action.ActionSurDetail, form); form.SetModifierElementDelegate(new CPanelListeSpeedStandard.ModifierElementDelegate(executeur.ExecuteAction)); } CTimosApp.Navigateur.AffichePage(form); } else { result.EmpileErreur(I.T("Not avaliable|30082")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }