//--------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { bool bShowPictureRestriction = false; if (listeRestrictions != null && EditedElement != null) { CChampCustom champ = WndVariable.Variable as CChampCustom; if (champ != null && restrictionSurObjetEdite != null && m_controleForVariable.Control != null) { ERestriction rest = restrictionSurObjetEdite.GetRestriction(champ.CleRestriction); if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly) { gestionnaireReadOnly.SetReadOnly(m_controleForVariable.Control, true); bShowPictureRestriction = true; } } } if (VisualiseurReadOnly != null) { if (bShowPictureRestriction) { VisualiseurReadOnly.Visible = true; } else { VisualiseurReadOnly.Visible = false; } } }
//--------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (EditedElement != null && m_textBoxNumerique != null) { ERestriction rest = restrictionSurObjetEdite.RestrictionGlobale; C2iWndTextBoxEntier wndTxt = WndAssociee as C2iWndTextBoxEntier; if (wndTxt != null) { CDefinitionProprieteDynamique def = wndTxt.Property; if (def != null) { rest = def.GetRestrictionAAppliquer(restrictionSurObjetEdite); } } switch (rest) { case ERestriction.ReadOnly: case ERestriction.Hide: { gestionnaireReadOnly.SetReadOnly(m_textBoxNumerique, true); break; } default: break; } } }
//--------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (m_grid != null) { m_grid.InitRestrictions(listeRestrictions); } }
//--------------------------------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (m_panelListeSpeedStd != null) { m_panelListeSpeedStd.AppliqueRestrictions(listeRestrictions, gestionnaireReadOnly); } }
//--------------------------------------------------- public void AppliqueRestrictions( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { m_panelSousFormulaire.AppliqueRestrictions( restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); }
public void AppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestriction, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (listeRestriction == null || gestionnaireReadOnly == null) { return; } m_listeRestrictionsAppliquées = listeRestriction.Clone() as CListeRestrictionsUtilisateurSurType; m_restrictionSurObjetEditeParent = restrictionSurObjetEdite; m_gestionnaireReadOnly = gestionnaireReadOnly; bool bAllReadOnly = false; if ((restrictionSurObjetEdite.RestrictionGlobale & ERestriction.ReadOnly) == ERestriction.ReadOnly) { gestionnaireReadOnly.SetReadOnly(this, true); bAllReadOnly = true; } //Récupère la restriction sur le type des éléments if (m_zoneMultiple != null && m_zoneMultiple.SourceFormula != null) { C2iExpression source = m_zoneMultiple.SourceFormula; Type tp = source.TypeDonnee.TypeDotNetNatif; if (tp != null) { //Chope la restriction et l'envoie à tous ses fils CRestrictionUtilisateurSurType rest = listeRestriction.GetRestriction(tp); if (bAllReadOnly)//Si readonly forcé sur toute la zone { rest.RestrictionUtilisateur |= ERestriction.ReadOnly; } m_bPreventAddFromRestriction = (rest.RestrictionGlobale & ERestriction.NoCreate) == ERestriction.NoCreate; m_bPreventDeleteFromRestriction = (rest.RestrictionGlobale & ERestriction.NoDelete) == ERestriction.NoDelete; m_lnkAdd.Visible = !m_bPreventAddFromRestriction && m_zoneMultiple.HasAddButton; m_panelTop.Visible = m_nbPages > 1 || m_zoneMultiple.HasAddButton; foreach (Control ctrl in m_panelSousFormulaires.Controls) { CPanelChildElement sousFormulaire = ctrl as CPanelChildElement; if (sousFormulaire != null) { sousFormulaire.AppliqueRestrictions(rest, listeRestriction, gestionnaireReadOnly); if (m_bPreventDeleteFromRestriction) { sousFormulaire.DelegueSuppression = null; } } } } } }
//--------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType restrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (m_wndChamp != null) { m_wndChamp.AppliqueRestriction(restrictionSurObjetEdite, restrictions, gestionnaireReadOnly); } }
//--------------------------------------------- /// <summary> /// Applique les restrictions /// </summary> /// <param name="listeRestriction"></param> public void AppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly ) { MyAppliqueRestriction(restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); foreach (IControleWndFor2iWnd child in Childs) { child.AppliqueRestriction(restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); } }
//--------------------------------------------------- public void AppliqueRestrictions( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { m_panelSousFormulaire.AppliqueRestrictions( restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); m_restriction = restrictionSurObjetEdite.Clone() as CRestrictionUtilisateurSurType;; m_listeRestrictions = listeRestrictions.Clone() as CListeRestrictionsUtilisateurSurType; m_gestionnaireReadonlySystem = gestionnaireReadOnly; }
//--------------------------------------------- public void AppliqueRestriction( CRestrictionUtilisateurSurType restriction, CListeRestrictionsUtilisateurSurType listeRestriction, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { foreach (IControleWndFor2iWnd ctrl in m_controlesFils) { ctrl.AppliqueRestriction( restriction, listeRestriction, gestionnaireReadOnly); } }
//----------------------------------------------- public void AppliqueRestrictions( CListeRestrictionsUtilisateurSurType restrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (ElementEdite != null) { CRestrictionUtilisateurSurType restriction = restrictions.GetRestriction(ElementEdite.GetType()); restriction.ApplyToObjet(ElementEdite); foreach (IControleWndFor2iWnd ctrl in m_controlesPrincipaux) { ctrl.AppliqueRestriction( restriction, restrictions, gestionnaireReadOnly); } } }
//--------------------------------------------------- public void AppliqueRestrictions( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (m_controlePrincipal != null) { if (gestionnaireReadOnly != null) { gestionnaireReadOnly.AddControl(m_controlePrincipal); } m_controlePrincipal.AppliqueRestriction( restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); } }
/// /////////////////////////////////////////// /// /// /////////////////////////////////////////// public void AppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurElementEdite, CListeRestrictionsUtilisateurSurType listeRestriction, IGestionnaireReadOnlySysteme gestionnaire) { if (listeRestriction != null && EditedElement != null) { CChampCustom champ = m_wndSelectionValeurChamp.ChampCustom; if (champ != null && restrictionSurElementEdite != null) { ERestriction rest = restrictionSurElementEdite.GetRestriction(champ.CleRestriction); if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly) { gestionnaire.SetReadOnly(Control, true); } } } }
//--------------------------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (listeRestrictions != null && gestionnaireReadOnly != null) { m_listeRestrictions = listeRestrictions.Clone() as CListeRestrictionsUtilisateurSurType; m_gestionnaireReadOnly = gestionnaireReadOnly; if (m_panelSousFormulaire != null) { m_panelSousFormulaire.AppliqueRestrictions( restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); } } }
//--------------------------------------------- public void AppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (listeRestrictions != null) { m_listeRestrictions = listeRestrictions.Clone() as CListeRestrictionsUtilisateurSurType; } if (gestionnaireReadOnly != null) { m_gestionnaireReadOnly = gestionnaireReadOnly; } foreach (IControleWndFor2iWnd child in Childs) { child.AppliqueRestriction(restrictionSurObjetEdite, listeRestrictions, gestionnaireReadOnly); } }
//--------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (EditedElement != null && m_checkBox != null) { //Chope la restriction sur le champ concerné C2iWndCheckBox chk = WndAssociee as C2iWndCheckBox; ERestriction rest = restrictionSurObjetEdite.RestrictionGlobale; if (chk != null) { CDefinitionProprieteDynamique def = chk.Property; if (def != null) { rest = def.GetRestrictionAAppliquer(restrictionSurObjetEdite); } } switch (rest) { case ERestriction.ReadOnly: { gestionnaireReadOnly.SetReadOnly(m_checkBox, true); break; } case ERestriction.Hide: { gestionnaireReadOnly.SetReadOnly(m_checkBox, true); m_checkBox.Hide(); break; } default: break; } } }
//--------------------------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType listeRestrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (EditedElement != null && m_selectionneur != null) { ERestriction rest = restrictionSurObjetEdite.RestrictionGlobale; C2iWndTextBoxFiltreRapide wndTxt = WndAssociee as C2iWndTextBoxFiltreRapide; if (wndTxt != null) { CDefinitionProprieteDynamique def = wndTxt.Property; if (def != null) { rest = def.GetRestrictionAAppliquer(restrictionSurObjetEdite); } } if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly) { gestionnaireReadOnly.SetReadOnly(m_selectionneur, true); } } }
//--------------------------------------------- protected override void MyAppliqueRestriction( CRestrictionUtilisateurSurType restrictionSurObjetEdite, CListeRestrictionsUtilisateurSurType restrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { }
/// /////////////////////////////////////////////////// public void AppliqueRestrictions(CListeRestrictionsUtilisateurSurType restrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (restrictions == null || gestionnaireReadOnly == null) { return; } m_listeRestrictions = restrictions.Clone() as CListeRestrictionsUtilisateurSurType; m_gestionnaireReadOnly = gestionnaireReadOnly; //Gère la visibilité des formulaires if (m_elementEdite != null) { CRestrictionUtilisateurSurType rest = m_listeRestrictions.GetRestriction(m_elementEdite.GetType()); rest.ApplyToObjet(m_elementEdite); if (rest.HasRestrictions) { foreach (KeyValuePair <Crownwood.Magic.Controls.TabPage, int> kv in m_tablePageToIdFormulaire) { CFormulaire formulaire = new CFormulaire(m_elementEdite.ContexteDonnee); if (formulaire.ReadIfExists(kv.Value)) { ERestriction r = rest.GetRestriction(formulaire.CleRestriction); if ((r & ERestriction.Hide) == ERestriction.Hide) { if (TabPages.Contains(kv.Key)) { TabPages.Remove(kv.Key); m_tablePagesInit[kv.Key] = false; } } } } } } //Update les pages initialisées foreach (KeyValuePair <Crownwood.Magic.Controls.TabPage, bool> kv in m_tablePagesInit) { if (kv.Value) { CCreateur2iFormulaireObjetDonnee createur = null; if (m_tableCreateurs.TryGetValue(kv.Key, out createur)) { CRestrictionUtilisateurSurType oldRest = null; if (m_elementEdite != null) { CRestrictionUtilisateurSurType restriction = m_listeRestrictions.GetRestriction(m_elementEdite.GetType()); oldRest = m_listeRestrictions.GetRestriction(m_elementEdite.GetType()); restriction.ApplyToObjet(m_elementEdite); int nIdFormulaire; if (m_tablePageToIdFormulaire.TryGetValue(kv.Key, out nIdFormulaire)) { CFormulaire formulaire = new CFormulaire(m_elementEdite.ContexteDonnee); if (formulaire.ReadIfExists(nIdFormulaire)) { ERestriction rest = restriction.GetRestriction(formulaire.CleRestriction); if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly) { restriction.AddRestrictionsHorsPriorite(new CRestrictionUtilisateurSurType(restriction.TypeAssocie, ERestriction.ReadOnly)); //force readonly sur tous les contrôles restriction.RestrictionUtilisateur = ERestriction.ReadOnly; m_listeRestrictions.SetRestriction(restriction); } } } } createur.AppliqueRestrictions(m_listeRestrictions, m_gestionnaireReadOnly); if (oldRest != null) { m_listeRestrictions.SetRestriction(oldRest); } } } } }