Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Configuration/IEnabledExpressionsConfiguration.cs @ 14907

Last change on this file since 14907 was 14905, checked in by pkimmesw, 8 years ago

#2665 Made ErcOptions checkable

File size: 1.8 KB
Line 
1using System;
2using System.Collections.Generic;
3
4namespace HeuristicLab.Problems.ProgramSynthesis.Push.Configuration {
5  using HeuristicLab.Core;
6  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
7  using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
8
9  public class EnabledExpressionsChangedEventArgs : EventArgs {
10    public IEnumerable<string> AddedExpressions { get; private set; }
11    public IEnumerable<string> RemovedExpressions { get; private set; }
12
13    public EnabledExpressionsChangedEventArgs(IEnumerable<string> addedExpressions, IEnumerable<string> removedExpressions) {
14      AddedExpressions = addedExpressions;
15      RemovedExpressions = removedExpressions;
16    }
17  }
18
19  public interface IEnabledExpressionsConfiguration : INamedItem {
20    event EventHandler<EnabledExpressionsChangedEventArgs> EnabledExpressionsChanged;
21
22    IList<string> EnabledExpressions { get; }
23
24    void EnableStack(StackTypes types, bool enableExpressions = true, bool enableDependencies = true);
25    void DisableStack(StackTypes type, bool disableExpressions = true, bool enableDepenencies = true);
26    void SetStack(StackTypes type, bool state, bool setExpressions = true, bool setDependencies = true);
27    void EnableExpressionOfStack(StackTypes types);
28    void DisableExpressionsOfStack(StackTypes types);
29    void EnableExpression(string name, bool enableStackIfDisabled = false);
30    void DisableExpression(string name, bool disableStackIfEnabled = false);
31    void SetExpression(string name, bool state, bool cascadeForStack = false);
32    void SetExpression<T>(bool state, bool cascadeForStack = false) where T : Expression;
33    void EnableExpression<T>(bool enableStackIfDisabled = false) where T : Expression;
34    void DisableExpression<T>(bool disableStackIfEnabled = false) where T : Expression;
35  }
36}
Note: See TracBrowser for help on using the repository browser.