diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index 11336ba6..af7772a4 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -243,6 +243,12 @@
DefaultHeader.xaml
+
+ WeekView.xaml
+
+
+ WeekViewDay.xaml
+
@@ -515,6 +521,14 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml
index bcdac4e7..9193b1c1 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml
@@ -4,6 +4,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+ xmlns:templ="clr-namespace:CampusAppWP8.Utility.Lui.Templates"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
@@ -15,12 +16,18 @@
-
+
+
+
+
+
+
+
+
-
-
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs
index 403b8392..c67b102f 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableWeek.xaml.cs
@@ -35,7 +35,7 @@ namespace CampusAppWP8.Pages.TimeTable
private struct PageItem
{
- public Canvas Content { get; set; }
+ public Canvas[] Content { get; set; }
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public char WeekChar { get; set; }
@@ -46,18 +46,21 @@ namespace CampusAppWP8.Pages.TimeTable
private static readonly int PIVOT_PAGES = 3;
private static readonly int PIVOT_PAGES_HALF_DOWN = 1;
-
+ private static readonly int PIVOT_PAGES_COLUMNS = 5; // days in week
private PageItem[] itemPages = new PageItem[PIVOT_PAGES];
private int lastSelectedIndex = 0;
//private double APP_BAR_SPACE = 0;
+ private string[] testPiIt = new string[3] { "bla_1", "bla_2", "bla_3" };
public TimeTableWeek()
{
this.InitializeComponent();
DateTime firstDay = this.GetFirstDayOfWeek(DateTime.Now).AddDays(-7 * PIVOT_PAGES_HALF_DOWN);
-
+
+ this.ThePivot.ItemsSource = this.testPiIt;
+/*
for (int i = 0; i < PIVOT_PAGES; i++)
{
/*
@@ -70,13 +73,12 @@ namespace CampusAppWP8.Pages.TimeTable
new List>()
};
*/
+/*
this.itemPages[i].Stacks = new List>();
this.CreatePage(i, firstDay);
firstDay = firstDay.AddDays(7);
}
-
- this.ThePivot.SelectionChanged += new SelectionChangedEventHandler(this.OnPivotSelectionChanged);
-
+*/
ApplicationBarIconButton dayViewBtn = new ApplicationBarIconButton();
dayViewBtn.Text = AppResources.DayView;
dayViewBtn.IconUri = new Uri(Icons.Info, UriKind.Relative);
@@ -151,7 +153,7 @@ namespace CampusAppWP8.Pages.TimeTable
private void OnClickDayView(object sender, EventArgs e)
{
- Uri url = new Uri("/Pages/TimeTable/TimeTableDay.xaml", UriKind.Relative);
+ Uri url = new Uri(Constants.PathTimeTable_Day, UriKind.Relative);
Page page = App.RootFrame.Content as Page;
page.NavigationService.Navigate(url);
}
@@ -179,7 +181,7 @@ namespace CampusAppWP8.Pages.TimeTable
private void OnClickProperties(object sender, EventArgs e)
{
- Uri url = new Uri("/Pages/TimeTable/TimeTableProperties.xaml", UriKind.Relative);
+ Uri url = new Uri(Constants.PathTimeTable_Properties, UriKind.Relative);
Page page = App.RootFrame.Content as Page;
page.NavigationService.Navigate(url);
}
@@ -188,7 +190,7 @@ namespace CampusAppWP8.Pages.TimeTable
{
TimeTable.AppointmentsModel.Appointments.CollectionChanged += new NotifyCollectionChangedEventHandler(this.OnListChanged);
- Uri url = new Uri("/Pages/TimeTable/AppointmentEdit.xaml", UriKind.Relative);
+ Uri url = new Uri(Constants.PathTimeTable_AppointmentEdit, UriKind.Relative);
Page page = App.RootFrame.Content as Page;
page.NavigationService.Navigate(url);
}
@@ -240,7 +242,7 @@ namespace CampusAppWP8.Pages.TimeTable
{
TimeTable.AppointmentsModel.Appointments.CollectionChanged += new NotifyCollectionChangedEventHandler(this.OnListChanged);
- string urlString = "/Pages/TimeTable/Appointment.xaml?" + Constants.Param_Appointment_Index + "=" + index;
+ string urlString = Constants.PathTimeTable_Appointment + "?" + Constants.Param_Appointment_Index + "=" + index;
Uri url = new Uri(urlString, UriKind.Relative);
Page page = App.RootFrame.Content as Page;
@@ -290,23 +292,13 @@ namespace CampusAppWP8.Pages.TimeTable
this.RemoveContentUIElement(index, sender as Canvas);
- /*
- Canvas[] tempCan = this.GetModelCanvasFromContent(index, this.itemPages[index].Stacks[dayIndex][listIndex][0]);
-
-// FIXME: tempCan[0] -> to correct tempCan
- this.DrawMultiBubble(
- index,
- dayIndex,
- listIndex,
- this.itemPages[index].Stacks[dayIndex][listIndex].Count(),
- tempCan[0].Width + tempCan[0].Margin.Left,
- tempCan[0].Margin.Top);
- */
+ bool bubbleDrawn = false;
for (int day = 0; day < 5; day++)
{
- if (this.itemPages[index].Stacks[listIndex][0].IsDate(this.itemPages[index].DateFrom.Date.AddDays(day)) > -1)
+ if (this.itemPages[index].Stacks[listIndex][0].IsDate(this.itemPages[index].DateFrom.Date.AddDays(day)) > -1 && bubbleDrawn == false)
{
+ bubbleDrawn = true;
Canvas[] tempCan = this.GetModelCanvasFromContent(index, this.itemPages[index].Stacks[listIndex][0]);
this.DrawMultiBubble(
index,
@@ -389,7 +381,7 @@ namespace CampusAppWP8.Pages.TimeTable
/**/
this.itemPages[index].Stacks.Clear();
- this.itemPages[index].Content.Children.Clear();
+// this.itemPages[index].Content.Children.Clear();
/*
for(int i = 0; i < 5; i++)
{
@@ -636,8 +628,8 @@ namespace CampusAppWP8.Pages.TimeTable
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].Content = new Canvas();
+// this.itemPages[itemIndex].Content.Height = WEEK_TABLE_CELL_HEIGHT * 24;
this.itemPages[itemIndex].DateFrom = weekStart;
this.itemPages[itemIndex].DateTo = weekStart.AddDays(6);
this.itemPages[itemIndex].WeekNumber = System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar.GetWeekOfYear(
@@ -656,10 +648,28 @@ namespace CampusAppWP8.Pages.TimeTable
//this.DrawBackground(canBG);
- container.Children.Add(canBG);
- container.Children.Add(this.itemPages[itemIndex].Content);
+ //container.Children.Add(canBG);
+ //container.Children.Add(this.itemPages[itemIndex].Content);
container.SizeChanged += new SizeChangedEventHandler(this.OnCanvasSizeChanged);
- sv.Content = container;
+
+ Grid mainItGrid = new Grid();
+ mainItGrid.Height = WEEK_TABLE_CELL_HEIGHT * 24;
+ RowDefinition row_0 = new RowDefinition();
+ row_0.Height = new GridLength(WEEK_TABLE_CELL_HEIGHT * 24, GridUnitType.Pixel);
+ ColumnDefinition col_0 = new ColumnDefinition();
+ col_0.Width = new GridLength(WEEK_TABLE_HEAD_WIDTH, GridUnitType.Pixel);
+ ColumnDefinition col_day = new ColumnDefinition();
+ col_day.Width = new GridLength(1, GridUnitType.Star);
+ mainItGrid.RowDefinitions.Add(row_0);
+ mainItGrid.ColumnDefinitions.Add(col_0); // left
+
+ // day columns
+ for (int i = 0; i < PIVOT_PAGES_COLUMNS; i++)
+ {
+ mainItGrid.ColumnDefinitions.Add(col_day);
+ }
+
+ sv.Content = mainItGrid;
pvItem.Content = sv;
Grid headGrid = new Grid();
@@ -672,7 +682,10 @@ namespace CampusAppWP8.Pages.TimeTable
private void RemoveContentUIElement(int index, UIElement elem)
{
- this.itemPages[index].Content.Children.Remove(elem);
+// if (this.itemPages[index].Content.Children.Remove(elem) == false)
+ {
+ throw new ArgumentException();
+ }
}
private void RemoveContentUIElement(int index, AppointmentModel model)
@@ -683,7 +696,7 @@ namespace CampusAppWP8.Pages.TimeTable
{
foreach (Canvas can in list)
{
- this.itemPages[index].Content.Children.Remove(can);
+// this.itemPages[index].Content.Children.Remove(can);
}
}
}
@@ -692,13 +705,13 @@ namespace CampusAppWP8.Pages.TimeTable
{
List