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

Last change on this file since 14834 was 14834, checked in by pkimmesw, 3 years ago

#2665 LexicaseSelector, Performance improvements, UI Fixes, Debugger only shows used stacks, fixed Debugger stepping, Added vector expressions, ERCOptions,

File size: 1.7 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 = false);
25    void DisableStack(StackTypes type, bool disableExpressions = false);
26    void SetStack(StackTypes type, bool state, bool cascadeForExpressions = false);
27    void EnableExpressionOfStack(StackTypes types);
28    void DisableExpressionOfStack(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.