Wire up the views.

This commit is contained in:
Daniel Kraus
2015-08-09 13:24:44 +02:00
parent 257e3e8568
commit b59c9f2898
21 changed files with 363 additions and 84 deletions

View File

@ -16,6 +16,7 @@
* limitations under the License.
*/
using System.Collections.Generic;
using System.Linq;
namespace zaaReloaded2.Controller.Elements
{
@ -29,19 +30,29 @@ namespace zaaReloaded2.Controller.Elements
/// Gets a list of child elements, all of which must be derived
/// from FormatElementBase.
/// </summary>
public IList<FormatElementBase> FormatElements { get; private set; }
public IList<FormatElementBase> Children { get; internal set; }
public ControlElementBase()
: this(new List<FormatElementBase>())
{ }
public ControlElementBase(IList<FormatElementBase> formatElements)
public ControlElementBase(IList<FormatElementBase> children)
{
FormatElements = formatElements;
Children = children;
}
public ControlElementBase(FormatElementBase formatElement)
: this(new List<FormatElementBase>() { formatElement })
public ControlElementBase(FormatElementBase children)
: this(new List<FormatElementBase>() { children })
{ }
/// <summary>
/// Creates a clone of the Children list (for use in cloning
/// derived classes).
/// </summary>
/// <returns>Clone of the Children list.</returns>
protected IList<FormatElementBase> CloneChildren()
{
return Children.Select(child => child.Clone() as FormatElementBase).ToList();
}
}
}

View File

@ -26,7 +26,7 @@ namespace zaaReloaded2.Controller.Elements
{
public override string Label
{
get { return "Jeden Tag auswählen"; }
get { return "Jeder Tag"; }
}
public override void Run(Formatter.Formatter formatter)
@ -46,7 +46,7 @@ namespace zaaReloaded2.Controller.Elements
protected override ElementBase CreateInstance()
{
return new SelectEachDay();
return new SelectEachDay(CloneChildren());
}
}
}

View File

@ -30,7 +30,7 @@ namespace zaaReloaded2.Controller.Elements
{
public override string Label
{
get { return "Ersten Tag auswählen"; }
get { return "Erster Tag"; }
}
public override void Run(Formatter.Formatter formatter)
@ -50,7 +50,7 @@ namespace zaaReloaded2.Controller.Elements
protected override ElementBase CreateInstance()
{
return new SelectFirstDay();
return new SelectFirstDay(CloneChildren());
}
}
}

View File

@ -31,7 +31,7 @@ namespace zaaReloaded2.Controller.Elements
{
public override string Label
{
get { return "Letzten Tag auswählen"; }
get { return "Letzter Tag"; }
}
public override void Run(Formatter.Formatter formatter)
@ -51,7 +51,7 @@ namespace zaaReloaded2.Controller.Elements
protected override ElementBase CreateInstance()
{
return new SelectLastDay();
return new SelectLastDay(CloneChildren());
}
}
}