diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index e25ce946..de25f37f 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -136,6 +136,9 @@
Appointment.xaml
+
+ AppointmentEdit.xaml
+
TimeTableDay.xaml
@@ -460,6 +463,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml
new file mode 100644
index 00000000..6decf820
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs
new file mode 100644
index 00000000..f484d37c
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/AppointmentEdit.xaml.cs
@@ -0,0 +1,27 @@
+//-----------------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// fiedlchr
+// 24.09.2013
+//-----------------------------------------------------------------------------
+namespace CampusAppWP8.Pages.TimeTable
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Windows;
+ using System.Windows.Controls;
+ using System.Windows.Navigation;
+ using Microsoft.Phone.Controls;
+ using Microsoft.Phone.Shell;
+
+ public partial class AppointmentEdit : PhoneApplicationPage
+ {
+ public AppointmentEdit()
+ {
+ this.InitializeComponent();
+ }
+ }
+}
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
index 915b95d1..7d38a0c5 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
@@ -1,10 +1,15 @@
-
+//-----------------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// fiedlchr
+// 12.09.2013
+//-----------------------------------------------------------------------------
namespace CampusAppWP8.Pages.TimeTable
{
using System;
using System.Collections.Generic;
using System.Linq;
- using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
@@ -13,7 +18,6 @@ namespace CampusAppWP8.Pages.TimeTable
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using CampusAppWP8.Model.TimeTable;
- using CampusAppWP8.Utility;
using CampusAppWP8.Resources;
public partial class TimeTableDay : PhoneApplicationPage
@@ -72,7 +76,12 @@ namespace CampusAppWP8.Pages.TimeTable
{
base.OnNavigatedTo(e);
- if (e.NavigationMode != NavigationMode.Back)
+ if (e.NavigationMode == NavigationMode.Back)
+ {
+ // only after edit/create/delete
+ //this.SetupItemPage(this.lastSelectedIndex, this.itemDate[this.lastSelectedIndex]);
+ }
+ else
{
double maxW = Application.Current.Host.Content.ActualWidth;
@@ -90,28 +99,13 @@ namespace CampusAppWP8.Pages.TimeTable
int indexToChange = 0;
/*
- =>
- 0->1: 3
- 1->2: 4
- 2->3: 0
- 3->4: 1
- 4->0: 2
-
- <=
- 4<-0: 2
- 3<-4: 1
- 2<-3: 0
- 1<-2: 4
- 0<-1: 3
- *
- *
- (0)1 2|3 4
- 0(1)2 3|4
- 0 1(2)3 4|
- 0|1 2(3)4
- 0 1|2 3(4)
+ 0<->1: 3
+ 1<->2: 4
+ 2<->3: 0
+ 3<->4: 1
+ 4<->0: 2
*/
-
+
int delta = this.ThePivot.SelectedIndex - this.lastSelectedIndex;
if ((this.ThePivot.SelectedIndex == 0) && (this.lastSelectedIndex == (PIVOT_ITEM_PAGES - 1)))
@@ -162,7 +156,7 @@ namespace CampusAppWP8.Pages.TimeTable
for (int i = 0; i < this.appointmentStackList[stackIndex][listIndex].Count(); i++)
{
- ((this.itemPages[stackIndex].Content as ScrollViewer).Content as Canvas).Children.Remove(this.appointmentStackList[stackIndex][listIndex][i].Canvas);
+ this.RemoveContentUIElement(stackIndex, this.appointmentStackList[stackIndex][listIndex][i].Canvas);
if (i > 0)
{
@@ -174,9 +168,8 @@ namespace CampusAppWP8.Pages.TimeTable
}
}
- ((this.itemPages[stackIndex].Content as ScrollViewer).Content as Canvas).Children.Remove(sender as Canvas);
+ this.RemoveContentUIElement(stackIndex, sender as Canvas);
this.DrawMultiBubble(
- ((this.itemPages[stackIndex].Content as ScrollViewer).Content as Canvas),
stackIndex,
listIndex,
this.appointmentStackList[stackIndex][listIndex].Count(),
@@ -211,6 +204,16 @@ namespace CampusAppWP8.Pages.TimeTable
page.NavigationService.Navigate(url);
}
+ private void AddContentUIElement(int index, UIElement elem)
+ {
+ (((this.itemPages[index].Content as ScrollViewer).Content as Canvas).Children[1] as Canvas).Children.Add(elem);
+ }
+
+ private void RemoveContentUIElement(int index, UIElement elem)
+ {
+ (((this.itemPages[index].Content as ScrollViewer).Content as Canvas).Children[1] as Canvas).Children.Remove(elem);
+ }
+
private void SetupItemPage(int index, DateTime date)
{
List tempList = new List();
@@ -318,8 +321,8 @@ namespace CampusAppWP8.Pages.TimeTable
}
this.DrawMultiBubble(
- ((this.itemPages[index].Content as ScrollViewer).Content as Canvas),
- index, i,
+ index,
+ i,
this.appointmentStackList[index][i].Count(),
this.appointmentStackList[index][i][0].GetPosRight,
this.appointmentStackList[index][i][0].GetYOffset);
@@ -329,29 +332,37 @@ namespace CampusAppWP8.Pages.TimeTable
private void SetupItemPageBackground(PivotItem item)
{
ScrollViewer sv = null;
- Canvas ca = null;
- bool alreadyInit = false;
-
+ Canvas caContainer = null;
+ Canvas caContent = null;
+ Canvas caBackground = null;
+
if ((item.Content != null) && (item.Content.GetType().Equals(typeof(ScrollViewer)) == true)
&& ((item.Content as ScrollViewer).Content != null) && ((item.Content as ScrollViewer).Content.GetType().Equals(typeof(Canvas)) == true))
{
sv = item.Content as ScrollViewer;
- ca = sv.Content as Canvas;
+ caContainer = sv.Content as Canvas;
sv.ScrollToVerticalOffset(0);
- ca.Children.Clear();
- alreadyInit = true;
+ caContent = caContainer.Children[1] as Canvas;
+
+ caContent.Children.Clear();
+ this.EventAutoScroll(sv, null);
}
else
{
sv = new ScrollViewer();
- ca = new Canvas();
- }
+ caContainer = new Canvas();
+ caContainer.Height = DAY_TABLE_CELL_HEIGHT * 24;
+ caContainer.Tag = "caContainer";
+ caContent = new Canvas();
+ caContent.Tag = "caContent";
+ caBackground = new Canvas();
+ caBackground.Tag = "caBackground";
- this.DrawDayViewBackground(ca);
+ this.DrawDayViewBackground(caBackground);
- if (alreadyInit == false)
- {
- sv.Content = ca;
+ caContainer.Children.Add(caBackground);
+ caContainer.Children.Add(caContent);
+ sv.Content = caContainer;
sv.Loaded += new RoutedEventHandler(this.EventAutoScroll);
item.Content = sv;
}
@@ -364,11 +375,12 @@ namespace CampusAppWP8.Pages.TimeTable
model.Canvas.SetValue(Canvas.ZIndexProperty, DAY_TABLE_ZINDEX_MAX - zIndex);
model.Canvas.Margin = new Thickness(DAY_TABLE_HEAD_WIDTH + 2 + (zIndex * DAY_TABLE_ZINDEX_SHIFT), model.GetYOffset, 0, 0);
model.SetWidth(this.itemPages[index].ActualWidth - (modelCount * DAY_TABLE_ZINDEX_SHIFT) - 6.0);
- ((this.itemPages[index].Content as ScrollViewer).Content as Canvas).Children.Add(model.Canvas);
+ this.AddContentUIElement(index, model.Canvas);
}
- private void DrawMultiBubble(Canvas dayView, int stackIndex, int listIndex, int number, double xOffset, double yOffset)
+ private void DrawMultiBubble(int stackIndex, int listIndex, int number, double xOffset, double yOffset)
{
+
Canvas can = new Canvas();
Rectangle rect = new Rectangle();
@@ -398,7 +410,7 @@ namespace CampusAppWP8.Pages.TimeTable
can.SetValue(Canvas.TopProperty, yOffset);
can.SetValue(Canvas.ZIndexProperty, DAY_TABLE_ZINDEX_MAX + 1);
- dayView.Children.Add(can);
+ this.AddContentUIElement(stackIndex, can);
}
private void DrawDayViewBackground(Canvas dayView)
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableProperties.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableProperties.xaml.cs
index e7d04980..455f5c20 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableProperties.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableProperties.xaml.cs
@@ -1,16 +1,23 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Navigation;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-using CampusAppWP8.Resources;
-
+//-----------------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// fiedlchr
+// 24.09.2013
+//-----------------------------------------------------------------------------
namespace CampusAppWP8.Pages.TimeTable
{
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Windows;
+ using System.Windows.Controls;
+ using System.Windows.Navigation;
+ using Microsoft.Phone.Controls;
+ using Microsoft.Phone.Shell;
+ using CampusAppWP8.Resources;
+
public partial class TimeTableProperties : PhoneApplicationPage
{
public string[] VisualScaleText = new string[] { AppResources.Small, AppResources.Medium, AppResources.Large };