private void m_btnSelectChampDynamique_Click(object sender, EventArgs e) { CInfoStructureDynamique infoStructure = CInfoStructureDynamique.GetStructure(m_typeObjetEdite, 1); CInfoChampDynamique champSel = CFormSelectChampParentPourStructure.SelectPropriete(infoStructure); if (champSel != null) { m_colonneAffichee.InfoChampDynamique = champSel; m_labelChamp.Text = champSel == null ? "" : champSel.NomChamp; } /*Rectangle rect = m_panelComboChamp.RectangleToScreen(new Rectangle(0, m_panelComboChamp.Height, m_panelComboChamp.Width, 230)); * bool bCancel = false; * CDefinitionProprieteDynamique champ = CFormSelectChampPopup.SelectDefinitionChamp( * rect, * m_typeObjetEdite, * new CFournisseurProprietesForFiltreDynamique(), * ref bCancel, * null, * null); * if (!bCancel) * { * m_colonneAffichee.InfoChampDynamique = champ; * m_labelChamp.Text = champ == null ? "[NOT DEFINED]" : champ.Nom; * }*/ }
//------------------------------------------------------------------------- private void FillListeChamps(CRestrictionUtilisateurSurType restriction) { m_wndListeChamps.BeginUpdate(); m_wndListeChamps.Items.Clear(); CInfoStructureDynamique info = CInfoStructureDynamique.GetStructure(restriction.TypeAssocie, 0); List <ListViewItem> lstItems = new List <ListViewItem>(); foreach (CInfoChampDynamique champ in info.Champs) { string strTmp = ""; CDefinitionProprieteDynamique def = CConvertisseurInfoStructureDynamiqueToDefinitionChamp.GetDefinitionProprieteDynamique(champ.NomPropriete, ref strTmp); //Uniquement les propriétés "classiques" //voir CTimosApp.GetStructure if (def != null && typeof(CDefinitionProprieteDynamiqueDotNet).IsAssignableFrom(def.GetType())) { ListViewItem item = new ListViewItem(); item.Text = champ.NomChamp; item.Tag = def.NomProprieteSansCleTypeChamp; item.ImageIndex = GetIndexImage(restriction.GetRestriction(def.NomProprieteSansCleTypeChamp)); lstItems.Add(item); } } lstItems.Sort((x, y) => x.Text.CompareTo(y.Text)); if (typeof(IElementAChamps).IsAssignableFrom(restriction.TypeAssocie)) { CRoleChampCustom role = CRoleChampCustom.GetRoleForType(restriction.TypeAssocie); if (role != null) { CListeObjetsDonnees listeChampsCustom = CChampCustom.GetListeChampsForRole(CContexteDonneeSysteme.GetInstance(), role.CodeRole); foreach (CChampCustom champ in listeChampsCustom) { ListViewItem item = new ListViewItem(); item.Text = champ.Nom; item.Tag = champ.CleRestriction; item.ImageIndex = GetIndexImage(restriction.GetRestriction(champ.CleRestriction)); lstItems.Add(item); } lstItems.Sort((x, y) => x.Text.CompareTo(y.Text)); CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(CContexteDonneeSysteme.GetInstance(), typeof(CFormulaire)); listeFormulaires.Filtre = CFormulaire.GetFiltreFormulairesForRole(role.CodeRole); foreach (CFormulaire formulaire in listeFormulaires) { ListViewItem item = new ListViewItem(); item.Text = "{" + formulaire.Libelle + "}"; item.Tag = formulaire.CleRestriction; item.ImageIndex = GetIndexImage(restriction.GetRestriction(formulaire.CleRestriction)); lstItems.Add(item); } } } m_wndListeChamps.Items.AddRange(lstItems.ToArray()); m_wndListeChamps.EndUpdate(); }
//----------------------------------------------------------------------- private void m_arbre_BeforeExpand(object sender, System.Windows.Forms.TreeViewCancelEventArgs e) { if (e.Node.Nodes.Count == 1 && e.Node.Nodes[0].Text == "*") { CInfoChampDynamique def = (CInfoChampDynamique)e.Node.Tag; if (def == null) { return; } e.Node.Nodes.Clear(); CInfoChampDynamique infoParente = null; if (e.Node.Tag is CInfoChampDynamique) { infoParente = (CInfoChampDynamique)e.Node.Tag; } CInfoStructureDynamique newStruct = CInfoStructureDynamique.GetStructure(def.TypeDonnee, 1); FillTree(newStruct, e.Node.Nodes, infoParente); } }
//------------------------------------------------------------------- private void ContexMenuPopUp(object sender, EventArgs e) { if (!m_bEnableCustomisationUser) { return; } if (m_structureObjets == null && Items.Count > 0) { m_structureObjets = CInfoStructureDynamique.GetStructure(Items[0].Tag.GetType(), 1); } if (m_structureObjets == null) { return; } //Crée une Hashtable des colonnes affichées Hashtable tableColonnes = new Hashtable(); foreach (ListViewAutoFilledColumn col in Colonnes) { tableColonnes[col.Field] = col; } bool bNouveauMenu = ContextMenu.MenuItems.Count == 0; if (bNouveauMenu) { FillMenu(ContextMenu, m_structureObjets, tableColonnes, ""); MenuItem item = new MenuItem("Plus de champs", new EventHandler(OnSelectionnerLesChamps)); ContextMenu.MenuItems.Add(item); } UpdateCheckState(ContextMenu, tableColonnes); Point pt = Cursor.Position; if (e is MouseEventArgs) { pt = new Point(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y); } //m_popupMenu.Show ( this, pt ); }