public virtual void CustomizeArtifactState(ArtifactStateInfo info) { var args = new ArtifactStateInfoCustomizingEventArgs(info, false); OnArtifactStateCustomizing(args); if (!args.Cancel) { foreach (ISupportArtifactState supportArtifactState in providers.Keys.Where(supportArtifactState => providers[supportArtifactState].IsAssignableFrom(info.Rule.GetType()))) { if (info.State == State.Default || info.State == State.Hidden) { if (supportArtifactState is ISupportArtifactStateVisibilityCustomization) { ((ISupportArtifactStateVisibilityCustomization)supportArtifactState).CustomizeVisibility(info); } } else if (info.State == State.Disabled) { if (supportArtifactState is ISupportArtifactStateAccessibilityCustomization) { ((ISupportArtifactStateAccessibilityCustomization)supportArtifactState).CustomizeAccessibility(info); } } } } OnArtifactStateStateCustomized(new ArtifactStateInfoCustomizedEventArgs(info)); }
public void CustomizeVisibility(ArtifactStateInfo artifactStateInfo) { var rule = (((ActionStateRule)artifactStateInfo.Rule)); foreach (ActionBase actionBase in GetActions(rule)) { actionBase.Active[ArtifactStateCustomizationViewController.ActiveObjectTypeHasRules] = !artifactStateInfo.Active; } }
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); } }
void ControllerOnArtifactStateCustomizing(object sender, ArtifactStateInfoCustomizingEventArgs artifactStateInfoCustomizingEventArgs) { ArtifactStateInfo artifactStateInfo = artifactStateInfoCustomizingEventArgs.ArtifactStateInfo; bool executedAndDisable = artifactStateInfo.State == (State)ActionState.ActionState.ExecutedAndDisable; bool b = artifactStateInfo.State == (State)ActionState.ActionState.Executed || executedAndDisable; if (b && actionsToExecute.Count == 0) { // _executed = true; var rule = (((ActionStateRule)artifactStateInfo.Rule)); foreach (SimpleAction actionBase in GetActions(rule)) { actionsToExecute.Add(actionBase, (ActionState.ActionState)artifactStateInfo.State); // var action = actionBase; // ViewControlsCreated+=(o, args) => ExecuteAction(action, executedAndDisable); // var viewController = ((ViewController) actionBase.Controller); // viewController.ViewControlsCreated +=(sender1, eventArgs) => ExecuteAction(action,executedAndDisable); } } }
private void customizeState(ArtifactStateInfo artifactStateInfo) { var controllerStateRule = (((ControllerStateRule)artifactStateInfo.Rule)); if (!string.IsNullOrEmpty(controllerStateRule.Module)) { IEnumerable <string> assemblies = Application.Modules.Where( @base => new Regex(controllerStateRule.Module).IsMatch(@base.GetType().FullName)).Select( @base => @base.GetType().Assembly.FullName); foreach ( Controller controller in Frame.Controllers.Cast <Controller>().Where( controller => assemblies.Contains(controller.GetType().Assembly.FullName))) { controller.Active[ArtifactStateCustomizationViewController.ActiveObjectTypeHasRules] = !artifactStateInfo.Active; } } else { Frame.GetController(controllerStateRule.ControllerType).Active[ ArtifactStateCustomizationViewController.ActiveObjectTypeHasRules] = !artifactStateInfo.Active; } }
public void CustomizeAccessibility(ArtifactStateInfo info) { customizeState(info); }
public void CustomizeVisibility(ArtifactStateInfo artifactStateInfo) { customizeState(artifactStateInfo); }
public virtual void CustomizeVisibility(ArtifactStateInfo artifactStateInfo) { }
public virtual void CustomizeAccessibility(ArtifactStateInfo info) { }