diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index de25f37f..ba2dbd2e 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -146,6 +146,9 @@
TimeTableProperties.xaml
+
+ TimeTableWeek.xaml
+
@@ -475,6 +478,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
diff --git a/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentListModel.cs b/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentListModel.cs
index 559f31f0..19feec4c 100644
--- a/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentListModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentListModel.cs
@@ -11,6 +11,7 @@ namespace CampusAppWP8.Model.TimeTable
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
+ using System.Collections.Specialized;
using System.Text.RegularExpressions;
using System.Windows.Shapes;
using System.Xml.Serialization;
@@ -27,11 +28,13 @@ namespace CampusAppWP8.Model.TimeTable
public class AppointmentListModel
{
private ObservableCollection appointmentList;
+ private int hasChangedIndex = -1;
/// Initializes a new instance of the class.
public AppointmentListModel()
{
this.appointmentList = new ObservableCollection();
+ this.appointmentList.CollectionChanged += new NotifyCollectionChangedEventHandler(this.OnCollectionChanged);
}
// for testing
@@ -43,10 +46,11 @@ namespace CampusAppWP8.Model.TimeTable
{
this.appointmentList.Add(a);
}
+ this.hasChangedIndex = -1;
}
}
-
+
public ObservableCollection Appointments
{
get
@@ -59,5 +63,23 @@ namespace CampusAppWP8.Model.TimeTable
this.appointmentList = value;
}
}
+
+ public int HasChangedIndex
+ {
+ get
+ {
+ int retValue = this.hasChangedIndex;
+ this.hasChangedIndex = -1;
+ return retValue;
+ }
+ }
+
+ private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
+ {
+ if (e.Action == NotifyCollectionChangedAction.Add)
+ {
+ this.hasChangedIndex = e.NewStartingIndex;
+ }
+ }
}
}
diff --git a/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs b/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs
index dec2c419..73344ca4 100644
--- a/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs
@@ -303,6 +303,12 @@ namespace CampusAppWP8.Model.TimeTable
public void SetWidth(double maxWidth)
{
this.width = maxWidth - this.canvas.Margin.Left;
+
+ if (this.width < 200)
+ {
+ this.width = 200;
+ }
+
this.CalcRect();
}
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/Appointment.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/Appointment.xaml.cs
index 9136c138..156c2612 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/Appointment.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/Appointment.xaml.cs
@@ -9,6 +9,7 @@ namespace CampusAppWP8.Pages.TimeTable
{
using System;
using System.Collections.Generic;
+ using System.Collections.Specialized;
using System.Linq;
using System.Net;
using System.Windows;
@@ -18,9 +19,12 @@ namespace CampusAppWP8.Pages.TimeTable
using Microsoft.Phone.Shell;
using CampusAppWP8.Resources;
using CampusAppWP8.Utility;
+ using CampusAppWP8.Model.TimeTable;
public partial class Appointment : PhoneApplicationPage
{
+ private AppointmentModel appModel = null;
+
public Appointment()
{
this.InitializeComponent();
@@ -42,42 +46,66 @@ namespace CampusAppWP8.Pages.TimeTable
{
base.OnNavigatedTo(e);
-
- string appointmentIndex = string.Empty;
-
- // Navigate to the selected pivotitem
- if (NavigationContext.QueryString.TryGetValue(Constants.Param_Appointment_Index, out appointmentIndex))
+ if (e.NavigationMode == NavigationMode.Back)
{
- int appointmentIndexInt = int.Parse(appointmentIndex);
+ TimeTable.AppointmentsModel.Appointments.CollectionChanged -= this.OnListChanged;
+ this.DataContext = this.appModel;
+ }
+ else
+ {
+ string appointmentIndexStr = string.Empty;
- // if the index is in the range of the array
- if ((appointmentIndexInt >= 0) && (appointmentIndexInt < TimeTable.AppointmentsModel.Appointments.Count()))
+ // Navigate to the selected pivotitem
+ if (NavigationContext.QueryString.TryGetValue(Constants.Param_Appointment_Index, out appointmentIndexStr))
{
- this.DataContext = TimeTable.AppointmentsModel.Appointments[appointmentIndexInt];
- }
- else
- {
- string o = string.Empty;
+ int appointmentIndex = int.Parse(appointmentIndexStr);
- foreach (KeyValuePair kvp in NavigationContext.QueryString)
+ // if the index is in the range of the array
+ if ((appointmentIndex >= 0) && (appointmentIndex < TimeTable.AppointmentsModel.Appointments.Count()))
{
- o += string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value) + "\n";
+ this.appModel = TimeTable.AppointmentsModel.Appointments[appointmentIndex];
+ this.DataContext = TimeTable.AppointmentsModel.Appointments[appointmentIndex];
}
+ else
+ {
+ string o = string.Empty;
- MessageBox.Show("ERROR: appointment index out of range!!! (" + o + ")");
+ foreach (KeyValuePair kvp in NavigationContext.QueryString)
+ {
+ o += string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value) + "\n";
+ }
+
+ MessageBox.Show("ERROR: appointment index out of range!!! (" + o + ")");
+ }
}
}
}
+ private void OnListChanged(object sender, NotifyCollectionChangedEventArgs e)
+ {
+ if (e.Action == NotifyCollectionChangedAction.Add)
+ {
+ this.appModel = e.NewItems[0] as AppointmentModel;
+ }
+ }
private void OnClickEdit(object sender, EventArgs e)
{
+ if (this.appModel != null)
+ {
+ TimeTable.AppointmentsModel.Appointments.CollectionChanged += new NotifyCollectionChangedEventHandler(this.OnListChanged);
+ string urlString = "/Pages/TimeTable/AppointmentEdit.xaml?" + Constants.Param_Appointment_Index + "=" + TimeTable.AppointmentsModel.Appointments.IndexOf(this.appModel);
+
+ Uri url = new Uri(urlString, UriKind.Relative);
+ Page page = App.RootFrame.Content as Page;
+ page.NavigationService.Navigate(url);
+ }
}
private void OnClickDelete(object sender, EventArgs e)
{
- TimeTable.AppointmentsModel.Appointments.Remove(this.DataContext as Model.TimeTable.AppointmentModel);
+ TimeTable.AppointmentsModel.Appointments.Remove(this.appModel);
this.NavigationService.GoBack();
}
}
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml
index 0bb88c86..0e1d00cc 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml
@@ -24,7 +24,7 @@
-
+
@@ -126,18 +126,28 @@
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs
index 58389707..54e0fb81 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs
@@ -26,8 +26,11 @@ namespace CampusAppWP8.Pages.TimeTable
private readonly string[] DurationListText = new string[] { "15 Minuten", "30 Minuten", "1 Stunde", "90 Minuten", "2 Stunden", "Ganztägig", "Benutzerdefiniert" };
private readonly string[] RepeatListText = new string[] { "Einmal", "Täglich", "Jeden Mo-Fr", "Wöchentlich", "Monatlich", "Jährlich" };
private readonly string[] AccessClassListText = new string[] { "Öffentlich", "Privat", "Vertraulich" };
+ private readonly string[] CategoriesListText = new string[] { "keine", "Vorlesung", "Übung", "Labor", "Praktikum", "Seminar", "Prüfung", "Treffen" };
+ private readonly string[] PriorityListText = new string[] { "0 - keine", "1 - höchste", "2", "3", "4", "5 - mittlere", "6", "7", "8", "9 - niedrigste" };
private bool isDuration = true;
+ private int appointmentIndex = -1;
public AppointmentEdit()
{
@@ -35,6 +38,8 @@ namespace CampusAppWP8.Pages.TimeTable
this.InDuration.ItemsSource = DurationListText;
this.InRepeat.ItemsSource = RepeatListText;
this.InAccessClass.ItemsSource = AccessClassListText;
+ this.InCategories.ItemsSource = CategoriesListText;
+ this.InPriority.ItemsSource = PriorityListText;
ApplicationBarIconButton saveBtn = new ApplicationBarIconButton();
saveBtn.IconUri = new Uri(Icons.Link, UriKind.Relative);
@@ -53,6 +58,40 @@ namespace CampusAppWP8.Pages.TimeTable
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
+
+ string appointmentIndexStr = string.Empty;
+
+ // Navigate to the selected pivotitem
+ if (NavigationContext.QueryString.TryGetValue(Constants.Param_Appointment_Index, out appointmentIndexStr))
+ {
+ this.appointmentIndex = int.Parse(appointmentIndexStr);
+
+ // if the index is in the range of the array
+ if ((this.appointmentIndex >= 0) && (this.appointmentIndex < TimeTable.AppointmentsModel.Appointments.Count()))
+ {
+ this.HeadLine.Text = AppResources.Edit;
+ //this.DataContext = TimeTable.AppointmentsModel.Appointments[this.appointmentIndex];
+ AppointmentModel tempModel = TimeTable.AppointmentsModel.Appointments[this.appointmentIndex];
+
+ this.InTitle.Text = tempModel.Title;
+ this.InLocation.Text = tempModel.Location;
+ }
+ else
+ {
+ string o = string.Empty;
+
+ foreach (KeyValuePair kvp in NavigationContext.QueryString)
+ {
+ o += string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value) + "\n";
+ }
+
+ MessageBox.Show("ERROR: appointment index out of range!!! (" + o + ")");
+ }
+ }
+ else
+ {
+ this.HeadLine.Text = AppResources.Creating;
+ }
}
private void OnClickSaveBtn(object sender, EventArgs e)
@@ -115,22 +154,9 @@ namespace CampusAppWP8.Pages.TimeTable
newLM.Value = DateTime.Now;
newItem.SetValue(newLM);
- //byte[] deviceID = (byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId");
long uid = DateTime.Now.Ticks;
- long[] unique = new long[5];
-
- //unique[0] = deviceID[0] << 24 | deviceID[13] << 16 | deviceID[7] << 8 | deviceID[16] << 0;
- //unique[1] = deviceID[11] << 24 | deviceID[18] << 16 | deviceID[1] << 8 | deviceID[5] << 0;
- //unique[2] = deviceID[17] << 24 | deviceID[8] << 16 | deviceID[3] << 8 | deviceID[19] << 0;
- //unique[3] = deviceID[10] << 24 | deviceID[6] << 16 | deviceID[12] << 8 | deviceID[2] << 0;
- //unique[4] = deviceID[9] << 24 | deviceID[14] << 16 | deviceID[4] << 8 | deviceID[15] << 0;
-
- for(int i = 0; i < 5; i++)
- {
- unique[i] += uid;
- }
-
- string unique_string = string.Format("{0:x08}{1:x08}{2:x08}{3:x08}{4:x08}", unique[0], unique[1], unique[2], unique[3], unique[4]) + "@" + AppResources.ApplicationTitle;
+
+ string unique_string = string.Format("{0:x}", uid) + "@" + AppResources.ApplicationTitle;
unique_string = unique_string.Replace(" ", "");
UniqueID newUID = new UniqueID();
@@ -168,6 +194,15 @@ namespace CampusAppWP8.Pages.TimeTable
}
// Status
+ // categories
+ Categories newCat = new Categories();
+ newCat.Value.Add(this.InCategories.SelectedItem as string);
+ newItem.SetValue(newCat);
+
+ // priority
+ Priority newPrio = new Priority();
+ newPrio.Value = this.InPriority.SelectedIndex;
+ newItem.SetValue(newPrio);
// Attendees
@@ -193,8 +228,14 @@ namespace CampusAppWP8.Pages.TimeTable
}
newItem.Calc();
- TimeTable.AppointmentsModel.Appointments.Add(newItem);
+ if (this.appointmentIndex >= 0)
+ {
+ TimeTable.AppointmentsModel.Appointments.RemoveAt(this.appointmentIndex);
+ }
+
+ TimeTable.AppointmentsModel.Appointments.Add(newItem);
+
Page page = App.RootFrame.Content as Page;
page.NavigationService.GoBack();
}
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
index 17a4d8ab..a7494851 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
@@ -9,6 +9,7 @@ namespace CampusAppWP8.Pages.TimeTable
{
using System;
using System.Collections.Generic;
+ using System.Collections.Specialized;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
@@ -84,8 +85,7 @@ namespace CampusAppWP8.Pages.TimeTable
if (e.NavigationMode == NavigationMode.Back)
{
- // only after edit/create/delete
- //this.SetupItemPage(this.lastSelectedIndex, this.itemDate[this.lastSelectedIndex]);
+ TimeTable.AppointmentsModel.Appointments.CollectionChanged -= this.OnListChanged;
}
else
{
@@ -142,6 +142,8 @@ namespace CampusAppWP8.Pages.TimeTable
if (index >= 0)
{
+ TimeTable.AppointmentsModel.Appointments.CollectionChanged += new NotifyCollectionChangedEventHandler(this.OnListChanged);
+
string urlString = "/Pages/TimeTable/Appointment.xaml?" + Constants.Param_Appointment_Index + "=" + index;
Uri url = new Uri(urlString, UriKind.Relative);
@@ -212,11 +214,38 @@ namespace CampusAppWP8.Pages.TimeTable
private void OnClickAdd(object sender, EventArgs e)
{
+ TimeTable.AppointmentsModel.Appointments.CollectionChanged += new NotifyCollectionChangedEventHandler(this.OnListChanged);
+
Uri url = new Uri("/Pages/TimeTable/AppointmentEdit.xaml", UriKind.Relative);
Page page = App.RootFrame.Content as Page;
page.NavigationService.Navigate(url);
}
+ private void OnListChanged(object sender, NotifyCollectionChangedEventArgs e)
+ {
+ AppointmentModel tempModel = null;
+
+ if (e.Action == NotifyCollectionChangedAction.Add)
+ {
+ tempModel = e.NewItems[0] as AppointmentModel;
+ }
+ else if (e.Action == NotifyCollectionChangedAction.Remove)
+ {
+ tempModel = e.OldItems[0] as AppointmentModel;
+ }
+
+ if (tempModel != null)
+ {
+ for (int i = 0; i < PIVOT_ITEM_PAGES; i++)
+ {
+ if (tempModel.IsDate(this.itemDate[i]) > -1)
+ {
+ this.SetupItemPage(i, this.itemDate[i]);
+ }
+ }
+ }
+ }
+
private void AddContentUIElement(int index, UIElement elem)
{
(((this.itemPages[index].Content as ScrollViewer).Content as Canvas).Children[1] as Canvas).Children.Add(elem);
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml
new file mode 100644
index 00000000..c20c4089
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs
new file mode 100644
index 00000000..4337cd69
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs
@@ -0,0 +1,214 @@
+//-----------------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// fiedlchr
+// 30.09.2013
+//-----------------------------------------------------------------------------
+namespace CampusAppWP8.Pages.TimeTable
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Collections.Specialized;
+ using System.Linq;
+ using System.Windows;
+ using System.Windows.Controls;
+ using System.Windows.Media;
+ using System.Windows.Navigation;
+ using System.Windows.Shapes;
+ using Microsoft.Phone.Controls;
+ using Microsoft.Phone.Shell;
+ using CampusAppWP8.Model.TimeTable;
+ using CampusAppWP8.Resources;
+
+ public partial class TimeTableWeek : PhoneApplicationPage
+ {
+ private static readonly double WEEK_TABLE_CELL_HEIGHT = 30;
+ private static readonly double WEEK_TABLE_HEAD_WIDTH = 30;
+ private static readonly double WEEK_TABLE_HEAD_THICKNESS = 2;
+ private static readonly double WEEK_TABLE_HEAD_HALF = 15;
+ private static readonly double WEEK_TABLE_INNER_THICKNESS = 1;
+
+ private struct PageItem
+ {
+ public Canvas Content { get; set; }
+ public DateTime DateFrom { get; set; }
+ public DateTime DateTo { get; set; }
+ public char WeekChar { get; set; }
+ }
+
+ private static readonly int PIVOT_PAGES = 3;
+
+ private PageItem[] itemPages = new PageItem[PIVOT_PAGES];
+
+ public TimeTableWeek()
+ {
+ this.InitializeComponent();
+
+ for (int i = 0; i < PIVOT_PAGES; i++)
+ {
+ this.CreatePage(i, DateTime.Now);
+
+ Rectangle testRect = new Rectangle();
+ testRect.Width = 50;
+ testRect.Height = 50;
+ testRect.Fill = new SolidColorBrush(Colors.Red);
+
+ this.itemPages[i].Content.Children.Add(testRect);
+ }
+
+
+ //this.DrawBackground(this.TestCanvas);
+ }
+
+ protected override void OnNavigatedTo(NavigationEventArgs e)
+ {
+ base.OnNavigatedTo(e);
+
+
+ }
+
+ private void EventAutoScroll(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ private void CreatePage(int itemIndex, DateTime weekStart)
+ {
+ this.itemPages[itemIndex].Content = new Canvas();
+ this.itemPages[itemIndex].Content.Height = WEEK_TABLE_CELL_HEIGHT * 24;
+ this.itemPages[itemIndex].DateFrom = weekStart;
+ this.itemPages[itemIndex].DateTo = weekStart.AddDays(7);
+ this.itemPages[itemIndex].WeekChar = 'A';
+
+
+ ScrollViewer sv = new ScrollViewer();
+ sv.Loaded += new RoutedEventHandler(this.EventAutoScroll);
+ Canvas container = new Canvas();
+ container.Height = WEEK_TABLE_CELL_HEIGHT * 24;
+ Canvas canBG = new Canvas();
+ canBG.Height = WEEK_TABLE_CELL_HEIGHT * 24;
+ PivotItem pvItem = new PivotItem();
+
+ this.DrawBackground(canBG);
+
+ container.Children.Add(canBG);
+ container.Children.Add(this.itemPages[itemIndex].Content);
+ sv.Content = container;
+ pvItem.Content = sv;
+
+ /*
+ Grid headGrid = new Grid();
+ ColumnDefinition col_0 = new ColumnDefinition();
+ ColumnDefinition col_1 = new ColumnDefinition();
+ ColumnDefinition col_2 = new ColumnDefinition();
+
+ col_0.Width = GridLength.Auto;
+ col_1.Width = GridLength.Auto;
+ col_2.Width = GridLength.Auto;
+
+ headGrid.ColumnDefinitions.Add(col_0);
+ headGrid.ColumnDefinitions.Add(col_1);
+ headGrid.ColumnDefinitions.Add(col_2);
+ */
+
+ TextBlock tbHead = new TextBlock();
+ tbHead.HorizontalAlignment = HorizontalAlignment.Center;
+ tbHead.Text = string.Format("{0:dd.MM.yyyy} < {1:c} > {2:dd.MM.yyyy}", this.itemPages[itemIndex].DateFrom, this.itemPages[itemIndex].WeekChar, this.itemPages[itemIndex].DateTo);
+ tbHead.FontSize = 24;
+
+ pvItem.Header = tbHead;
+
+ this.ThePivot.Items.Add(pvItem);
+
+ }
+
+ private void DrawBackground(Canvas can)
+ {
+ Line vertLine = new Line();
+ vertLine.X1 = 0;
+ vertLine.Y1 = 0;
+ vertLine.X2 = 0;
+ vertLine.Y2 = (WEEK_TABLE_CELL_HEIGHT * 24);
+ vertLine.Stroke = new SolidColorBrush(Colors.White);
+ vertLine.Stretch = Stretch.Fill;
+ vertLine.HorizontalAlignment = HorizontalAlignment.Left;
+ vertLine.Margin = new Thickness(WEEK_TABLE_HEAD_WIDTH, 0, 0, 0);
+ vertLine.StrokeThickness = WEEK_TABLE_HEAD_THICKNESS;
+
+ for (int i = 0; i <= 24; i++)
+ {
+ // lines
+ Line hLineHead = new Line();
+ hLineHead.X1 = 0;
+ hLineHead.Y1 = 0;
+ hLineHead.X2 = WEEK_TABLE_HEAD_WIDTH;
+ hLineHead.Y2 = 0;
+ hLineHead.Stroke = new SolidColorBrush(Colors.White);
+ hLineHead.Stretch = Stretch.Fill;
+ hLineHead.HorizontalAlignment = HorizontalAlignment.Left;
+ hLineHead.Margin = new Thickness(0, (WEEK_TABLE_CELL_HEIGHT * i), 0, 0);
+ hLineHead.StrokeThickness = WEEK_TABLE_HEAD_THICKNESS;
+
+ Line hLineHalf = new Line();
+ hLineHalf.X1 = 0;
+ hLineHalf.Y1 = 0;
+ hLineHalf.X2 = WEEK_TABLE_HEAD_HALF;
+ hLineHalf.Y2 = 0;
+ hLineHalf.Stroke = new SolidColorBrush(Colors.Gray);
+ hLineHalf.Stretch = Stretch.Fill;
+ hLineHalf.HorizontalAlignment = HorizontalAlignment.Left;
+ hLineHalf.Margin = new Thickness((WEEK_TABLE_HEAD_WIDTH - WEEK_TABLE_HEAD_HALF), (WEEK_TABLE_CELL_HEIGHT * i) + (WEEK_TABLE_CELL_HEIGHT / 2), 0, 0);
+ hLineHalf.StrokeThickness = WEEK_TABLE_HEAD_THICKNESS;
+
+ Line hLineInn = new Line();
+ hLineInn.X1 = 0;
+ hLineInn.Y1 = 0;
+ hLineInn.X2 = 1000;
+ hLineInn.Y2 = 0;
+ hLineInn.Stroke = new SolidColorBrush(Colors.DarkGray);
+ hLineInn.Stretch = Stretch.Fill;
+ hLineInn.HorizontalAlignment = HorizontalAlignment.Left;
+ hLineInn.Margin = new Thickness(WEEK_TABLE_HEAD_WIDTH, (WEEK_TABLE_CELL_HEIGHT * i), 0, 0);
+ hLineInn.StrokeDashArray = new DoubleCollection();
+ hLineInn.StrokeDashArray.Add(2);
+ hLineInn.StrokeDashArray.Add(4);
+ hLineInn.StrokeThickness = WEEK_TABLE_INNER_THICKNESS;
+
+ can.Children.Add(hLineHead);
+ can.Children.Add(hLineInn);
+
+ if (i < 24)
+ {
+ can.Children.Add(hLineHalf);
+
+ // text
+ TextBlock timeStamp = new TextBlock();
+ timeStamp.Text = i.ToString("00") + ":00";
+ timeStamp.Margin = new Thickness(0, (WEEK_TABLE_CELL_HEIGHT * i) + 2, 0, 0);
+ timeStamp.FontSize = 10;
+
+ can.Children.Add(timeStamp);
+ }
+ }
+
+ for (int i = 1; i < 5; i++)
+ {
+ Line dayLine = new Line();
+ dayLine.X1 = WEEK_TABLE_HEAD_WIDTH + (i * (720 - WEEK_TABLE_HEAD_WIDTH) / 5);
+ dayLine.Y1 = 0;
+ dayLine.X2 = dayLine.X1;
+ dayLine.Y2 = (WEEK_TABLE_CELL_HEIGHT * 24);
+ dayLine.Stroke = new SolidColorBrush(Colors.White);
+ dayLine.Stretch = Stretch.Fill;
+ dayLine.HorizontalAlignment = HorizontalAlignment.Left;
+ dayLine.Margin = new Thickness(WEEK_TABLE_HEAD_WIDTH, 0, 0, 0);
+ dayLine.StrokeThickness = WEEK_TABLE_HEAD_THICKNESS / 2;
+
+ can.Children.Add(dayLine);
+ }
+
+ can.Children.Add(vertLine);
+ }
+ }
+}
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml
index 91a401ea..3e0e1740 100644
--- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml
+++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs
index 03545b70..f197ab05 100644
--- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs
+++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs
@@ -213,6 +213,15 @@ namespace CampusAppWP8.Resources {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Kategorie ähnelt.
+ ///
+ public static string Categories {
+ get {
+ return ResourceManager.GetString("Categories", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Auf Startseite ähnelt.
///
@@ -222,6 +231,15 @@ namespace CampusAppWP8.Resources {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Erstellen ähnelt.
+ ///
+ public static string Creating {
+ get {
+ return ResourceManager.GetString("Creating", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Bachelor ähnelt.
///
@@ -897,6 +915,15 @@ namespace CampusAppWP8.Resources {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Priorität ähnelt.
+ ///
+ public static string Priority {
+ get {
+ return ResourceManager.GetString("Priority", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Lehrstühle ähnelt.
///
diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx
index 23a5f0d2..271440f5 100644
--- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx
+++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx
@@ -524,4 +524,13 @@
Sichtbarkeit
+
+ Kategorie
+
+
+ Priorität
+
+
+ Erstellen
+
\ No newline at end of file