False 0 False False 0 True True HeuristicLab Creates an event and according OnEventFired method to notify event listeners True 0 True list("private,protected virtual") 1 True True 4.0 InCSharpTypeMember hl3DefineEvent True public event EventHandler $EventName$; $Modifier$ void On$EventName$() { var handler = $EventName$; if (handler != null) handler(this, EventArgs.Empty); } True True HeuristicLab cs Class True HeuristicLab Operator True constant("SingleSuccessorOperator") 4 True constant("Please provide a description!") 3 True getFileNameWithoutExtension() -1 2 True getDefaultNamespace() -1 1 True getCurrentDate("yyyy") -1 0 True True InCSharpProjectFile True #region License Information /* HeuristicLab * Copyright (C) 2002-$year$ Heuristic and Evolutionary Algorithms Laboratory (HEAL) * * This file is part of HeuristicLab. * * HeuristicLab is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * HeuristicLab is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. */ #endregion using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Operators; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace $OperatorNamespace$ { [Item("$OperatorName$", "$OperatorDescription$")] [StorableClass] public class $OperatorName$ : $BaseClass$ { #region Parameter Properties #endregion [StorableConstructor] protected $OperatorName$(bool deserializing) : base(deserializing) { } protected $OperatorName$($OperatorName$ original, Cloner cloner) : base(original, cloner) { } public $OperatorName$() : base() { // TODO: Add new parameters here } public override IDeepCloneable Clone(Cloner cloner) { return new $OperatorName$(this, cloner); } public override IOperation Apply() { // TODO: Add your code here return base.Apply(); } } } True True HeuristicLab Creates a storable constructor True typeName() -1 1 True list("private,protected") 0 True True 4.0 InCSharpTypeMember hl3StorableConstructor True [StorableConstructor] $ConstructorVisibility$ $Classname$(bool deserializing) : base(deserializing) { } True True HeuristicLab Adds a cloning constructor to a class True typeName() -1 1 True list("private,protected") 0 True True 4.0 InCSharpTypeMember hl3CloningConstructor True $ConstructorVisibility$ $Classname$($Classname$ original, Cloner cloner) : base(original, cloner) { } True True HeuristicLab Creates a Parameters.Add(..) statement True constant("IntValue") 1 True constant("Please provide a description!") 3 True 2 True list("Lookup,Value,ValueLookup,ScopeTreeLookup,Scope,Operator,OptionalValue,ConstrainedValue,OptionalConstrainedValue,FixedValue") 0 True True 4.0 InCSharpStatement hl3AddParameter True Parameters.Add(new $ParameterType$Parameter<$ParameterDataType$>("$ParameterName$", "$ParameterDescription$")); True True HeuristicLab Inserts HeuristicLab's GPL license header -1 True hl3License True #region License Information /* HeuristicLab * Copyright (C) 2002-$year$ Heuristic and Evolutionary Algorithms Laboratory (HEAL) * * This file is part of HeuristicLab. * * HeuristicLab is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * HeuristicLab is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. */ #endregion True getCurrentDate("yyyy") 0 True 2.0 InCSharpFile True True HeuristicLab True 0 True 1 True list("private,protected virtual") 2 True True 4.0 InCSharpTypeMember hl3DefineGenericEvent True public event EventHandler<EventArgs<$ArgsType$>> $EventName$; $Modifier$ void On$EventName$($ArgsType$ args) { var handler = $EventName$; if (handler != null) handler(this, new EventArgs<$ArgsType$>(args)); } True True HeuristicLab Inserts a serialization hook True True 4.0 InCSharpTypeMember hl3SerializationHook True [StorableHook(HookType.$Type$erialization)] private void $Type$erialization() { } True list("AfterDes,BeforeS") 0 True True HeuristicLab Creates a partial view class to replace the auto-generated class when adding a new UserControl True constant("ItemView") 3 True 0 True list("false,true") 2 True 1 True True 4.0 InCSharpTypeAndNamespace hl3ViewClass True [View("$ViewName$")] [Content(typeof($ContentType$), IsDefaultView = $DefaultView$)] public sealed partial class $ContentType$View : $BaseView$ { public new $ContentType$ Content { get { return ($ContentType$)base.Content; } set { base.Content = value; } } public $ContentType$View() { InitializeComponent(); } protected override void DeregisterContentEvents() { // TODO: Deregister your event handlers here base.DeregisterContentEvents(); } protected override void RegisterContentEvents() { base.RegisterContentEvents(); // TODO: Register your event handlers here } #region Event Handlers (Content) // TODO: Put event handlers of the content here #endregion protected override void OnContentChanged() { base.OnContentChanged(); if (Content == null) { // TODO: Add code when content has been changed and is null } else { // TODO: Add code when content has been changed and is not null } } protected override void SetEnabledStateOfControls() { base.SetEnabledStateOfControls(); // TODO: Enable or disable controls based on whether the content is null or the view is set readonly } #region Event Handlers (child controls) // TODO: Put event handlers of child controls here. #endregion } True True HeuristicLab Inserts the clone method that uses the cloning constructor to create a new instance -1 True True 4.0 InCSharpTypeMember hl3CloneMethod True public override IDeepCloneable Clone(Cloner cloner) { return new $Classname$(this, cloner); } True typeName() 0 True True HeuristicLab Defines a parameter property as well as the corresponding Parameters.Add() statement which can be copied to the constructor. constant("IntValue") constant("Please provide a description!") constant("MyValue") True True 4.0 InCSharpTypeMember hl3DefineParameter True $ParameterVisibility$ I$ParameterType$Parameter<$ParameterDataType$> $ParameterName$Parameter { get { return (I$ParameterType$Parameter<$ParameterDataType$>)Parameters["$ParameterName$"]; } } // Parameters.Add(new $ParameterType$Parameter<$ParameterDataType$>("$ParameterName$", "$ParameterDescription$")); True 2 True 4 True 3 True list("Value,Lookup,ValueLookup,ScopeTreeLookup,Scope,Operator,OptionalValue,ConstrainedValue,OptionalConstrainedValue,FixedValue") 1 True list("private,protected,public,internal,protected internal") 0 True True HeuristicLab Adds the backwardscompatibility tag and provides a region to mark backwards compatible code (this can be removed when going to a different major or minor version) True constant("3.3") 0 True constant("3.4") 1 True True 4.0 InCSharpFile hl3BackwardsCompatibility True // BackwardsCompatibility$currentversion$ #region Backwards compatible code, remove with $nextversion$ #endregion