Dokumentation eingebaut und aktuelle Element wird nun gekennzeichnet
This commit is contained in:
parent
0147753ff6
commit
2abef7a2a4
49 changed files with 3505 additions and 39 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -27,3 +27,4 @@ obj/
|
||||||
[Rr]elease*/
|
[Rr]elease*/
|
||||||
_ReSharper*/
|
_ReSharper*/
|
||||||
[Tt]est[Rr]esult*
|
[Tt]est[Rr]esult*
|
||||||
|
output/
|
||||||
|
|
36
TimeScheduler/TimeScheduler.Test/Properties/AssemblyInfo.cs
Normal file
36
TimeScheduler/TimeScheduler.Test/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Allgemeine Informationen über eine Assembly werden über folgende
|
||||||
|
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||||
|
// die einer Assembly zugeordnet sind.
|
||||||
|
[assembly: AssemblyTitle("TimeScheduler.Test")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("TimeScheduler.Test")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2015")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Wenn ComVisible auf "false" festgelegt wird, sind die Typen innerhalb dieser Assembly
|
||||||
|
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||||
|
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||||
|
[assembly: Guid("8b47037c-584e-41fb-b8b8-14fad26d7bca")]
|
||||||
|
|
||||||
|
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||||
|
//
|
||||||
|
// Hauptversion
|
||||||
|
// Nebenversion
|
||||||
|
// Buildnummer
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
|
// übernehmen, indem Sie "*" eingeben:
|
||||||
|
// [Assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
85
TimeScheduler/TimeScheduler.Test/TimeScheduler.Test.csproj
Normal file
85
TimeScheduler/TimeScheduler.Test/TimeScheduler.Test.csproj
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{8B47037C-584E-41FB-B8B8-14FAD26D7BCA}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>TimeScheduler.Test</RootNamespace>
|
||||||
|
<AssemblyName>TimeScheduler.Test</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||||
|
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
|
||||||
|
<IsCodedUITest>False</IsCodedUITest>
|
||||||
|
<TestProjectType>UnitTest</TestProjectType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Choose>
|
||||||
|
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||||
|
</ItemGroup>
|
||||||
|
</When>
|
||||||
|
<Otherwise>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Otherwise>
|
||||||
|
</Choose>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="ViewModel\MainViewModelTest.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Choose>
|
||||||
|
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
</When>
|
||||||
|
</Choose>
|
||||||
|
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
|
@ -0,0 +1,14 @@
|
||||||
|
using System;
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
|
||||||
|
namespace TimeScheduler.Test.ViewModel
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class MainViewModelTest
|
||||||
|
{
|
||||||
|
[TestMethod]
|
||||||
|
public void TestMethod1()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,6 +5,8 @@ VisualStudioVersion = 14.0.23107.0
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeScheduler", "TimeScheduler\TimeScheduler.csproj", "{0129AAAE-40F7-4B87-959F-0C48806F496A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeScheduler", "TimeScheduler\TimeScheduler.csproj", "{0129AAAE-40F7-4B87-959F-0C48806F496A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeScheduler.Test", "TimeScheduler.Test\TimeScheduler.Test.csproj", "{8B47037C-584E-41FB-B8B8-14FAD26D7BCA}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -15,6 +17,10 @@ Global
|
||||||
{0129AAAE-40F7-4B87-959F-0C48806F496A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{0129AAAE-40F7-4B87-959F-0C48806F496A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{0129AAAE-40F7-4B87-959F-0C48806F496A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{0129AAAE-40F7-4B87-959F-0C48806F496A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{0129AAAE-40F7-4B87-959F-0C48806F496A}.Release|Any CPU.Build.0 = Release|Any CPU
|
{0129AAAE-40F7-4B87-959F-0C48806F496A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{8B47037C-584E-41FB-B8B8-14FAD26D7BCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{8B47037C-584E-41FB-B8B8-14FAD26D7BCA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{8B47037C-584E-41FB-B8B8-14FAD26D7BCA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{8B47037C-584E-41FB-B8B8-14FAD26D7BCA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
@ -15,7 +15,7 @@ namespace TimeScheduler.Common
|
||||||
/// <FrameworkElement Property="{Binding Source={StaticResource proxy},Path=VMProperty}">
|
/// <FrameworkElement Property="{Binding Source={StaticResource proxy},Path=VMProperty}">
|
||||||
/// </code>
|
/// </code>
|
||||||
/// </example>
|
/// </example>
|
||||||
class BindingProxy : Freezable
|
public class BindingProxy : Freezable
|
||||||
{
|
{
|
||||||
#region Konstruktion
|
#region Konstruktion
|
||||||
/// <summary>Standard-Konstruktor</summary>
|
/// <summary>Standard-Konstruktor</summary>
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace TimeScheduler.Domain.Impl
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ITimeItem
|
#region ITimeItem (Eigenschaften nicht implizit implementieren, sonst funktioniert das Binden nicht)
|
||||||
private int key_;
|
private int key_;
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public int Key { get { return key_; } set { SetField(ref key_, value); } }
|
public int Key { get { return key_; } set { SetField(ref key_, value); } }
|
||||||
|
@ -106,6 +106,10 @@ namespace TimeScheduler.Domain.Impl
|
||||||
private TimeItemType itemType_;
|
private TimeItemType itemType_;
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public TimeItemType ItemType { get { return itemType_; } set { SetField(ref itemType_, value); } }
|
public TimeItemType ItemType { get { return itemType_; } set { SetField(ref itemType_, value); } }
|
||||||
|
|
||||||
|
private bool isCurrentItem_;
|
||||||
|
/// <inheritdoc/>
|
||||||
|
public bool IsCurrentItem { get { return isCurrentItem_; } set { SetField(ref isCurrentItem_, value); } }
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,15 +48,23 @@
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="ListBoxItem">
|
<ControlTemplate TargetType="ListBoxItem">
|
||||||
<Border x:Name="showSelection" BorderBrush="Black" BorderThickness="1" Margin="1,2,1,0">
|
<Border x:Name="showSelection" BorderBrush="Black" BorderThickness="2" Margin="1,2,1,0">
|
||||||
<Border Background="{TemplateBinding Background}" Margin="5" CornerRadius="10" Padding="5">
|
<Border Background="{TemplateBinding Background}" Margin="5" CornerRadius="10" Padding="5">
|
||||||
<ContentPresenter />
|
<Grid>
|
||||||
|
<ContentPresenter />
|
||||||
|
<Path x:Name="currentItemAdorner" Visibility="Collapsed" Fill="#FF00C000" Width="10" Height="10"
|
||||||
|
VerticalAlignment="Top" HorizontalAlignment="Right"
|
||||||
|
Data="M 0,0 L 10,5 L0,10 Z"/>
|
||||||
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
</Border>
|
</Border>
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger Property="IsSelected" Value="true">
|
<Trigger Property="IsSelected" Value="true">
|
||||||
<Setter TargetName="showSelection" Property="Background" Value="Blue"/>
|
<Setter TargetName="showSelection" Property="Background" Value="Blue"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
|
<DataTrigger Binding="{Binding IsCurrentItem}" Value="true">
|
||||||
|
<Setter TargetName="currentItemAdorner" Property="Visibility" Value="Visible"/>
|
||||||
|
</DataTrigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
|
@ -110,7 +118,7 @@
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
||||||
<GradientStop Color="White" Offset="0"/>
|
<GradientStop Color="White" Offset="0"/>
|
||||||
<GradientStop Color="Green" Offset="0.5"/>
|
<GradientStop Color="Red" Offset="0.5"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
|
|
|
@ -23,5 +23,8 @@ namespace TimeScheduler.Model
|
||||||
|
|
||||||
/// <summary>Typ</summary>
|
/// <summary>Typ</summary>
|
||||||
TimeItemType ItemType { get; set; }
|
TimeItemType ItemType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>Definiert ob diese Element, das aktuelle ist auf dem gespeichert werden soll</summary>
|
||||||
|
bool IsCurrentItem { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
8
TimeScheduler/TimeScheduler/Resource/ChangeLog.md
Normal file
8
TimeScheduler/TimeScheduler/Resource/ChangeLog.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Änderungshistorie
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Version 1.0.0.0
|
||||||
|
---------------
|
||||||
|
* erstellt
|
|
@ -89,9 +89,17 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
|
<None Include="Resource\ChangeLog.md" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup />
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PreBuildEvent>
|
||||||
|
</PreBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>"$(SolutionDir)package\CreateDocu.cmd"</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|
|
@ -14,10 +14,10 @@ namespace TimeScheduler.ViewModel
|
||||||
#region Konstruktion
|
#region Konstruktion
|
||||||
/// <summary>aktuelles Ele</summary>
|
/// <summary>aktuelles Ele</summary>
|
||||||
private ITimeItem lastTimeItem_;
|
private ITimeItem lastTimeItem_;
|
||||||
/// <summary>Element, das noch undefinierten Zeitraum speichert</summary>
|
|
||||||
private ITimeItem undefinedItem_;
|
|
||||||
/// <summary>Zyklische Aktuallisierung</summary>
|
/// <summary>Zyklische Aktuallisierung</summary>
|
||||||
private System.Timers.Timer timer_;
|
private System.Timers.Timer timer_;
|
||||||
|
/// <summary>Funktion zum ermitteln der aktuellen Uhrzeit</summary>
|
||||||
|
protected Func<DateTime> currentTime_ = new Func<DateTime>(() => DateTime.Now);
|
||||||
|
|
||||||
/// <summary>Standard-Konstruktor</summary>
|
/// <summary>Standard-Konstruktor</summary>
|
||||||
public MainViewModel() : this(new Domain.Impl.FileDomain()) { Refresh(); }
|
public MainViewModel() : this(new Domain.Impl.FileDomain()) { Refresh(); }
|
||||||
|
@ -56,22 +56,13 @@ namespace TimeScheduler.ViewModel
|
||||||
{
|
{
|
||||||
case Microsoft.Win32.PowerModes.Resume: break;
|
case Microsoft.Win32.PowerModes.Resume: break;
|
||||||
case Microsoft.Win32.PowerModes.StatusChange: break;
|
case Microsoft.Win32.PowerModes.StatusChange: break;
|
||||||
case Microsoft.Win32.PowerModes.Suspend:
|
// Beim wechseln in Suspend, ein neues Element erzeugen, wenn das vorhergehende lang genug ist
|
||||||
// Beim wechseln in Suspend, ein neues Element erzeugen, wenn das vorhergehende lang genug ist
|
case Microsoft.Win32.PowerModes.Suspend: CreateNewLastItem(); break;
|
||||||
Save();
|
|
||||||
if (lastTimeItem_ != null)
|
|
||||||
if ((lastTimeItem_.Till - lastTimeItem_.From) > TimeSpan.FromMinutes(15))
|
|
||||||
{
|
|
||||||
var newItem = Provider.NewItem();
|
|
||||||
newItem.From = lastTimeItem_.Till;
|
|
||||||
TimeItems.Add(newItem);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception exc) { }
|
catch (Exception exc) { }
|
||||||
}
|
}
|
||||||
private void SystemEvents_SessionEnded(object sender, Microsoft.Win32.SessionEndedEventArgs e) { Save(); }
|
private void SystemEvents_SessionEnded(object sender, Microsoft.Win32.SessionEndedEventArgs e) { UpdateLastItem(); }
|
||||||
private void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e)
|
private void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -84,24 +75,15 @@ namespace TimeScheduler.ViewModel
|
||||||
case Microsoft.Win32.SessionSwitchReason.RemoteDisconnect: break;
|
case Microsoft.Win32.SessionSwitchReason.RemoteDisconnect: break;
|
||||||
case Microsoft.Win32.SessionSwitchReason.SessionLogon: break;
|
case Microsoft.Win32.SessionSwitchReason.SessionLogon: break;
|
||||||
case Microsoft.Win32.SessionSwitchReason.SessionLogoff: break;
|
case Microsoft.Win32.SessionSwitchReason.SessionLogoff: break;
|
||||||
case Microsoft.Win32.SessionSwitchReason.SessionLock:
|
// Beim Sperren, eine neue Session beginnen
|
||||||
// Beim Sperren, eine neue Session beginnen
|
case Microsoft.Win32.SessionSwitchReason.SessionLock: CreateNewLastItem(); break;
|
||||||
Save();
|
|
||||||
if (lastTimeItem_ != null)
|
|
||||||
if ((lastTimeItem_.Till - lastTimeItem_.From) >= TimeSpan.FromMinutes(15))
|
|
||||||
{
|
|
||||||
var newItem = Provider.NewItem();
|
|
||||||
newItem.From = lastTimeItem_.Till;
|
|
||||||
TimeItems.Add(newItem);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case Microsoft.Win32.SessionSwitchReason.SessionUnlock: break;
|
case Microsoft.Win32.SessionSwitchReason.SessionUnlock: break;
|
||||||
case Microsoft.Win32.SessionSwitchReason.SessionRemoteControl: break;
|
case Microsoft.Win32.SessionSwitchReason.SessionRemoteControl: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception exc) { }
|
catch (Exception exc) { }
|
||||||
}
|
}
|
||||||
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Save(); }
|
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { UpdateLastItem(); }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>Datenbeschaffer</summary>
|
/// <summary>Datenbeschaffer</summary>
|
||||||
|
@ -109,7 +91,7 @@ namespace TimeScheduler.ViewModel
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Eigenschaften
|
#region Eigenschaften
|
||||||
private DateTime selectedDate_ = DateTime.Now.Date;
|
private DateTime selectedDate_;
|
||||||
/// <summary>Beinhaltet den selektierten Tag</summary>
|
/// <summary>Beinhaltet den selektierten Tag</summary>
|
||||||
public DateTime SelectedDate
|
public DateTime SelectedDate
|
||||||
{
|
{
|
||||||
|
@ -144,6 +126,7 @@ namespace TimeScheduler.ViewModel
|
||||||
RefreshCommand = new RelayCommand(Refresh);
|
RefreshCommand = new RelayCommand(Refresh);
|
||||||
AddNewCommand = new RelayCommand(AddNew);
|
AddNewCommand = new RelayCommand(AddNew);
|
||||||
DeleteCommand = new RelayCommand(Delete, CanDelete);
|
DeleteCommand = new RelayCommand(Delete, CanDelete);
|
||||||
|
SaveCommand = new RelayCommand(Save);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ICommand RefreshCommand { get; private set; }
|
public ICommand RefreshCommand { get; private set; }
|
||||||
|
@ -157,18 +140,22 @@ namespace TimeScheduler.ViewModel
|
||||||
ItemTypes = it;
|
ItemTypes = it;
|
||||||
|
|
||||||
// Andere Daten ermitteln
|
// Andere Daten ermitteln
|
||||||
RefreshForDate(SelectedDate);
|
SelectedDate = currentTime_().Date;
|
||||||
|
//RefreshForDate(SelectedDate);
|
||||||
|
|
||||||
// Letztes Element ermitteln, auf dem weiter gelaufen wird
|
// Letztes Element ermitteln, auf dem weiter gelaufen wird
|
||||||
var lastItem = TimeItems.OrderByDescending(x => x.From).FirstOrDefault();
|
var lastItem = TimeItems.OrderByDescending(x => x.From).FirstOrDefault();
|
||||||
if (lastItem == null || lastItem.From.Date != SelectedDate.Date)
|
if (lastItem == null || lastItem.From.Date != SelectedDate.Date)
|
||||||
{// Wenn keines gefunden wurde oder keins für den heutigen Tag gefunden wurde, dann eins neu erzeugen
|
{// Wenn keines gefunden wurde oder keins für den heutigen Tag gefunden wurde, dann eins neu erzeugen
|
||||||
lastItem = Provider.NewItem();
|
lastItem = Provider.NewItem();
|
||||||
lastItem.From = DateTime.Now;
|
lastItem.From = currentTime_();
|
||||||
TimeItems.Add(lastItem);
|
TimeItems.Add(lastItem);
|
||||||
}
|
}
|
||||||
// und abspeichern
|
// und abspeichern
|
||||||
lastTimeItem_ = lastItem;
|
lastTimeItem_ = lastItem;
|
||||||
|
lastTimeItem_.IsCurrentItem = true;
|
||||||
|
// Und direkt den aktuellen Wert speichern
|
||||||
|
UpdateLastItem();
|
||||||
}
|
}
|
||||||
private void RefreshForDate(DateTime date)
|
private void RefreshForDate(DateTime date)
|
||||||
{
|
{
|
||||||
|
@ -205,16 +192,46 @@ namespace TimeScheduler.ViewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
public ICommand AddNewCommand { get; private set; }
|
public ICommand AddNewCommand { get; private set; }
|
||||||
private void AddNew() { TimeItems.Add(Provider.NewItem()); }
|
private void AddNew() { CreateNewLastItem(); }
|
||||||
|
|
||||||
public ICommand DeleteCommand { get; private set; }
|
public ICommand DeleteCommand { get; private set; }
|
||||||
private void Delete() { TimeItems.Remove(SelectedTimeItem); }
|
private void Delete() { TimeItems.Remove(SelectedTimeItem); }
|
||||||
public bool CanDelete() { return SelectedTimeItem != null; }
|
public bool CanDelete() { return SelectedTimeItem != null; }
|
||||||
|
|
||||||
private void Save() { if (lastTimeItem_ != null) { lastTimeItem_.Till = DateTime.Now; } }
|
public ICommand SaveCommand { get; private set; }
|
||||||
|
private void Save() { UpdateLastItem(); }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Hilfsfunktionen
|
#region Hilfsfunktionen
|
||||||
|
/// <summary>Schließt das aktuelle "Letzte Element" ab und erzeugt ein neues, aber nur wenn das aktuelle >15min ist</summary>
|
||||||
|
private void CreateNewLastItem()
|
||||||
|
{
|
||||||
|
// Aktuelles Element speichern
|
||||||
|
UpdateLastItem();
|
||||||
|
|
||||||
|
// Wenn ein letztes Element existiert und dies eine Dauer >15min besitzt, dann erst ein neues erzeugen
|
||||||
|
if (lastTimeItem_ != null && (lastTimeItem_.Till - lastTimeItem_.From) > TimeSpan.FromMinutes(15))
|
||||||
|
{
|
||||||
|
// neues Element erzeugen und belegen
|
||||||
|
var newItem = Provider.NewItem();
|
||||||
|
newItem.From = lastTimeItem_.Till;
|
||||||
|
newItem.IsCurrentItem = true;
|
||||||
|
// Aufnehmen und altes LastItem durch neues ersetzen
|
||||||
|
TimeItems.Add(newItem);
|
||||||
|
lastTimeItem_.IsCurrentItem = false;
|
||||||
|
lastTimeItem_ = newItem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Aktualisiert das "Letzte Element"</summary>
|
||||||
|
private void UpdateLastItem()
|
||||||
|
{
|
||||||
|
if (lastTimeItem_ != null)
|
||||||
|
lastTimeItem_.Till = currentTime_();
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Ereignisse
|
||||||
private void TimeItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
private void TimeItems_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
|
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
|
||||||
|
|
23
TimeScheduler/package/CreateDocu.cmd
Normal file
23
TimeScheduler/package/CreateDocu.cmd
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
@echo off
|
||||||
|
cls
|
||||||
|
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
:: In aktuellen Ordner wechseln
|
||||||
|
%~d0
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
:: Dokumentation via doxygen erzeugen
|
||||||
|
pushd "doxygen
|
||||||
|
doxygen TimeScheduler.doxyconf
|
||||||
|
popd
|
||||||
|
|
||||||
|
:: Dokumentation via simpleDocu erzeugen
|
||||||
|
set FOLDER=%1
|
||||||
|
if "%FOLDER%"=="" set FOLDER=Release
|
||||||
|
pushd "docu"
|
||||||
|
docu.exe "..\..\TimeScheduler\bin\%FOLDER%\TimeScheduler.exe" "..\..\TimeScheduler\bin\%FOLDER%\TimeScheduler.XML" --output="..\..\output\docu"
|
||||||
|
popd
|
||||||
|
|
||||||
|
endlocal
|
||||||
|
::pause
|
BIN
TimeScheduler/package/docu/Interop.SparkLanguagePackageLib.dll
Normal file
BIN
TimeScheduler/package/docu/Interop.SparkLanguagePackageLib.dll
Normal file
Binary file not shown.
10
TimeScheduler/package/docu/README.txt
Normal file
10
TimeScheduler/package/docu/README.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Einfache Software zum erstellen von HTML-Dokumentation.
|
||||||
|
Kann aktuell noch keine Code-Elemente in Beispielen.
|
||||||
|
|
||||||
|
Webseite: http://docu.jagregory.com
|
||||||
|
|
||||||
|
Aufruf durch:
|
||||||
|
docu assembly.dll
|
||||||
|
|
||||||
|
Beim Exe-Programmen, die xml mit angeben:
|
||||||
|
docu assembly.exe assembly.xml
|
BIN
TimeScheduler/package/docu/Spark.dll
Normal file
BIN
TimeScheduler/package/docu/Spark.dll
Normal file
Binary file not shown.
BIN
TimeScheduler/package/docu/Spark.pdb
Normal file
BIN
TimeScheduler/package/docu/Spark.pdb
Normal file
Binary file not shown.
BIN
TimeScheduler/package/docu/SparkLanguage.dll
Normal file
BIN
TimeScheduler/package/docu/SparkLanguage.dll
Normal file
Binary file not shown.
BIN
TimeScheduler/package/docu/StructureMap.dll
Normal file
BIN
TimeScheduler/package/docu/StructureMap.dll
Normal file
Binary file not shown.
BIN
TimeScheduler/package/docu/docu.exe
Normal file
BIN
TimeScheduler/package/docu/docu.exe
Normal file
Binary file not shown.
3
TimeScheduler/package/docu/docu.exe.config
Normal file
3
TimeScheduler/package/docu/docu.exe.config
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<configuration>
|
||||||
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
BIN
TimeScheduler/package/docu/docu.pdb
Normal file
BIN
TimeScheduler/package/docu/docu.pdb
Normal file
Binary file not shown.
210
TimeScheduler/package/docu/docu.xml
Normal file
210
TimeScheduler/package/docu/docu.xml
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>docu</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="M:Docu.Console.ISwitch.Handle(System.String)">
|
||||||
|
<summary>
|
||||||
|
Handle the argument
|
||||||
|
</summary>
|
||||||
|
<param name="arg">argument</param>
|
||||||
|
<returns>Continue/true or exit/false</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Docu.Output.Rendering.SparkTemplateBase">
|
||||||
|
<summary>
|
||||||
|
All public or protected methods and properties on this class are available within documentation templates
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Docu.Output.Rendering.SparkTemplateBase.Assemblies">
|
||||||
|
<summary>
|
||||||
|
All of the assemblies being documented
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Docu.Output.Rendering.SparkTemplateBase.Namespaces">
|
||||||
|
<summary>
|
||||||
|
All of the namespaces in the assemblies being documented
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Docu.Output.Rendering.SparkTemplateBase.Types">
|
||||||
|
<summary>
|
||||||
|
All of the types in the assemblies being documented
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Docu.Output.Rendering.SparkTemplateBase.Namespace">
|
||||||
|
<summary>
|
||||||
|
The current namespace being documented within the special !namespace template
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Docu.Output.Rendering.SparkTemplateBase.Type">
|
||||||
|
<summary>
|
||||||
|
The current type being documented withing the special !type template
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Docu.Output.Rendering.SparkTemplateBase.RelativeOutputPath">
|
||||||
|
<summary>
|
||||||
|
The path of the file that this view represents, relative to the output directory.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.SetMethodUrlFormat(System.String)">
|
||||||
|
<summary>
|
||||||
|
Configures the pattern that will be used to construct links to methods referenced in the documentation of other symbols
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The pattern can be constructed using the following placeholders:
|
||||||
|
<list type="definition">
|
||||||
|
<item><term>{type.namespace}</term><description>The namespace of the type that contains the method</description></item>
|
||||||
|
<item><term>{type}</term><description>The short name of the type that contains the method</description></item>
|
||||||
|
<item><term>{method}</term><description>The name of method</description></item>
|
||||||
|
</list>
|
||||||
|
<para>The default is {type.namespace}/{type}.htm#{method}</para></remarks>
|
||||||
|
<param name="format">The pattern used to construct the link</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.SetTypeUrlFormat(System.String)">
|
||||||
|
<summary>
|
||||||
|
Configures the pattern that will be used to construct links to types referenced in the documentation of other symbols
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The pattern can be constructed using the following placeholders:
|
||||||
|
<list type="definition">
|
||||||
|
<item><term>{type.namespace}</term><description>The namespace of the type</description></item>
|
||||||
|
<item><term>{type}</term><description>The short name of the type</description></item>
|
||||||
|
</list>
|
||||||
|
<para>The default is {type.namespace}/{type}.htm</para></remarks>
|
||||||
|
<param name="format">The pattern used to construct the link</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.SetPropertyUrlFormat(System.String)">
|
||||||
|
<summary>
|
||||||
|
Configures the pattern that will be used to construct links to properties referenced in the documentation of other symbols
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The pattern can be constructed using the following placeholders:
|
||||||
|
<list type="definition">
|
||||||
|
<item><term>{type.namespace}</term><description>The namespace of the type that contains the property</description></item>
|
||||||
|
<item><term>{type}</term><description>The short name of the type that contains the property</description></item>
|
||||||
|
<item><term>{property}</term><description>The name of the property</description></item>
|
||||||
|
</list>
|
||||||
|
<para>The default is {type.namespace}/{type}.htm#{property}</para></remarks>
|
||||||
|
<param name="format">The pattern used to construct the link</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.SetEventUrlFormat(System.String)">
|
||||||
|
<summary>
|
||||||
|
Configures the pattern that will be used to construct links to events referenced in the documentation of other symbols
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The pattern can be constructed using the following placeholders:
|
||||||
|
<list type="definition">
|
||||||
|
<item><term>{type.namespace}</term><description>The namespace of the type that contains the event</description></item>
|
||||||
|
<item><term>{type}</term><description>The short name of the type that contains the event</description></item>
|
||||||
|
<item><term>{event}</term><description>The name of the event</description></item>
|
||||||
|
</list>
|
||||||
|
<para>The default is {type.namespace}/{type}.htm#{event}</para></remarks>
|
||||||
|
<param name="format">The pattern used to construct the link</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.SetFieldUrlFormat(System.String)">
|
||||||
|
<summary>
|
||||||
|
Configures the pattern that will be used to construct links to fields referenced in the documentation of other symbols
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The pattern can be constructed using the following placeholders:
|
||||||
|
<list type="definition">
|
||||||
|
<item><term>{type.namespace}</term><description>The namespace of the type that contains the field</description></item>
|
||||||
|
<item><term>{type}</term><description>The short name of the type that contains the field</description></item>
|
||||||
|
<item><term>{field}</term><description>The name of the field</description></item>
|
||||||
|
</list>
|
||||||
|
<para>The default is {type.namespace}/{type}.htm#{field}</para></remarks>
|
||||||
|
<param name="format">The pattern used to construct the link</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.SetNamespaceUrlFormat(System.String)">
|
||||||
|
<summary>
|
||||||
|
Configures the pattern that will be used to construct links to namespaces referenced in the documentation of other symbols
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The pattern can be constructed using the following placeholders:
|
||||||
|
<list type="definition">
|
||||||
|
<item><term>{type.namespace}</term><description>The name of the namespace</description></item>
|
||||||
|
</list>
|
||||||
|
<para>The default is {namespace}.htm</para></remarks>
|
||||||
|
<param name="format">The pattern used to construct the link</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.WriteProductName(System.Reflection.Assembly)">
|
||||||
|
<summary>
|
||||||
|
Returns the product name of an assembly
|
||||||
|
</summary>
|
||||||
|
<param name="assembly"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.WriteFileDescription(System.Reflection.Assembly)">
|
||||||
|
<summary>
|
||||||
|
Returns the description of an assembly
|
||||||
|
</summary>
|
||||||
|
<param name="assembly"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.WriteAssemblyTitle(System.Reflection.Assembly)">
|
||||||
|
<summary>
|
||||||
|
Returns the title of an assembly
|
||||||
|
</summary>
|
||||||
|
<param name="assembly"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.WriteVersion(System.Reflection.Assembly)">
|
||||||
|
<summary>
|
||||||
|
Returns the version number of an assembly
|
||||||
|
</summary>
|
||||||
|
<param name="assembly"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.h(System.String)">
|
||||||
|
<summary>
|
||||||
|
HTML encodes the content
|
||||||
|
</summary>
|
||||||
|
<param name="content"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.Format(Docu.Documentation.Comments.IComment)">
|
||||||
|
<summary>
|
||||||
|
Returns the comments in a format suitable for display
|
||||||
|
</summary>
|
||||||
|
<param name="comment"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.Format(Docu.Documentation.IReferencable,System.Linq.Expressions.Expression{System.Func{System.Object,System.String}}[])">
|
||||||
|
<summary>
|
||||||
|
Returns a hyperlink to another symbol
|
||||||
|
</summary>
|
||||||
|
<remarks>The format of the URL in the returned hyperlink can be controlled by the methods <see cref="M:Docu.Output.Rendering.SparkTemplateBase.SetNamespaceUrlFormat(System.String)"/>, <see cref="M:Docu.Output.Rendering.SparkTemplateBase.SetTypeUrlFormat(System.String)"/>, <see cref="M:Docu.Output.Rendering.SparkTemplateBase.SetPropertyUrlFormat(System.String)"/>, <see cref="M:Docu.Output.Rendering.SparkTemplateBase.SetMethodUrlFormat(System.String)"/>, <see cref="M:Docu.Output.Rendering.SparkTemplateBase.SetFieldUrlFormat(System.String)"/> and <see cref="M:Docu.Output.Rendering.SparkTemplateBase.SetEventUrlFormat(System.String)"/></remarks>
|
||||||
|
<param name="referencable"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.WriteInterfaces(System.Collections.Generic.IList{Docu.Documentation.IReferencable})">
|
||||||
|
<summary>
|
||||||
|
Returns a comma-delimited list of the interfaces impleted by a given type
|
||||||
|
</summary>
|
||||||
|
<param name="interfaces"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.Rendering.SparkTemplateBase.OutputMethodParams(Docu.Documentation.Method)">
|
||||||
|
<summary>
|
||||||
|
Returns a comma-delimited list of the parameters of a given method
|
||||||
|
</summary>
|
||||||
|
<param name="method"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Docu.Output.PatternTemplateResolver.Resolve(System.String,System.Collections.Generic.IList{Docu.Documentation.Namespace})">
|
||||||
|
<summary>
|
||||||
|
Expands a path into a collection of output files
|
||||||
|
</summary>
|
||||||
|
<example>
|
||||||
|
given template path and a list of namespaces:
|
||||||
|
|
||||||
|
test.htm.spark, null == [test.htm]
|
||||||
|
!namespace.htm.spark, [one, two] == [one.htm, two.htm]
|
||||||
|
!namespace/test.htm.spark, [one, two] == [one/test.htm, two/test.htm]
|
||||||
|
</example>
|
||||||
|
<param name="path">Template path</param>
|
||||||
|
<param name="namespaces">Namespaces</param>
|
||||||
|
<returns>List of resolved output matches</returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
|
@ -0,0 +1,82 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
<title>${h(Type.PrettyName)} - ${WriteProductName(Assemblies[0])} Documentation</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="../main.css" />
|
||||||
|
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/jquery.scrollTo-min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/navigation.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/example.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header><h1>${WriteProductName(Assemblies[0])} : API Documentation</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<namespaces />
|
||||||
|
<types />
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<p class="class"><strong>Type</strong> ${h(Type.PrettyName)}</p>
|
||||||
|
</header>
|
||||||
|
<section>
|
||||||
|
<header>
|
||||||
|
<p><strong>Namespace</strong> ${Namespace.Name}</p>
|
||||||
|
<p if="Type.ParentType != null && Type.ParentType.PrettyName != 'object'"><strong>Parent</strong> ${Format(Type.ParentType)}</p>
|
||||||
|
<p if="Type.Interfaces.Count > 0"><strong>Interfaces</strong> ${WriteInterfaces(Type.Interfaces)}</p>
|
||||||
|
</header>
|
||||||
|
<div class="sub-header">
|
||||||
|
<if condition="(Type.Summary != null && Type.Summary.Children.Count() > 0) || (Type.Remarks != null && Type.Remarks.Children.Count() > 0)">
|
||||||
|
<div id="summary">
|
||||||
|
<comment content="Type.Summary" />
|
||||||
|
<remarks content="Type.Remarks" />
|
||||||
|
<example content="Type.Example" />
|
||||||
|
</div>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if condition="Type.Events.Count > 0">
|
||||||
|
<h3 class="section">Events</h3>
|
||||||
|
<ul>
|
||||||
|
<li each="var ev in Type.Events">${Format(ev)}</li>
|
||||||
|
</ul>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if condition="Type.Methods.Count > 0">
|
||||||
|
<h3 class="section">Methods</h3>
|
||||||
|
<ul>
|
||||||
|
<li each="var method in Type.Methods">${Format(method)}</li>
|
||||||
|
</ul>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if condition="Type.Properties.Count > 0">
|
||||||
|
<h3 class="section">Properties</h3>
|
||||||
|
<ul>
|
||||||
|
<li each="var property in Type.Properties">${Format(property)}</li>
|
||||||
|
</ul>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if condition="Type.Fields.Count > 0">
|
||||||
|
<h3 class="section">Fields</h3>
|
||||||
|
<ul>
|
||||||
|
<li each="var field in Type.Fields">${Format(field)}</li>
|
||||||
|
</ul>
|
||||||
|
</if>
|
||||||
|
</div>
|
||||||
|
<events events="Type.Events" title="'Events'" />
|
||||||
|
|
||||||
|
<var publicInstanceMethods="Type.Methods.Where(x => x.IsPublic && !x.IsStatic)" />
|
||||||
|
<methods methods="publicInstanceMethods" title="'Public instance methods'" />
|
||||||
|
|
||||||
|
<var publicStaticMethods="Type.Methods.Where(x => x.IsPublic && x.IsStatic)" />
|
||||||
|
<methods methods="publicStaticMethods" title="'Public static methods'" />
|
||||||
|
|
||||||
|
<properties properties="Type.Properties" title="'Public properties'" />
|
||||||
|
<fields fields="Type.Fields" title="'Public fields'" />
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<use file="../_common_footer" />
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1 @@
|
||||||
|
${Format(content)}
|
|
@ -0,0 +1,12 @@
|
||||||
|
<if condition="events.Count() > 0">
|
||||||
|
<h3 class="section">${title}</h3>
|
||||||
|
|
||||||
|
<div id="${ev.Name}" class="method" each="var ev in events">
|
||||||
|
<h4><strong>${h(ev.Name)}</strong></h4>
|
||||||
|
<div class="content">
|
||||||
|
<comment content="ev.Summary" />
|
||||||
|
<remarks content="ev.Remarks" />
|
||||||
|
<example content="ev.Example" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</if>
|
|
@ -0,0 +1,4 @@
|
||||||
|
<div class="example" if="content != null && content.Children.Count() > 0">
|
||||||
|
<a href="javascript:void(0)">Show Example</a>
|
||||||
|
<pre>${Format(content)}</pre>
|
||||||
|
</div>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<if condition="fields.Count() > 0">
|
||||||
|
<h3 class="section">${title}</h3>
|
||||||
|
|
||||||
|
<div id="${field.Name}" class="method" each="var field in fields">
|
||||||
|
<h4>${h(field.ReturnType.PrettyName)} <strong>${h(field.Name)}</strong></h4>
|
||||||
|
<div class="content">
|
||||||
|
<comment content="field.Summary" />
|
||||||
|
<remarks content="field.Remarks" />
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<code>return ${Format(field.ReturnType)}</code>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<example content="field.Example" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</if>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<if condition="methods.Count() > 0">
|
||||||
|
<h3 class="section">${title}</h3>
|
||||||
|
|
||||||
|
<div id="${method.Name}" class="method" each="var method in methods">
|
||||||
|
<h4>
|
||||||
|
${Format(method.ReturnType)} <strong>${h(method.PrettyName)}</strong>(${OutputMethodParams(method)})
|
||||||
|
</h4>
|
||||||
|
<div class="content">
|
||||||
|
<comment content="method.Summary" />
|
||||||
|
<remarks content="method.Remarks" />
|
||||||
|
|
||||||
|
<var hasReturn="method.ReturnType.PrettyName != 'void'" />
|
||||||
|
<var hasParams="method.Parameters.Any(x => x.HasDocumentation)" />
|
||||||
|
|
||||||
|
<div class="parameters" if="hasParams">
|
||||||
|
<h5>Parameters</h5>
|
||||||
|
<dl>
|
||||||
|
<for each="var param in method.Parameters">
|
||||||
|
<dt>
|
||||||
|
<code>${Format(param.Reference)}</code> ${param.Name}
|
||||||
|
</dt>
|
||||||
|
<dd if="!param.Summary.IsEmpty">
|
||||||
|
<comment content="param.Summary" />
|
||||||
|
</dd>
|
||||||
|
</for>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="return" if="!method.Returns.IsEmpty">
|
||||||
|
|
||||||
|
<h5>Returns</h5>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<code>${Format(method.ReturnType)}</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<comment content="method.Returns" />
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<value content="method.Value" />
|
||||||
|
<example content="method.Example" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</if>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<nav id="namespaces">
|
||||||
|
<h2 class="fixed">Namespaces</h2>
|
||||||
|
<div class="scroll">
|
||||||
|
<ul>
|
||||||
|
<li each="var ns in Namespaces">
|
||||||
|
<if condition="ns == Namespace">
|
||||||
|
${Format(ns, class => "current")}
|
||||||
|
<else />
|
||||||
|
${Format(ns)}
|
||||||
|
</if>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<if condition="properties.Count() > 0">
|
||||||
|
<h3 class="section">${title}</h3>
|
||||||
|
|
||||||
|
<div id="${property.Name}" class="method" each="var property in properties">
|
||||||
|
<h4>
|
||||||
|
${Format(property.ReturnType)} <strong>${h(property.Name)}</strong> <if condition="property.HasGet">get;</if> <if condition="property.HasSet">set;</if>
|
||||||
|
</h4>
|
||||||
|
<div class="content">
|
||||||
|
<comment content="property.Summary" />
|
||||||
|
<remarks content="property.Remarks" />
|
||||||
|
|
||||||
|
<div class="return" if="property.ReturnType.HasDocumentation">
|
||||||
|
<h5>Property type</h5>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<code>${Format(property.ReturnType)}</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<comment content="property.ReturnType.Summary" />
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
<value content="property.Value" />
|
||||||
|
<example content="property.Example" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</if>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<blockquote class="remarks" if="content != null && content.Children.Count() > 0">
|
||||||
|
${Format(content)}
|
||||||
|
</blockquote>
|
14
TimeScheduler/package/docu/templates/!namespace/_types.spark
Normal file
14
TimeScheduler/package/docu/templates/!namespace/_types.spark
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<nav id="types">
|
||||||
|
<h2 class="fixed">Types in ${Namespace.PrettyName}</h2>
|
||||||
|
<div class="scroll">
|
||||||
|
<ul>
|
||||||
|
<li each="var type in Namespace.Types">
|
||||||
|
<if condition="type == Type">
|
||||||
|
${Format(type, class => "current")}
|
||||||
|
<else />
|
||||||
|
${Format(type)}
|
||||||
|
</if>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<blockquote class="value" if="content.Children.Count() > 0">
|
||||||
|
<strong>Value: </strong>${Format(content)}
|
||||||
|
</blockquote>
|
|
@ -0,0 +1,49 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<title>${Namespace.Name} - ${WriteProductName(Assemblies[0])} Documentation</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="../main.css" />
|
||||||
|
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/jquery.scrollTo-min.js"></script>
|
||||||
|
<script type="text/javascript" src="../js/navigation.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header><h1>${WriteProductName(Assemblies[0])} : API Documentation</h1>
|
||||||
|
</header>
|
||||||
|
<namespaces />
|
||||||
|
<types />
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<p class="class"><strong>Namespace</strong> ${Namespace.Name}</p>
|
||||||
|
</header>
|
||||||
|
<section>
|
||||||
|
<div class="sub-header">
|
||||||
|
<if condition="Namespace.HasClasses">
|
||||||
|
<h3 class="section">Classes</h3>
|
||||||
|
<ul>
|
||||||
|
<for each="var type in Namespace.Classes">
|
||||||
|
<li>${Format(type)}</li>
|
||||||
|
</for>
|
||||||
|
</ul>
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if condition="Namespace.HasInterfaces">
|
||||||
|
<h3 class="section">Interfaces</h3>
|
||||||
|
<ul>
|
||||||
|
<for each="var type in Namespace.Interfaces">
|
||||||
|
<li>${Format(type)}</li>
|
||||||
|
</for>
|
||||||
|
</ul>
|
||||||
|
</if>
|
||||||
|
<p if="!Namespace.HasTypes">This namespace is empty.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<use file="../_common_footer" />
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<footer>
|
||||||
|
<span id="version">Built from v${WriteVersion(Assemblies[0])} of ${WriteAssemblyTitle(Assemblies[0])}</span>
|
||||||
|
<span id="docu-link">
|
||||||
|
Generated by <a href="http://docu.jagregory.com">docu</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
8
TimeScheduler/package/docu/templates/_namespaces.spark
Normal file
8
TimeScheduler/package/docu/templates/_namespaces.spark
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<nav id="namespaces">
|
||||||
|
<h2 class="fixed">Namespaces</h2>
|
||||||
|
<div class="scroll">
|
||||||
|
<ul>
|
||||||
|
<li each="var ns in Namespaces">${Format(ns)}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
10
TimeScheduler/package/docu/templates/_types.spark
Normal file
10
TimeScheduler/package/docu/templates/_types.spark
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<nav id="types">
|
||||||
|
<h2 class="fixed">All Types</h2>
|
||||||
|
<div class="scroll">
|
||||||
|
<ul>
|
||||||
|
<for each="var ns in Namespaces">
|
||||||
|
<li each="var type in ns.Types">${Format(type)}</li>
|
||||||
|
</for>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
23
TimeScheduler/package/docu/templates/index.htm.spark
Normal file
23
TimeScheduler/package/docu/templates/index.htm.spark
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
<title>${WriteProductName(Assemblies[0])} API Documentation</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="main.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header><h1>${WriteProductName(Assemblies[0])} : API Documentation</h1>
|
||||||
|
</header>
|
||||||
|
<namespaces />
|
||||||
|
<types />
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<p class="class">${WriteProductName(Assemblies[0])} Documentation</p>
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
<use file="_common_footer" />
|
||||||
|
</body>
|
||||||
|
</html>
|
21
TimeScheduler/package/docu/templates/js/example.js
Normal file
21
TimeScheduler/package/docu/templates/js/example.js
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('div.example').each(function(i, div) {
|
||||||
|
var a = $('a', div);
|
||||||
|
var pre = $('pre', div);
|
||||||
|
|
||||||
|
a.pre = pre;
|
||||||
|
a.preVisible = false;
|
||||||
|
pre.hide();
|
||||||
|
a.click(function() {
|
||||||
|
if (a.preVisible) {
|
||||||
|
a.pre.hide();
|
||||||
|
a.text('Show Example');
|
||||||
|
a.preVisible = false;
|
||||||
|
} else {
|
||||||
|
a.pre.show();
|
||||||
|
a.text('Hide Example');
|
||||||
|
a.preVisible = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
19
TimeScheduler/package/docu/templates/js/jquery-1.3.2.min.js
vendored
Normal file
19
TimeScheduler/package/docu/templates/js/jquery-1.3.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11
TimeScheduler/package/docu/templates/js/jquery.scrollTo-min.js
vendored
Normal file
11
TimeScheduler/package/docu/templates/js/jquery.scrollTo-min.js
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
/**
|
||||||
|
* jQuery.ScrollTo - Easy element scrolling using jQuery.
|
||||||
|
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
|
||||||
|
* Dual licensed under MIT and GPL.
|
||||||
|
* Date: 5/25/2009
|
||||||
|
* @author Ariel Flesler
|
||||||
|
* @version 1.4.2
|
||||||
|
*
|
||||||
|
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
|
||||||
|
*/
|
||||||
|
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
|
11
TimeScheduler/package/docu/templates/js/navigation.js
Normal file
11
TimeScheduler/package/docu/templates/js/navigation.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
$(document).ready(function() {
|
||||||
|
var scroll = function(selector) {
|
||||||
|
var currentItem = $(selector + ' .current');
|
||||||
|
|
||||||
|
if (currentItem)
|
||||||
|
$(selector + ' div.scroll').scrollTo(currentItem);
|
||||||
|
};
|
||||||
|
|
||||||
|
scroll('#namespaces');
|
||||||
|
scroll('#types');
|
||||||
|
});
|
263
TimeScheduler/package/docu/templates/main.css
Normal file
263
TimeScheduler/package/docu/templates/main.css
Normal file
|
@ -0,0 +1,263 @@
|
||||||
|
/* HTML5 ? Boilerplate */
|
||||||
|
|
||||||
|
html, body, div, span, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
|
||||||
|
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote, q { quotes: none; }
|
||||||
|
blockquote:before, blockquote:after,
|
||||||
|
q:before, q:after { content: ""; content: none; }
|
||||||
|
ins { background-color: #ff9; color: #000; text-decoration: none; }
|
||||||
|
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
|
||||||
|
del { text-decoration: line-through; }
|
||||||
|
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
|
||||||
|
table { border-collapse: collapse; border-spacing: 0; }
|
||||||
|
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
|
||||||
|
input, select { vertical-align: middle; }
|
||||||
|
|
||||||
|
body { font:13px/1.231 sans-serif; }
|
||||||
|
select, input, textarea, button { font:99% sans-serif; }
|
||||||
|
pre, code, kbd, samp { font-family: monospace, sans-serif; }
|
||||||
|
|
||||||
|
html { overflow-y: scroll; }
|
||||||
|
a:hover, a:active { outline: none; }
|
||||||
|
ul, ol { margin-left: 2em; }
|
||||||
|
ol { list-style-type: decimal; }
|
||||||
|
nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
|
||||||
|
small { font-size: 85%; }
|
||||||
|
strong, th { font-weight: bold; }
|
||||||
|
td { vertical-align: top; }
|
||||||
|
sub, sup { font-size: 75%; line-height: 0; position: relative; }
|
||||||
|
sup { top: -0.5em; }
|
||||||
|
sub { bottom: -0.25em; }
|
||||||
|
|
||||||
|
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 15px; }
|
||||||
|
textarea { overflow: auto; }
|
||||||
|
.ie6 legend, .ie7 legend { margin-left: -7px; }
|
||||||
|
input[type="radio"] { vertical-align: text-bottom; }
|
||||||
|
input[type="checkbox"] { vertical-align: bottom; }
|
||||||
|
.ie7 input[type="checkbox"] { vertical-align: baseline; }
|
||||||
|
.ie6 input { vertical-align: text-bottom; }
|
||||||
|
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
|
||||||
|
button, input, select, textarea { margin: 0; }
|
||||||
|
input:valid, textarea:valid { }
|
||||||
|
input:invalid, textarea:invalid { -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; }
|
||||||
|
.no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }
|
||||||
|
|
||||||
|
|
||||||
|
::-moz-selection{ background: #FF5E99; color:#fff; }
|
||||||
|
::selection { background:#FF5E99; color:#fff; }
|
||||||
|
a:link { -webkit-tap-highlight-color: #FF5E99; }
|
||||||
|
button { width: auto; overflow: visible; }
|
||||||
|
.ie7 img { -ms-interpolation-mode: bicubic; }
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
|
||||||
|
a, a:active, a:visited { color: #607890; }
|
||||||
|
a:hover { color: #036; }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Primary styles
|
||||||
|
*
|
||||||
|
* Author: Dylan Beattie (dylan@dylanbeattie.net)
|
||||||
|
*/
|
||||||
|
|
||||||
|
body > header {
|
||||||
|
position: absolute;
|
||||||
|
left: 8px;
|
||||||
|
right: 8px;
|
||||||
|
top: 8px;
|
||||||
|
height: 16px;
|
||||||
|
padding: 4px;
|
||||||
|
border: 1px solid #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > header > span#project-link {
|
||||||
|
position: absolute;
|
||||||
|
right: 4px;
|
||||||
|
top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #999999;
|
||||||
|
}
|
||||||
|
nav {
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
div.scroll {
|
||||||
|
padding: 4px;
|
||||||
|
overflow: auto;
|
||||||
|
position: absolute;
|
||||||
|
top: 24px;
|
||||||
|
bottom: 0px;
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.scroll ul li {
|
||||||
|
padding: 2px 0px;
|
||||||
|
}
|
||||||
|
div.scroll ul li a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
nav#namespaces {
|
||||||
|
position: absolute;
|
||||||
|
top: 42px;
|
||||||
|
left: 8px;
|
||||||
|
bottom: 8px;
|
||||||
|
width: 384px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav#types {
|
||||||
|
position: absolute;
|
||||||
|
top: 42px;
|
||||||
|
right: 8px;
|
||||||
|
left: 400px;
|
||||||
|
height: 204px;
|
||||||
|
background-color: #fff;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
article {
|
||||||
|
position: absolute;
|
||||||
|
left: 400px;
|
||||||
|
top: 256px;
|
||||||
|
bottom: 40px;
|
||||||
|
right: 8px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
position: absolute;
|
||||||
|
left: 400px;
|
||||||
|
bottom: 8px;
|
||||||
|
height: 16px;
|
||||||
|
right: 8px;
|
||||||
|
background-color: #aaaaaa;
|
||||||
|
padding: 4px;
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
background-color: #cccccc;
|
||||||
|
}
|
||||||
|
header p {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav h2, header p.class {
|
||||||
|
background-color: #333333;
|
||||||
|
padding: 4px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
article section {
|
||||||
|
position: absolute;
|
||||||
|
top: 24px;
|
||||||
|
bottom: 0px;
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
overflow:auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
section ul li {
|
||||||
|
margin: 4px 0px;
|
||||||
|
}
|
||||||
|
article section header p { margin: 0px; }
|
||||||
|
article section h3, article section p {
|
||||||
|
padding: 4px;
|
||||||
|
margin: 4px 0px;
|
||||||
|
}
|
||||||
|
article section h3 {
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
div.method {
|
||||||
|
padding: 4px 4px 4px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#summary {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.method div.content {
|
||||||
|
margin: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer span#docu-link {
|
||||||
|
position: absolute;
|
||||||
|
right: 4px;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
font-family: Consolas, Courier, monospaced;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
margin: 8px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl dt { width: 180px; float: left; }
|
||||||
|
dl dd { margin-left: 180px; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
|
||||||
|
.hidden { display: none; visibility: hidden; }
|
||||||
|
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
|
||||||
|
.visuallyhidden.focusable:active,
|
||||||
|
.visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
|
||||||
|
.invisible { visibility: hidden; }
|
||||||
|
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
|
||||||
|
.clearfix:after { clear: both; }
|
||||||
|
.clearfix { zoom: 1; }
|
||||||
|
|
||||||
|
|
||||||
|
@media all and (orientation:portrait) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (orientation:landscape) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-device-width: 480px) {
|
||||||
|
|
||||||
|
/* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
|
||||||
|
-ms-filter: none !important; }
|
||||||
|
a, a:visited { color: #444 !important; text-decoration: underline; }
|
||||||
|
a[href]:after { content: " (" attr(href) ")"; }
|
||||||
|
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||||
|
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
|
||||||
|
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
|
||||||
|
thead { display: table-header-group; }
|
||||||
|
tr, img { page-break-inside: avoid; }
|
||||||
|
@page { margin: 0.5cm; }
|
||||||
|
p, h2, h3 { orphans: 3; widows: 3; }
|
||||||
|
h2, h3{ page-break-after: avoid; }
|
||||||
|
}
|
||||||
|
|
2384
TimeScheduler/package/doxygen/TimeScheduler.doxyconf
Normal file
2384
TimeScheduler/package/doxygen/TimeScheduler.doxyconf
Normal file
File diff suppressed because it is too large
Load diff
BIN
TimeScheduler/package/doxygen/doxygen.exe
Normal file
BIN
TimeScheduler/package/doxygen/doxygen.exe
Normal file
Binary file not shown.
BIN
TimeScheduler/package/doxygen/doxygen_manual-1.8.10.pdf
Normal file
BIN
TimeScheduler/package/doxygen/doxygen_manual-1.8.10.pdf
Normal file
Binary file not shown.
BIN
TimeScheduler/package/doxygen/doxyindexer.exe
Normal file
BIN
TimeScheduler/package/doxygen/doxyindexer.exe
Normal file
Binary file not shown.
BIN
TimeScheduler/package/doxygen/doxysearch.cgi.exe
Normal file
BIN
TimeScheduler/package/doxygen/doxysearch.cgi.exe
Normal file
Binary file not shown.
Loading…
Reference in a new issue