private void CreateModelRulesFromClassAttributes(ModelArtifactStateNodeWrapper wrapper, ITypeInfo typeInfo) { foreach (ArtifactStateRuleAttribute attribute in ArtifactStateRuleManager.FindAttributes(typeInfo)) { wrapper.AddRule <ControllerStateRuleNodeWrapper>(attribute, typeInfo); } }
private void CreateModelRulesFromMethodsAttributes(ModelArtifactStateNodeWrapper wrapper, ITypeInfo typeInfo) { foreach (MethodInfo methodInfo in typeInfo.Type.GetMethods(ArtifactStateRuleManager.MethodRuleBindingFlags)) { foreach (ArtifactStateRuleAttribute attribute in ArtifactStateRuleManager.FindAttributes(methodInfo)) { wrapper.AddRule <ControllerStateRuleNodeWrapper>(attribute, typeInfo); } } }
// protected override void OnViewChanging(View view){ // // base.OnViewChanging(view); // Active[ActiveObjectTypeHasRules] = ArtifactStateRuleManager.NeedsCustomization(view); // ForceCustomization(Active[ActiveObjectTypeHasRules] && view != null && view.ObjectTypeInfo != null, view,false); // } private void FrameOnViewChanging(object sender, EventArgs args) { if (View != null) { ResetCustomization(View); } var view = ((ViewChangingEventArgs)args).View; Active[ActiveObjectTypeHasRules] = ArtifactStateRuleManager.NeedsCustomization(view); ForceCustomization(Active[ActiveObjectTypeHasRules] && view != null && view.ObjectTypeInfo != null, view, false); }
protected virtual void ForceCustomizationCore(object currentObject, ArtifactStateRule rule, bool invertCustomization, View view) { ArtifactStateInfo info = ArtifactStateRuleManager.CalculateArtifactStateInfo(currentObject, rule); if (info != null) { info.InvertingCustomization = invertCustomization; info.View = view; if (invertCustomization) { info.Active = !info.Active; } CustomizeArtifactState(info); } }