From fc0e7fba64e56c0754e00458421192e92b490a87 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 23 Sep 2013 10:29:48 +0200 Subject: [PATCH 01/19] add else and pragma --- CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs | 1 + CampusAppWP8/CampusAppWP8/Utility/Utilities.cs | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs b/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs index 597baf1c..a247b587 100644 --- a/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs +++ b/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs @@ -45,6 +45,7 @@ namespace CampusAppWP8.File.Exams /// Executes the file operation. /// Stubbfel, 03.09.2013. + #pragma warning disable 4014 public async void LaunchFile() { if (this.storageFile == null) diff --git a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs index b70ca222..75be2464 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs @@ -125,9 +125,10 @@ namespace CampusAppWP8.Utility { retValue.Add(child); } - - var ret = retValue.Concat(GetChild(child as DependencyObject, elemName)); - retValue = ret.ToList(); + else + { + retValue.AddRange(GetChild(child as DependencyObject, elemName)); + } } return retValue; From 4047aacf0fffa1799293ea47c56778d61845d787 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 23 Sep 2013 13:09:27 +0200 Subject: [PATCH 02/19] att roomlistpage --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 10 ++++ .../Model/Campusmap/CBMainMapModel.cs | 3 +- .../Model/Campusmap/CampusMapModel.cs | 13 +++++ .../Model/GeoDb/CampusBuildingLayerModel.cs | 30 +++++++++++ .../Model/GeoDb/CampusBuildingModel.cs | 46 ++++++++++++++++ .../Pages/Campusmap/CampusMapPage.xaml.cs | 24 +++++---- .../Pages/Campusmap/RoomListPage.xaml | 32 +++++++++++ .../Pages/Campusmap/RoomListPage.xaml.cs | 54 +++++++++++++++++++ .../CampusAppWP8/Utility/Utilities.cs | 2 +- 9 files changed, 203 insertions(+), 11 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml create mode 100644 CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 5494815e..d64c1764 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -112,12 +112,15 @@ + + + @@ -131,6 +134,9 @@ + + RoomListPage.xaml + Exams.xaml @@ -294,6 +300,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index 220d403f..73e1c75f 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -15,7 +15,7 @@ namespace CampusAppWP8.Model.Campusmap /// /// Class for the MapModel of the mainCampus of cottbus /// - public class CBMainMapModel : MapModel + public class CBMainMapModel : CampusMapModel { #region Member @@ -46,6 +46,7 @@ namespace CampusAppWP8.Model.Campusmap this.ScaleY = 197648.8919266073; this.GeoOffsetX = 14.327159; this.GeoOffsetY = 51.766548; + this.CampusId = CBMainMapModel.Campus; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs new file mode 100644 index 00000000..812a8d78 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWP8.Model.Campusmap +{ + public class CampusMapModel : MapModel + { + public string CampusId { get; protected set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs new file mode 100644 index 00000000..2ff5f882 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWP8.Model.GeoDb +{ + public class CampusBuildingLayerModel + { + + public CampusBuildingLayerModel(string layerId, List places) + { + this.LayerId = layerId; + this.Rooms = new List(); + + foreach (PlaceModel place in places) + { + string placeLayerId = place.GetInformationsValue("Ebene"); + if (placeLayerId != null && placeLayerId.Equals(layerId)) + { + this.Rooms.Add(place); + } + } + } + public List Rooms {get; set;} + + public string LayerId { get; set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs new file mode 100644 index 00000000..a3240341 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWP8.Model.GeoDb +{ + public class CampusBuildingModel + { + + public CampusBuildingModel(string buildingId, List places) + { + this.Layers = new Dictionary(); + + foreach (PlaceModel place in places) + { + if (place.ParentId.Equals(buildingId)) + { + string placeLayerId = place.GetInformationsValue("Ebene"); + if (placeLayerId == null) + { + continue; + } + + if (this.Layers.ContainsKey(placeLayerId)) + { + this.Layers[placeLayerId].Rooms.Add(place); + } + else + { + this.Layers.Add(placeLayerId, new CampusBuildingLayerModel(placeLayerId, new List() { place })); + } + + } + else if (place.PlaceId.Equals(buildingId)) + { + this.Building = place; + } + } + } + public Dictionary Layers { get; private set; } + + public PlaceModel Building { get; set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 74fadd03..8f698f63 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -11,6 +11,7 @@ namespace CampusAppWP8.Pages.Campusmap using System.Collections.Generic; using System.Device.Location; using System.Globalization; + using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using System.Threading; using System.Windows; @@ -35,7 +36,7 @@ namespace CampusAppWP8.Pages.Campusmap private readonly ProximityDevice device = ProximityDevice.GetDefault(); /// Variable for the map model. - private MapModel map; + private CampusMapModel campusMap; /// /// List of information names @@ -56,9 +57,9 @@ namespace CampusAppWP8.Pages.Campusmap public CampusMapPage() { this.InitializeComponent(); - this.map = new CBMainMapModel(); - this.MapCanvas.DataContext = this.map; - this.map.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo); + this.campusMap = new CBMainMapModel(); + this.MapCanvas.DataContext = this.campusMap; + this.campusMap.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo); ApplicationBarMenuItem menuItem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem; ApplicationBarMenuItem menuItem2 = ApplicationBar.MenuItems[1] as ApplicationBarMenuItem; @@ -86,7 +87,7 @@ namespace CampusAppWP8.Pages.Campusmap protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - if (this.map.Spatial == null) + if (this.campusMap.Spatial == null) { return; } @@ -153,7 +154,7 @@ namespace CampusAppWP8.Pages.Campusmap foreach (string pid in pidList) { - tmpPlace = this.map.Spatial.GetPlaceById(pid); + tmpPlace = this.campusMap.Spatial.GetPlaceById(pid); if (tmpPlace != null) { placeList.Add(tmpPlace); @@ -284,7 +285,7 @@ namespace CampusAppWP8.Pages.Campusmap this.informationsNames.Add(Constants.PisInformationName_ShortName); } - return this.map.Spatial.GetPlacesByInformation(query, true, this.informationsNames); + return this.campusMap.Spatial.GetPlacesByInformation(query, true, this.informationsNames); } /// Adds the pins. @@ -315,8 +316,8 @@ namespace CampusAppWP8.Pages.Campusmap /// (Optional) List of places, whose are associative with the pin private void AddPin(double x, double y, MapPinModel.PinType type, bool scroll = true, List assocPlaces = null) { - Point scrollPoint = this.map.GetScrollPoint(this.map.ConverToPixelPoint(this.map.ConverToMapPoint(x, y))); - MapCanvas.Children.Add(this.map.AddPinFromRefPoint(this.map.ConverToPixelPoint(this.map.ConverToMapPoint(x, y)), type, assocPlaces)); + Point scrollPoint = this.campusMap.GetScrollPoint(this.campusMap.ConverToPixelPoint(this.campusMap.ConverToMapPoint(x, y))); + MapCanvas.Children.Add(this.campusMap.AddPinFromRefPoint(this.campusMap.ConverToPixelPoint(this.campusMap.ConverToMapPoint(x, y)), type, assocPlaces)); MapScroller.UpdateLayout(); if (scroll) @@ -435,6 +436,11 @@ namespace CampusAppWP8.Pages.Campusmap msgText += AppResources.PlaceLabel_ShortDesc + ": "; msgText += place.GetInformationsValue(Constants.PisInformationName_ShortDesc); msgText = Wp8StringManager.AddNewLine(msgText); + + if (place.ParentId.Equals(this.campusMap.CampusId)) + { + CampusBuildingModel biulding = new CampusBuildingModel(place.PlaceId, campusMap.Spatial.Places.ToList()); + } } MessageBoxes.ShowMainModelInfoMessageBox(msgText); diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml new file mode 100644 index 00000000..dee25795 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs new file mode 100644 index 00000000..a3aac555 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs @@ -0,0 +1,54 @@ +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.File.Places; + +namespace CampusAppWP8.Pages.Campusmap +{ + public partial class RoomListPage : PhoneApplicationPage + { + private PlacesFile placeFile; + + public RoomListPage() + { + InitializeComponent(); + } + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + + if (NavigationMode.Back == e.NavigationMode) + { + if (this.placeFile == null) + { + this.placeFile = new PlacesFile(); + this.placeFile.OnLoaded += new PlacesFile.OnIO(this.PlacesFileIsReady); + this.placeFile.OnFailedLoad += new PlacesFile.OnFailed(this.PlacesFileIsFail); + this.placeFile.LoadData(); + } + } + } + + private void PlacesFileIsFail() + { + throw new NotImplementedException(); + } + + private void PlacesFileIsReady() + { + throw new NotImplementedException(); + } + + private void setupPivot() + { + + } + } +} \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs index 75be2464..c373f1ff 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs @@ -127,7 +127,7 @@ namespace CampusAppWP8.Utility } else { - retValue.AddRange(GetChild(child as DependencyObject, elemName)); + retValue.AddRange(Utilities.GetChild(child as DependencyObject, elemName)); } } From 85cb54f0e1d57a23278e2b1722c6dc2ebf6406aa Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 23 Sep 2013 18:06:02 +0200 Subject: [PATCH 03/19] add roomlist --- .../Model/Campusmap/CBMainMapModel.cs | 2 +- .../Model/GeoDb/CampusBuildingLayerModel.cs | 45 ++++-- .../Model/GeoDb/CampusBuildingModel.cs | 66 ++++++++- .../CampusAppWP8/Model/GeoDb/PlaceModel.cs | 5 + .../Pages/Campusmap/CampusMapPage.xaml.cs | 31 +++- .../Pages/Campusmap/RoomListPage.xaml | 38 +++-- .../Pages/Campusmap/RoomListPage.xaml.cs | 140 +++++++++++++++--- .../Pages/PlaceNews/PlaceNews.xaml.cs | 1 - .../Resources/Constants.Designer.cs | 9 ++ .../CampusAppWP8/Resources/Constants.resx | 3 + 10 files changed, 279 insertions(+), 61 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index 73e1c75f..95552f47 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -2,7 +2,7 @@ // // Company copyright tag. // -// fiedlchr +// stubbfel // 13.08.2013 //----------------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs index 2ff5f882..32307073 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingLayerModel.cs @@ -1,30 +1,57 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 23.09.2013 +//----------------------------------------------------------------------------- namespace CampusAppWP8.Model.GeoDb { + using System.Collections.Generic; + using CampusAppWP8.Resources; + + /// + /// Class is model for buildings of a campus + /// public class CampusBuildingLayerModel { + #region Constructor + /// + /// Initializes a new instance of the class. + /// + /// id of the layer + /// list of place which can be room of the layer public CampusBuildingLayerModel(string layerId, List places) { this.LayerId = layerId; - this.Rooms = new List(); + this.Rooms = new SpsModel(); foreach (PlaceModel place in places) { - string placeLayerId = place.GetInformationsValue("Ebene"); + string placeLayerId = place.GetInformationsValue(Constants.PisInformationName_Layer); if (placeLayerId != null && placeLayerId.Equals(layerId)) { - this.Rooms.Add(place); + this.Rooms.Places.Add(place); } } } - public List Rooms {get; set;} + #endregion + + #region property + + /// + /// Gets or sets Rooms + /// + public SpsModel Rooms { get; set; } + + /// + /// Gets or sets LayerId + /// public string LayerId { get; set; } + + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs index a3240341..fc31223a 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/CampusBuildingModel.cs @@ -1,14 +1,28 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 23.09.2013 +//----------------------------------------------------------------------------- namespace CampusAppWP8.Model.GeoDb { + using System.Collections.Generic; + using CampusAppWP8.Resources; + + /// + /// Class is model for buildings of a campus + /// public class CampusBuildingModel { + #region constructor + /// + /// Initializes a new instance of the class. + /// + /// id of the building + /// list of place which can be room of the buildings public CampusBuildingModel(string buildingId, List places) { this.Layers = new Dictionary(); @@ -17,7 +31,7 @@ namespace CampusAppWP8.Model.GeoDb { if (place.ParentId.Equals(buildingId)) { - string placeLayerId = place.GetInformationsValue("Ebene"); + string placeLayerId = place.GetInformationsValue(Constants.PisInformationName_Layer); if (placeLayerId == null) { continue; @@ -25,13 +39,12 @@ namespace CampusAppWP8.Model.GeoDb if (this.Layers.ContainsKey(placeLayerId)) { - this.Layers[placeLayerId].Rooms.Add(place); + this.Layers[placeLayerId].Rooms.Places.Add(place); } else { this.Layers.Add(placeLayerId, new CampusBuildingLayerModel(placeLayerId, new List() { place })); } - } else if (place.PlaceId.Equals(buildingId)) { @@ -39,8 +52,45 @@ namespace CampusAppWP8.Model.GeoDb } } } + + #endregion + + #region Property + + /// + /// Gets the Layer of the building + /// public Dictionary Layers { get; private set; } + /// + /// Gets or sets the Building PlaceModel + /// public PlaceModel Building { get; set; } + + #endregion + + #region method + + /// + /// Method gets a place by their placeID + /// + /// the placeId of the place + /// The place by identifier. + public PlaceModel GetPlaceById(string placeID) + { + PlaceModel result = null; + foreach (CampusBuildingLayerModel layer in this.Layers.Values) + { + result = layer.Rooms.GetPlaceById(placeID); + if (result != null) + { + break; + } + } + + return result; + } + + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs index 799b0757..3d2ecfe4 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs @@ -87,6 +87,11 @@ namespace CampusAppWP8.Model.GeoDb [XmlElement("placeService")] public ObservableCollection Services { get; set; } + /// + /// Gets or sets a string, which is the caption of the place (e.g. for contents of UIElements) + /// + public string Caption { get; set; } + #endregion #region Method diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 8f698f63..54b1821d 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -15,7 +15,7 @@ namespace CampusAppWP8.Pages.Campusmap using System.Runtime.InteropServices.WindowsRuntime; using System.Threading; using System.Windows; - using System.Windows.Navigation; + using System.Windows.Navigation; using CampusAppWP8.Model.Campusmap; using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; @@ -135,7 +135,7 @@ namespace CampusAppWP8.Pages.Campusmap /// list of placeId /// type of pin /// (optional) if its true, clear canvas before adding - private void AddPinsByPids(List pidList, MapPinModel.PinType pinType, bool clearCanvas = true) + private void AddPinsByPids(List pidList, MapPinModel.PinType pinType, bool clearCanvas = true) { // clear canvas if (clearCanvas) @@ -160,7 +160,7 @@ namespace CampusAppWP8.Pages.Campusmap placeList.Add(tmpPlace); } } - + // add pins to map if (placeList.Count > 0) { @@ -237,8 +237,8 @@ namespace CampusAppWP8.Pages.Campusmap if (this.Dispatcher != null) { this.Dispatcher.BeginInvoke(new Action(() => MessageBoxes.ShowMainModelErrorMessageBox(AppResources.ScarNfc_Fail))); - } - else + } + else { MessageBoxes.ShowMainModelErrorMessageBox(AppResources.ScarNfc_Fail); } @@ -247,8 +247,8 @@ namespace CampusAppWP8.Pages.Campusmap if (this.Dispatcher != null) { this.Dispatcher.BeginInvoke(new Action(() => this.ProgressBar.Visibility = Visibility.Collapsed)); - } - else + } + else { this.ProgressBar.Visibility = Visibility.Collapsed; } @@ -277,6 +277,12 @@ namespace CampusAppWP8.Pages.Campusmap /// The found places. private List SearchPlaces(string query) { + // if query is an id + if (Wp8StringManager.IsDigitsOnly(query)) + { + return new List() { this.campusMap.Spatial.GetPlaceById(query) }; + } + if (this.informationsNames == null) { this.informationsNames = new List(); @@ -439,13 +445,22 @@ namespace CampusAppWP8.Pages.Campusmap if (place.ParentId.Equals(this.campusMap.CampusId)) { - CampusBuildingModel biulding = new CampusBuildingModel(place.PlaceId, campusMap.Spatial.Places.ToList()); + CampusBuildingModel biulding = new CampusBuildingModel(place.PlaceId, this.campusMap.Spatial.Places.ToList()); } } MessageBoxes.ShowMainModelInfoMessageBox(msgText); } + private bool HasRooms(string placeId) + { + foreach (PlaceModel place in this.campusMap.Spatial.Places) + { + + } + return false; + } + #endregion #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml index dee25795..be326965 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml @@ -6,6 +6,7 @@ xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:lui="clr-namespace:CampusAppWP8.Utility.Lui.Button" mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" @@ -16,17 +17,32 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs index a3aac555..c4f07298 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs @@ -1,54 +1,148 @@ -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.File.Places; +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 23.09.2013 +//----------------------------------------------------------------------------- namespace CampusAppWP8.Pages.Campusmap { + using System; + using System.Collections.Generic; + using System.Linq; + using System.Windows.Navigation; + using CampusAppWP8.File.Places; + using CampusAppWP8.Model.GeoDb; + using CampusAppWP8.Resources; + using Microsoft.Phone.Controls; + + /// + /// Class of the RoomListPage + /// public partial class RoomListPage : PhoneApplicationPage { - private PlacesFile placeFile; + #region Members + /// + /// Variable of placeFile + /// + private PlacesFile placeFile; + /// + /// Variable of building which is shown in the list + /// + private CampusBuildingModel building; + + #endregion + + #region Constructor + + /// Initializes a new instance of the class. + /// Stubbfel, 19.08.2013. public RoomListPage() { - InitializeComponent(); + this.InitializeComponent(); } + #endregion + + #region Method + + #region protected + + /// Methods overrides the OnNavigatedTo-Method. + /// Stubbfel, 19.08.2013. + /// some NavigationEventArgs. protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - - if (NavigationMode.Back == e.NavigationMode) + if (this.placeFile == null) { - if (this.placeFile == null) - { - this.placeFile = new PlacesFile(); - this.placeFile.OnLoaded += new PlacesFile.OnIO(this.PlacesFileIsReady); - this.placeFile.OnFailedLoad += new PlacesFile.OnFailed(this.PlacesFileIsFail); - this.placeFile.LoadData(); - } + this.placeFile = new PlacesFile(); + this.placeFile.OnLoaded += new PlacesFile.OnIO(this.PlacesFileIsReady); + this.placeFile.OnFailedLoad += new PlacesFile.OnFailed(this.PlacesFileIsFail); + this.placeFile.LoadData(); } } + #endregion + + #region private + /// + /// Callback of the PlaceFile, if load failed + /// private void PlacesFileIsFail() { throw new NotImplementedException(); } + /// + /// Callback of the PlaceFile, if load was successful + /// private void PlacesFileIsReady() { - throw new NotImplementedException(); + if (this.placeFile.Model != null) + { + this.SetupPivot(); + } } - private void setupPivot() + /// + /// Method setup the PivotElement + /// + private void SetupPivot() { + this.building = new CampusBuildingModel("122", this.placeFile.Model.Places.ToList()); + if (this.building != null && this.building.Layers != null && this.building.Layers.Count > 0) + { + this.SetCaptionsToRooms(); + this.RoomPivot.ItemsSource = this.GetSortedLayers(this.building); + } } + + /// + /// Method sorts the Layers + /// + /// building of the layers + /// sorted Dictionary + private Dictionary GetSortedLayers(CampusBuildingModel build) + { + Dictionary result = new Dictionary(); + foreach (CampusBuildingLayerModel layer in build.Layers.Values) + { + var sortRom = from place in layer.Rooms.Places + orderby place.GetInformationsValue(Constants.PisInformationName_Typ), place.GetInformationsValue(Constants.PisInformationName_Name) + select place; + result.Add(layer.LayerId, new CampusBuildingLayerModel(layer.LayerId, sortRom.ToList())); + } + + return result; + } + + /// + /// Method set all rooms a formatted string , which will be show as buttonContent + /// + private void SetCaptionsToRooms() + { + string name; + string type; + foreach (CampusBuildingLayerModel layer in this.building.Layers.Values) + { + foreach (PlaceModel place in layer.Rooms.Places) + { + name = place.GetInformationsValue(Constants.PisInformationName_Name); + type = place.GetInformationsValue(Constants.PisInformationName_Typ); + if (name != null && type != null) + { + place.Caption = name + " (" + type + ")"; + } + } + } + } + + #endregion + + #endregion } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/PlaceNews/PlaceNews.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/PlaceNews/PlaceNews.xaml.cs index 6ad59c34..e4a529f5 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/PlaceNews/PlaceNews.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/PlaceNews/PlaceNews.xaml.cs @@ -418,7 +418,6 @@ namespace CampusAppWP8.Pages.PlaceNews txt.Text = place.GetInformationsValue(Constants.PisInformationName_Name); } - /// Handler, called when the ndef. /// Stubbfel, 22.08.2013. /// The sender. diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index 4595325a..ea462b32 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -942,6 +942,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Ebene ähnelt. + /// + public static string PisInformationName_Layer { + get { + return ResourceManager.GetString("PisInformationName_Layer", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Name ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 09dd5d5f..ea026675 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -525,4 +525,7 @@ NDEF + + Ebene + \ No newline at end of file From 162c7042ae6b2c7926f332a9daf5982acb916eeb Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 23 Sep 2013 18:48:39 +0200 Subject: [PATCH 04/19] finish #201 --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 12 +++--- .../Pages/Campusmap/CampusMapPage.xaml.cs | 42 ++++++++++++++++--- .../Pages/Campusmap/RoomListPage.xaml.cs | 26 +++++++++--- .../CampusAppWP8/Resources/Constants.resx | 6 +++ ...nts.Designer.cs => Constants1.Designer.cs} | 18 ++++++++ .../Utility/Lui/MessageBoxes/MessageBoxes.cs | 9 ++++ 6 files changed, 95 insertions(+), 18 deletions(-) rename CampusAppWP8/CampusAppWP8/Resources/{Constants.Designer.cs => Constants1.Designer.cs} (98%) diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index d64c1764..3b770275 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -149,6 +149,11 @@ ShowPad.xaml + + True + True + Constants.resx + @@ -268,11 +273,6 @@ True AppResources.resx - - True - True - Constants.resx - @@ -529,8 +529,8 @@ PublicResXFileCodeGenerator - Constants.Designer.cs Designer + Constants1.Designer.cs Designer diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 54b1821d..5f3fe554 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -439,24 +439,54 @@ namespace CampusAppWP8.Pages.Campusmap msgText += AppResources.PlaceLabel_Name + ": "; msgText += place.GetInformationsValue(Constants.PisInformationName_Name); msgText = Wp8StringManager.AddNewLine(msgText); - msgText += AppResources.PlaceLabel_ShortDesc + ": "; - msgText += place.GetInformationsValue(Constants.PisInformationName_ShortDesc); - msgText = Wp8StringManager.AddNewLine(msgText); - if (place.ParentId.Equals(this.campusMap.CampusId)) + string shortDesc = place.GetInformationsValue(Constants.PisInformationName_ShortDesc); + if (shortDesc == null) { - CampusBuildingModel biulding = new CampusBuildingModel(place.PlaceId, this.campusMap.Spatial.Places.ToList()); + shortDesc = place.GetInformationsValue(Constants.PisInformationName_Typ); + } + + if (shortDesc != null) + { + msgText += AppResources.PlaceLabel_ShortDesc + ": "; + msgText += shortDesc; + msgText = Wp8StringManager.AddNewLine(msgText); } } MessageBoxes.ShowMainModelInfoMessageBox(msgText); + + foreach (PlaceModel place in places) + { + + if (place.ParentId.Equals(this.campusMap.CampusId) && this.HasRooms(place.PlaceId)) + { + MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox("Für " + place.GetInformationsValue((Constants.PisInformationName_Name)) + " gibt es eine Raumübersicht. Soll diese angezeigt werden"); + if (msgResult.Equals(MessageBoxResult.OK)) + { + string urlString = Constants.PathCampusmap_RoomListPage; + urlString += "?" + Constants.ParamBuildingId+ "=" + place.PlaceId; + Uri url = new Uri(urlString as string, UriKind.Relative); + this.NavigationService.Navigate(url); + return; + } + } + } } + /// + /// Method check if a certain place has some rooms + /// + /// the place id + /// true, if the place has got rooms, otherwise false private bool HasRooms(string placeId) { foreach (PlaceModel place in this.campusMap.Spatial.Places) { - + if (place.ParentId.Equals(placeId)) + { + return true; + } } return false; } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs index c4f07298..dc0cac40 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs @@ -16,6 +16,7 @@ namespace CampusAppWP8.Pages.Campusmap using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; using Microsoft.Phone.Controls; + using CampusAppWP8.Utility.Lui.MessageBoxes; /// /// Class of the RoomListPage @@ -56,6 +57,7 @@ namespace CampusAppWP8.Pages.Campusmap protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); + if (this.placeFile == null) { this.placeFile = new PlacesFile(); @@ -73,7 +75,7 @@ namespace CampusAppWP8.Pages.Campusmap /// private void PlacesFileIsFail() { - throw new NotImplementedException(); + MessageBoxes.ShowMainModelErrorMessageBox(AppResources.MsgBox_ErrorMainModelLoad); } /// @@ -92,13 +94,25 @@ namespace CampusAppWP8.Pages.Campusmap /// private void SetupPivot() { - this.building = new CampusBuildingModel("122", this.placeFile.Model.Places.ToList()); - - if (this.building != null && this.building.Layers != null && this.building.Layers.Count > 0) + if (NavigationContext.QueryString.ContainsKey(Constants.ParamBuildingId)) { - this.SetCaptionsToRooms(); - this.RoomPivot.ItemsSource = this.GetSortedLayers(this.building); + this.building = new CampusBuildingModel(NavigationContext.QueryString[Constants.ParamBuildingId], this.placeFile.Model.Places.ToList()); + + if (this.building != null && this.building.Layers != null && this.building.Layers.Count > 0) + { + this.SetCaptionsToRooms(); + this.RoomPivot.ItemsSource = this.GetSortedLayers(this.building); + } + else + { + MessageBoxes.ShowMainModelErrorMessageBox(AppResources.MsgBox_ErrorMainModelLoad); + } } + else + { + MessageBoxes.ShowMainModelErrorMessageBox(AppResources.MsgBox_ErrorMainModelLoad); + } + } /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index ea026675..c2faecea 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -525,6 +525,12 @@ NDEF + + BuildingId + + + /Pages/Campusmap/RoomListPage.xaml + Ebene diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs similarity index 98% rename from CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs rename to CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs index ea462b32..678ece02 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs @@ -573,6 +573,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die BuildingId ähnelt. + /// + public static string ParamBuildingId { + get { + return ResourceManager.GetString("ParamBuildingId", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Studiengang ähnelt. /// @@ -699,6 +708,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die /Pages/Campusmap/RoomListPage.xaml ähnelt. + /// + public static string PathCampusmap_RoomListPage { + get { + return ResourceManager.GetString("PathCampusmap_RoomListPage", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die /Pages/Departments/DepartmentFavoritePage.xaml ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs b/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs index a095990b..af439b41 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs @@ -54,6 +54,15 @@ namespace CampusAppWP8.Utility.Lui.MessageBoxes return MessageBox.Show(text, AppResources.MsgBox_PlaceInfoHeader, MessageBoxButton.OK); } + /// Shows the place information message box (OKCancel-Box). + /// Stubbfel, 10.09.2013. + /// custom text for the box. + /// result of the UserInteraction + public static MessageBoxResult ShowPlaceInfoOkCancelMessageBox(string text) + { + return MessageBox.Show(text, AppResources.MsgBox_PlaceInfoHeader, MessageBoxButton.OKCancel); + } + #endregion } } From b075e5bb7e93ef818a2946f4c7e3f5fddf861775 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 24 Sep 2013 10:19:20 +0200 Subject: [PATCH 05/19] straro --- CampusAppWP8/CampusAppWP8/App.xaml.cs | 2 +- .../Model/Campusmap/CBMainMapModel.cs | 32 ++----------------- .../Pages/Campusmap/CampusMapPage.xaml.cs | 19 +++++++++++ 3 files changed, 22 insertions(+), 31 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 65a2fc88..38650185 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/App.xaml.cs @@ -147,7 +147,7 @@ namespace CampusAppWP8 } else { - Settings.AppSetting.DevMode = false; + Settings.AppSetting.DevMode = true; } this.UserSettingsLoaded(); diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index 95552f47..a0d6976c 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -22,11 +22,6 @@ namespace CampusAppWP8.Model.Campusmap /// Variable for the identify of the campus. private static readonly string Campus = ((int)CampusAppWP8.Model.Setting.UserProfilModel.Campus.CB_MAIN).ToString(); - /// - /// Variable for the PlaceFile - /// - private PlacesFile file; - #endregion #region Constructor @@ -57,31 +52,8 @@ namespace CampusAppWP8.Model.Campusmap /// Stubbfel, 19.08.2013. protected override void LoadSpatials() { - if (this.file == null) - { - this.file = new PlacesFile(); - } - - this.file.OnLoaded += new PlacesFile.OnIO(this.FileIsReady); - this.file.LoadData(); - } - - /// - /// Method is called if the PlaceFile is loaded - /// - private void FileIsReady() - { - SpsModel model = this.file.Model; - - this.Spatial = new SpsModel(); - foreach (PlaceModel place in model.Places) - { - if (place.PlaceId.StartsWith(CBMainMapModel.Campus)) - { - this.Spatial.Places.Add(place); - } - } - } + + } #endregion } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 5f3fe554..88447227 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -25,6 +25,7 @@ namespace CampusAppWP8.Pages.Campusmap using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using Windows.Networking.Proximity; + using CampusAppWP8.File.Places; /// Class for the campusMap page. /// Stubbfel, 19.08.2013. @@ -38,6 +39,11 @@ namespace CampusAppWP8.Pages.Campusmap /// Variable for the map model. private CampusMapModel campusMap; + /// + /// Variable for the PlaceFile + /// + private PlacesFile file; + /// /// List of information names /// @@ -73,6 +79,14 @@ namespace CampusAppWP8.Pages.Campusmap { menuItem2.Text = AppResources.CampusMapApp_ScanNfc; } + + if (this.file == null) + { + this.file = new PlacesFile(); + } + + this.file.OnLoaded += new PlacesFile.OnIO(this.FileIsReady); + this.file.LoadData(); } #endregion @@ -129,6 +143,11 @@ namespace CampusAppWP8.Pages.Campusmap #region private + private void FileIsReady() + { + + } + /// /// Method adds pin to the map by given list of placeId /// From 5c1891459be72ef75a2b3442d803eff67cb96f9a Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 24 Sep 2013 16:21:26 +0200 Subject: [PATCH 06/19] extend campusmap --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 2 + .../CampusAppWP8/File/Places/PlacesFile.cs | 2 +- .../Model/Campusmap/CBMainMapModel.cs | 13 +- .../Model/Campusmap/CampusMapModel.cs | 29 +- .../Model/Campusmap/ClickAblePlacePinModel.cs | 40 +++ .../Campusmap/CurrentPositionPinModel.cs | 1 + .../Model/Campusmap/HiddenPinPlaceModel.cs | 5 + .../Model/Campusmap/InfoPlacePinModel.cs | 30 ++ .../CampusAppWP8/Model/Campusmap/MapModel.cs | 27 +- .../Model/Campusmap/MapPinModel.cs | 65 ++++- .../Model/Campusmap/SearchPlacePinModel.cs | 31 +- .../Pages/Campusmap/CampusMapPage.xaml | 14 +- .../Pages/Campusmap/CampusMapPage.xaml.cs | 273 ++++++++++++++---- .../CampusAppWP8/Pages/Dev/NFC.xaml.cs | 25 +- 14 files changed, 443 insertions(+), 114 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 3b770275..a3775697 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -114,8 +114,10 @@ + + diff --git a/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs b/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs index 382547bb..58991d42 100644 --- a/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs +++ b/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs @@ -51,7 +51,7 @@ namespace CampusAppWP8.File.Places /// /// Method load OfflineMap as Fallback /// - private void FallBackLoad() + public void FallBackLoad() { SpsModel fallBackModel = XmlManager.DeserializationFileToModel(Constants.FileMap_OfflineMap); this.Model = fallBackModel; diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index a0d6976c..ebb66894 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -11,6 +11,7 @@ namespace CampusAppWP8.Model.Campusmap using CampusAppWP8.File.Places; using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; + using System.Collections.Generic; /// /// Class for the MapModel of the mainCampus of cottbus @@ -29,7 +30,7 @@ namespace CampusAppWP8.Model.Campusmap /// /// Initializes a new instance of the class. /// - public CBMainMapModel() + public CBMainMapModel(List placeList) : base (placeList,CBMainMapModel.Campus) { this.ImageSource = Constants.FileMap_CBMainMap; this.ImageWidth = 2000; @@ -41,19 +42,11 @@ namespace CampusAppWP8.Model.Campusmap this.ScaleY = 197648.8919266073; this.GeoOffsetX = 14.327159; this.GeoOffsetY = 51.766548; - this.CampusId = CBMainMapModel.Campus; } #endregion - #region Method - - /// Loads the spatial./. - /// Stubbfel, 19.08.2013. - protected override void LoadSpatials() - { - - } + #region Method #endregion } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs index 812a8d78..20a4012b 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs @@ -1,4 +1,5 @@ -using System; +using CampusAppWP8.Model.GeoDb; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -8,6 +9,32 @@ namespace CampusAppWP8.Model.Campusmap { public class CampusMapModel : MapModel { + public string CampusId { get; protected set; } + + public CampusMapModel(List placeList,string campusId) + { + this.CampusId = campusId; + this.LoadSpatials(placeList); + this.IsReady = true; + } + + /// Loads the spatial./. + /// Stubbfel, 19.08.2013. + protected override void LoadSpatials(List placeList) + { + List campusPlaces = new List(); + this.Spatial = new SpsModel(); + + foreach (PlaceModel place in placeList) + { + if (place.ParentId.Equals(this.CampusId) || place.PlaceId.Equals(this.CampusId)) + { + campusPlaces.Add(place); + } + + } + this.Spatial.AddPlaces(campusPlaces); + } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs new file mode 100644 index 00000000..bb47a8fa --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs @@ -0,0 +1,40 @@ +using CampusAppWP8.Model.GeoDb; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWP8.Model.Campusmap +{ + public abstract class ClickAblePlacePinModel : MapPinModel + { + #region property + + /// + /// Gets or sets Callback Function, to show place information of the Pin + /// + public MapModel.MapInfos CallBack { get; set; } + + /// + /// Gets or sets place which are associative with this pin + /// + public List AssocPlaces { get; set; } + + #endregion + + #region Method + + /// + /// Show Information of this pin places + /// + /// sender of the Event + /// MouseButtonEvent Arguments + public void ShowInfo(object sender, System.Windows.Input.MouseButtonEventArgs e) + { + this.CallBack(this.AssocPlaces); + } + + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs index 0e9b0552..e23d03bb 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs @@ -26,6 +26,7 @@ namespace CampusAppWP8.Model.Campusmap this.ImageHeight = 60; this.PinImageOffsetX = -25; this.PinImageOffsetY = -34; + this.Tag = MapPinModel.CurrendPositionPlacePinString; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs index e684b3d9..f33d715b 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs @@ -11,5 +11,10 @@ namespace CampusAppWP8.Model.Campusmap /// Stubbfel, 27.08.2013. public class HiddenPinPlaceModel : MapPinModel { + + public HiddenPinPlaceModel() + { + this.Tag = MapPinModel.HiddenPlacePinString; + } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs new file mode 100644 index 00000000..699f8a9e --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs @@ -0,0 +1,30 @@ +using CampusAppWP8.Resources; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWP8.Model.Campusmap +{ + public class InfoPlacePinModel : ClickAblePlacePinModel + { + #region Constructor + + /// + /// Initializes a new instance of the class. + /// + /// Stubbfel, 27.08.2013. + public InfoPlacePinModel() + { + this.ImageSource = Icons.Info; + this.ImageWidth = 60; + this.ImageHeight = 60; + this.PinImageOffsetX = -25; + this.PinImageOffsetY = -27; + this.Tag = MapPinModel.PinTypeToString(PinType.InfoPlace); + } + + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs index 40c97791..601f84bb 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -22,12 +22,20 @@ namespace CampusAppWP8.Model.Campusmap { #region Constructors + + public MapModel() + { + this.IsReady = false; + } + /// /// Initializes a new instance of the class. /// - public MapModel() + public MapModel(List placeList) { - this.LoadSpatials(); + this.IsReady = false; + this.LoadSpatials(placeList); + this.IsReady = true; } #endregion @@ -48,6 +56,8 @@ namespace CampusAppWP8.Model.Campusmap #endregion #region Property + public bool IsReady { get; protected set; } + /// /// Gets or sets the ImageSource of the map /// @@ -246,8 +256,10 @@ namespace CampusAppWP8.Model.Campusmap /// Loads the spatial./ /// Stubbfel, 19.08.2013. - protected virtual void LoadSpatials() + protected virtual void LoadSpatials(List placeList) { + this.Spatial = new SpsModel(); + this.Spatial.AddPlaces(placeList); } #endregion @@ -275,11 +287,18 @@ namespace CampusAppWP8.Model.Campusmap ((SearchPlacePinModel)pin).AssocPlaces = places; ((SearchPlacePinModel)pin).CallBack = this.ShowMapInfos; break; + case MapPinModel.PinType.InfoPlace: + pin = new InfoPlacePinModel(); + pinImg.MouseLeftButtonDown += new MouseButtonEventHandler(((InfoPlacePinModel)pin).ShowInfo); + + ((InfoPlacePinModel)pin).AssocPlaces = places; + ((InfoPlacePinModel)pin).CallBack = this.ShowMapInfos; + break; default: pin = new HiddenPinPlaceModel(); break; } - + pinImg.Tag = pin.Tag; return pin; } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs index 44cc5451..8c08f497 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs @@ -17,6 +17,17 @@ namespace CampusAppWP8.Model.Campusmap { #region Member + private static string infoPlacePinString = MapPinModel.PinTypeToString(PinType.InfoPlace); + + + private static string hiddenPlacePinString = MapPinModel.PinTypeToString(PinType.Hidden); + + + private static string searchPlacePinString = MapPinModel.PinTypeToString(PinType.SearchPlace); + + + private static string currendPositionPlacePinString = MapPinModel.PinTypeToString(PinType.CurrentPosition); + /// /// Variable of the actual position of the pin /// @@ -46,7 +57,10 @@ namespace CampusAppWP8.Model.Campusmap SearchPlace = 1, /// An enum constant representing the current position option. - CurrentPosition = 2 + CurrentPosition = 2, + + /// An enum constant representing the info place option. + InfoPlace = 3 } #endregion @@ -114,6 +128,55 @@ namespace CampusAppWP8.Model.Campusmap } } } + + public object Tag { get; set; } + + public static string CurrendPositionPlacePinString + { + get { return MapPinModel.currendPositionPlacePinString; } + } + public static string SearchPlacePinString + { + get { return MapPinModel.searchPlacePinString; } + } + + public static string HiddenPlacePinString + { + get { return MapPinModel.hiddenPlacePinString; } + } + + public static string InfoPlacePinString + { + get { return MapPinModel.infoPlacePinString; } + } + #endregion + + #region Method + + public static string PinTypeToString(PinType type) + { + string result = null; + + switch (type) + { + case PinType.CurrentPosition: + result = "CurrentPositionPin"; + break; + case PinType.Hidden: + result = "HiddenPin"; + break; + case PinType.InfoPlace: + result = "InfoPin"; + break; + case PinType.SearchPlace: + result = "SearchPlacePin"; + break; + default: + result = string.Empty; + break; + } + return result; + } #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs index 15b62fc3..77ea478a 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs @@ -14,7 +14,7 @@ namespace CampusAppWP8.Model.Campusmap /// Search pin place model. /// Stubbfel, 27.08.2013. - public class SearchPlacePinModel : MapPinModel + public class SearchPlacePinModel : ClickAblePlacePinModel { #region Constructor @@ -29,34 +29,7 @@ namespace CampusAppWP8.Model.Campusmap this.ImageHeight = 60; this.PinImageOffsetX = -25; this.PinImageOffsetY = -27; - } - - #endregion - - #region property - - /// - /// Gets or sets Callback Function, to show place information of the Pin - /// - public MapModel.MapInfos CallBack { get; set; } - - /// - /// Gets or sets place which are associative with this pin - /// - public List AssocPlaces { get; set; } - - #endregion - - #region Method - - /// - /// Show Information of this pin places - /// - /// sender of the Event - /// MouseButtonEvent Arguments - public void ShowInfo(object sender, System.Windows.Input.MouseButtonEventArgs e) - { - this.CallBack(this.AssocPlaces); + this.Tag = MapPinModel.SearchPlacePinString; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml index d9c8457e..29065130 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml @@ -39,21 +39,10 @@ - - @@ -74,6 +63,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 88447227..88f0cfa9 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -26,6 +26,7 @@ namespace CampusAppWP8.Pages.Campusmap using Microsoft.Phone.Shell; using Windows.Networking.Proximity; using CampusAppWP8.File.Places; + using System.Windows.Controls; /// Class for the campusMap page. /// Stubbfel, 19.08.2013. @@ -63,9 +64,7 @@ namespace CampusAppWP8.Pages.Campusmap public CampusMapPage() { this.InitializeComponent(); - this.campusMap = new CBMainMapModel(); - this.MapCanvas.DataContext = this.campusMap; - this.campusMap.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo); + ApplicationBarMenuItem menuItem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem; ApplicationBarMenuItem menuItem2 = ApplicationBar.MenuItems[1] as ApplicationBarMenuItem; @@ -91,6 +90,15 @@ namespace CampusAppWP8.Pages.Campusmap #endregion + #region Events + + public delegate void LoadingPlace(string args); + + public event LoadingPlace OnLoadingPlace; + private string lastQuery; + private bool buildInfoEnable; + #endregion + #region Method #region protected @@ -101,26 +109,22 @@ namespace CampusAppWP8.Pages.Campusmap protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - if (this.campusMap.Spatial == null) - { - return; - } if (e.NavigationMode == NavigationMode.New) { - MapCanvas.Children.Clear(); + this.ClearMap(); bool scroll = true; - string alias = "campus"; + if (NavigationContext.QueryString.ContainsKey(Constants.ParamModelMap_SearchTermAlias)) { - alias = NavigationContext.QueryString[Constants.ParamModelMap_SearchTermAlias]; - this.AddPins(this.SearchPlaces(alias), MapPinModel.PinType.SearchPlace); + string alias = NavigationContext.QueryString[Constants.ParamModelMap_SearchTermAlias]; + this.ShowPlacesByQueryAsSearchPin(alias); scroll = false; } else { - this.AddPins(this.SearchPlaces(alias), MapPinModel.PinType.Hidden); + this.ShowPlacesByQueryAsHiddenPin("campus"); } this.ShowCurrentPositionDispatcher(scroll); @@ -134,7 +138,7 @@ namespace CampusAppWP8.Pages.Campusmap string searchPid = Wp8StringManager.FilterPlaceIdinQRResultString(qrcodeResult); if (searchPid != null) { - this.AddPinsByPids(new List() { searchPid }, MapPinModel.PinType.SearchPlace); + this.ShowAllPlacesByPlaceIdAsSearchPin(searchPid); } } } @@ -143,23 +147,182 @@ namespace CampusAppWP8.Pages.Campusmap #region private - private void FileIsReady() + private void SetLastQuery(string query, Action action) { - + this.lastQuery = query; + this.OnLoadingPlace = new CampusMapPage.LoadingPlace(action); } + private void ShowPlacesByQueryAsHiddenPin(string query) + { + if (!this.IsMapReady()) + { + this.SetLastQuery(query, this.ShowPlacesByQueryAsHiddenPin); + } + else + { + this.ShowPlacesByQuery(query, MapPinModel.PinType.Hidden, false); + } + } + + private void ShowPlacesByQueryAsSearchPin(string query) + { + + if (!this.IsMapReady()) + { + this.SetLastQuery(query, this.ShowPlacesByQueryAsSearchPin); + } + else + { + bool allPlaces = false; + if (Wp8StringManager.IsDigitsOnly(query)) + { + allPlaces = true; + } + this.ShowPlacesByQuery(query, MapPinModel.PinType.SearchPlace, allPlaces); + } + + } + + private void ShowPlacesByQuery(string query, MapPinModel.PinType pintype, bool allPlaces) + { + this.AddPins(this.SearchPlaces(query, allPlaces), pintype); + } + + private void showPlacesByPlaceId(string placeId, MapPinModel.PinType pintype, bool allPlaces) + { + this.AddPinsByPids(new List() { placeId }, pintype, false, allPlaces); + } + + private void ShowAllPlacesByPlaceIdAsSearchPin(string placeId) + { + if (!this.IsMapReady()) + { + this.SetLastQuery(placeId, this.ShowAllPlacesByPlaceIdAsSearchPin); + } + else + { + this.showPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, true); + } + } + + private void ShowPlacesByPlaceIdAsSearchPin(string placeId) + { + if (!this.IsMapReady()) + { + this.SetLastQuery(placeId, this.ShowPlacesByPlaceIdAsSearchPin); + } + else + { + this.showPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, false); + } + } + + private void ShowAllCampusBuilding(string placeId) + { + if (!this.IsMapReady()) + { + this.SetLastQuery(placeId, ShowAllCampusBuilding); + } + else + { + this.AddPins(this.campusMap.Spatial.Places.ToList(), MapPinModel.PinType.InfoPlace, false); + } + } + + private bool IsMapReady() + { + if (this.campusMap == null || !campusMap.IsReady) + { + return false; + } + return true; + } + private void FileIsReady() + { + this.campusMap = new CBMainMapModel(this.file.Model.Places.ToList()); + this.MapCanvas.DataContext = this.campusMap; + this.campusMap.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo); + if (this.OnLoadingPlace != null) + { + this.OnLoadingPlace(this.lastQuery); + } + } + + /// Button click method. + /// Stubbfel, 19.08.2013. + /// caller object. + /// some EventArgs. + private void SearchByText(object sender, RoutedEventArgs e) + { + string query = QString.Text.Trim(); + + if (query.Equals(string.Empty)) + { + return; + } + + this.ClearMap(new List() { MapPinModel.SearchPlacePinString }); + this.ShowPlacesByQueryAsSearchPin(query); + } + + private void ShowBuildingsInformation(object sender, EventArgs e) + { + if (!this.buildInfoEnable) + { + this.ShowAllCampusBuilding(""); + this.buildInfoEnable = true; + } + else + { + this.ClearMap(new List() { MapPinModel.InfoPlacePinString }); + this.buildInfoEnable = false; + } + } + + private void ClearMap(List removeTags = null) + { + + if (removeTags == null) + { + MapCanvas.Children.Clear(); + } + else + { + List childs = MapCanvas.Children.ToList(); + foreach (UIElement child in childs) + { + Image childImg = child as Image; + if (childImg == null) + { + continue; + } + + string imgTag = childImg.Tag.ToString().Trim(); + if (removeTags.Contains(imgTag)) + { + MapCanvas.Children.Remove(child); + } + } + } + + } /// /// Method adds pin to the map by given list of placeId /// /// list of placeId /// type of pin /// (optional) if its true, clear canvas before adding - private void AddPinsByPids(List pidList, MapPinModel.PinType pinType, bool clearCanvas = true) + private void AddPinsByPids(List pidList, MapPinModel.PinType pinType, bool clearCanvas = true, bool allPlaces = false) { // clear canvas if (clearCanvas) { - MapCanvas.Children.Clear(); + this.ClearMap(); + } + else + { + this.ClearMap(new List() { MapPinModel.PinTypeToString(pinType) }); } // null and empty list assert @@ -170,10 +333,19 @@ namespace CampusAppWP8.Pages.Campusmap List placeList = new List(); PlaceModel tmpPlace; + SpsModel spatial; + if (allPlaces) + { + spatial = this.file.Model; + } + else + { + spatial = this.campusMap.Spatial; + } foreach (string pid in pidList) { - tmpPlace = this.campusMap.Spatial.GetPlaceById(pid); + tmpPlace = spatial.GetPlaceById(pid); if (tmpPlace != null) { placeList.Add(tmpPlace); @@ -243,11 +415,11 @@ namespace CampusAppWP8.Pages.Campusmap // add pins to map if (this.Dispatcher != null) { - this.Dispatcher.BeginInvoke(new Action(() => this.AddPinsByPids(new List() { searchPid }, MapPinModel.PinType.SearchPlace))); + this.Dispatcher.BeginInvoke(new Action(() => this.ShowAllPlacesByPlaceIdAsSearchPin(searchPid))); } else { - this.AddPinsByPids(new List() { searchPid }, MapPinModel.PinType.SearchPlace); + this.ShowAllPlacesByPlaceIdAsSearchPin(searchPid); } } else @@ -273,33 +445,26 @@ namespace CampusAppWP8.Pages.Campusmap } } - /// Button click method. - /// Stubbfel, 19.08.2013. - /// caller object. - /// some EventArgs. - private void Button_Click2(object sender, RoutedEventArgs e) - { - string query = QString.Text.Trim(); - - if (query.Equals(string.Empty)) - { - return; - } - - MapCanvas.Children.Clear(); - this.AddPins(this.SearchPlaces(query), MapPinModel.PinType.SearchPlace); - } - /// Searches for the first places. /// Stubbfel, 19.08.2013. /// The query. /// The found places. - private List SearchPlaces(string query) + private List SearchPlaces(string query, bool allPlaces = false) { + SpsModel spatial; + if (allPlaces) + { + spatial = this.file.Model; + } + else + { + spatial = this.campusMap.Spatial; + } + // if query is an id if (Wp8StringManager.IsDigitsOnly(query)) { - return new List() { this.campusMap.Spatial.GetPlaceById(query) }; + return new List() { spatial.GetPlaceById(query) }; } if (this.informationsNames == null) @@ -310,7 +475,8 @@ namespace CampusAppWP8.Pages.Campusmap this.informationsNames.Add(Constants.PisInformationName_ShortName); } - return this.campusMap.Spatial.GetPlacesByInformation(query, true, this.informationsNames); + + return spatial.GetPlacesByInformation(query, true, this.informationsNames); } /// Adds the pins. @@ -322,6 +488,10 @@ namespace CampusAppWP8.Pages.Campusmap { foreach (PlaceModel place in places) { + if (place == null) + { + continue; + } GeoCoordinate coor = place.GeoRefPoint; if (coor != null) { @@ -350,9 +520,6 @@ namespace CampusAppWP8.Pages.Campusmap MapScroller.ScrollToVerticalOffset(scrollPoint.Y); MapScroller.ScrollToHorizontalOffset(scrollPoint.X); } - - // XPoint.Text = x.ToString(); - // YPoint.Text = y.ToString(); } /// On clicking the update button in the ApplicationBar. @@ -480,15 +647,15 @@ namespace CampusAppWP8.Pages.Campusmap if (place.ParentId.Equals(this.campusMap.CampusId) && this.HasRooms(place.PlaceId)) { - MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox("Für " + place.GetInformationsValue((Constants.PisInformationName_Name)) + " gibt es eine Raumübersicht. Soll diese angezeigt werden"); - if (msgResult.Equals(MessageBoxResult.OK)) - { - string urlString = Constants.PathCampusmap_RoomListPage; - urlString += "?" + Constants.ParamBuildingId+ "=" + place.PlaceId; - Uri url = new Uri(urlString as string, UriKind.Relative); - this.NavigationService.Navigate(url); - return; - } + MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox("Für " + place.GetInformationsValue((Constants.PisInformationName_Name)) + " gibt es eine Raumübersicht. Soll diese angezeigt werden"); + if (msgResult.Equals(MessageBoxResult.OK)) + { + string urlString = Constants.PathCampusmap_RoomListPage; + urlString += "?" + Constants.ParamBuildingId + "=" + place.PlaceId; + Uri url = new Uri(urlString as string, UriKind.Relative); + this.NavigationService.Navigate(url); + return; + } } } } @@ -500,7 +667,7 @@ namespace CampusAppWP8.Pages.Campusmap /// true, if the place has got rooms, otherwise false private bool HasRooms(string placeId) { - foreach (PlaceModel place in this.campusMap.Spatial.Places) + foreach (PlaceModel place in this.file.Model.Places) { if (place.ParentId.Equals(placeId)) { diff --git a/CampusAppWP8/CampusAppWP8/Pages/Dev/NFC.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Dev/NFC.xaml.cs index ec98d2bc..3a883526 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Dev/NFC.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Dev/NFC.xaml.cs @@ -10,6 +10,7 @@ namespace CampusAppWP8.Pages.Dev { using System; using System.Collections.Generic; + using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using System.Windows; using System.Windows.Navigation; @@ -18,6 +19,7 @@ namespace CampusAppWP8.Pages.Dev using CampusAppWP8.Utility.NDEF; using Microsoft.Phone.Controls; using Windows.Networking.Proximity; + using CampusAppWP8.File.Places; /// Nfc page. /// Stubbfel, 22.08.2013. @@ -34,6 +36,8 @@ namespace CampusAppWP8.Pages.Dev /// List of ndefs. private List ndefList; + private PlacesFile file; + #endregion #region Constructor @@ -43,14 +47,30 @@ namespace CampusAppWP8.Pages.Dev public NFC() { this.InitializeComponent(); + + if (this.file == null) + { + this.file = new PlacesFile(); + } + + this.file.OnLoaded += new PlacesFile.OnIO(this.FileIsReady); + this.file.LoadData(); + + + + this.actNDEFIndex = 0; + } + + private void FileIsReady() + { this.ndefList = new List(); - MapModel map = new CBMainMapModel(); + MapModel map = new CBMainMapModel(this.file.Model.Places.ToList()); foreach (PlaceModel place in map.Spatial.Places) { this.ndefList.Add(new NDEFMessage(place.ToNfcString(), NDEFMessage.TYPEVAL.TEXT)); } - this.actNDEFIndex = 0; + this.Writecontent.Text = this.ndefList[this.actNDEFIndex].GetContent(); } #endregion @@ -65,7 +85,6 @@ namespace CampusAppWP8.Pages.Dev protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - this.Writecontent.Text = this.ndefList[this.actNDEFIndex].GetContent(); } #endregion From dd709f8937bdaa0296ff8344b3b45968c2be046b Mon Sep 17 00:00:00 2001 From: stubbfel Date: Wed, 25 Sep 2013 13:25:13 +0200 Subject: [PATCH 07/19] add new offline map , zindex, new icon --- .../Assets/Icons/DarkTheme/placeinfo_159.png | Bin 0 -> 5274 bytes .../Assets/Icons/LightTheme/placeinfo_159.png | Bin 0 -> 5274 bytes CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 2 + .../File/Campusmap/Offlinemap.xml | 1181 +++++++++++++---- .../Campusmap/CurrentPositionPinModel.cs | 1 + .../Model/Campusmap/HiddenPinPlaceModel.cs | 1 + .../Model/Campusmap/InfoPlacePinModel.cs | 3 +- .../CampusAppWP8/Model/Campusmap/MapModel.cs | 1 + .../Model/Campusmap/MapPinModel.cs | 2 + .../Model/Campusmap/SearchPlacePinModel.cs | 1 + .../Pages/Campusmap/CampusMapPage.xaml.cs | 33 +- .../Resources/AppResources.Designer.cs | 36 + .../CampusAppWP8/Resources/AppResources.resx | 12 + .../CampusAppWP8/Resources/Constants.resx | 3 + .../Resources/Constants1.Designer.cs | 9 + CampusAppWP8/CampusAppWP8/Resources/Icons.cs | 11 + .../CampusAppWP8/Resources/Icons.resx | 3 + 17 files changed, 1062 insertions(+), 237 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/placeinfo_159.png create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/placeinfo_159.png diff --git a/CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/placeinfo_159.png b/CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/placeinfo_159.png new file mode 100644 index 0000000000000000000000000000000000000000..f95a93ca980802bffe59c4f3f461628d0f8d9192 GIT binary patch literal 5274 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 + @@ -483,6 +484,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml b/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml index 2bfc667b..54f09f09 100644 --- a/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml +++ b/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml @@ -384,12 +384,12 @@ Labor - Lehrgebäude der Biotechnologie. + Die Biotechnologie befindet sich seit dem 21. Juni 2007 in einem eigenen Lehrgebäude. Biotechnologie Lehrgebäude - Lehrgebäude der Elektrotechnik, Chemie und Verfahrenstechnik in Senftenberg. + Bereits seit 1998 befinden sich in diesem Lehrgebäude die Fachbereiche Chemie und Verfahrentechnik. Elektrotechnik/Chemie/Verfahrenstechnik Lehrgebäude @@ -399,7 +399,7 @@ Lehrgebäude - Die Sporthalle bietet Möglichkeiten der sportlichen Ertüchtigung. + Die Sporthalle bietet Möglichkeiten der sportlichen Ertüchtigung und ist Veranstaltungsort der Campus-X-Change Messe. Sporthalle Sport @@ -504,549 +504,1278 @@ Lehrgebäude + Limitierter Zugang Erdgeschoss - Eingang - Eingang - Eingang + MZG Eingang + Haupteingang + Zugangsbereich + Kein Zugang Erdgeschoss - Eingang - Eingang - Eingang + MZG Eingang + Nebeneingang + Zugangsbereich + Kein Zugang Erdgeschoss - Eingang - Eingang - Eingang + MZG Eingang + Nebeneingang + Zugangsbereich + Kein Zugang Erdgeschoss - Eingang - Eingang - Eingang + MZG Eingang + Nebeneingang + Zugangsbereich + Voller Zugang Erdgeschoss - Aufzug + MZG Aufzug Aufzug - Aufzug + Zugangsbereich + Kein Zugang Erdgeschoss - Treppe + MZG Treppe Treppe - Treppe + Zugangsbereich + Kein Zugang Erdgeschoss - Treppe + MZG Treppe Treppe - Treppe + Zugangsbereich + Voller Zugang Erdgeschoss - 101 - 101 + MZG R.101 + MZG R.101 Büro + Voller Zugang Erdgeschoss - 102 - 102 + MZG R.102 + MZG R.102 Büro + Voller Zugang Erdgeschoss - 103 - 103 + MZG R.103 + MZG R.103 Büro + Voller Zugang Erdgeschoss - 104 - 104 + MZG R.104 + MZG R.104 Büro + Voller Zugang Erdgeschoss - 105 - 105 + MZG R.105 + Sekretariat Büro + Voller Zugang Erdgeschoss - 106 - 106 + MZG R.106 + MZG R.106 Büro + Voller Zugang Erdgeschoss - 107 - 107 - Labor SDB + MZG R.107 + Labor SDB + Labor + Voller Zugang Erdgeschoss - 108 - 108 - Labor SDB + MZG R.108 + Labor SDB + Labor + Voller Zugang Erdgeschoss - 109 - 109 - Labor SDB + MZG R.109 + Labor SDB + Labor + Voller Zugang Erdgeschoss - 110 - 110 - Labor SDB + MZG R.110 + Labor SDB + Labor + Voller Zugang Erdgeschoss - 111 - 111 - Labor SDB + MZG R.111 + Labor SDB + Labor + Voller Zugang Erdgeschoss - 112 - 112 - Labor SDB + MZG R.112 + Labor SDB + Labor + Voller Zugang Erdgeschoss - 113 - 113 + MZG R.113 + MZG R.113 Büro + Voller Zugang Erdgeschoss - 114 - 114 + MZG R.114 + MZG R.114 Büro + Voller Zugang Erdgeschoss - 115 - 115 + MZG R.115 + MZG R.115 Büro + Voller Zugang Erdgeschoss - 116 - 116 + MZG R.116 + MZG R.116 Büro + Voller Zugang Erdgeschoss - 117 - 117 + MZG R.117 + MZG R.117 Büro + Voller Zugang Erdgeschoss - 118 - 118 + MZG R.118 + MZG R.118 Büro + Voller Zugang Erdgeschoss - 120 - 120 + MZG R.120 + MZG R.120 Büro + Voller Zugang Erdgeschoss - 121 - 121 + MZG R.121 + MZG R.121 Büro + Voller Zugang Erdgeschoss - 122 - 122 + MZG R.122 + MZG R.122 Büro + Voller Zugang Erdgeschoss - 123 - 123 + MZG R.123 + MZG R.123 Büro + Voller Zugang Erdgeschoss - 125 - 125 - PC - Labor + MZG R.125 + PC - Labor + Labor + Voller Zugang Erdgeschoss - 126 - 126 - PC - Labor + MZG R.126 + PC - Labor + Labor + Voller Zugang Erdgeschoss - 128 - 128 - PC - Labor + MZG R.128 + PC - Labor + Labor + Voller Zugang Erdgeschoss - 130 - 130 - PC - Labor + MZG R.130 + PC - Labor + Labor + Voller Zugang Erdgeschoss - 133 - 133 + MZG R.133 + Herrentoilette WC + Voller Zugang Erdgeschoss - 134 - 134 - CO2 - Labor + MZG R.134 + CO2 - Labor + Labor + Voller Zugang Erdgeschoss - 135 - 135 - CO2 - Labor + MZG R.135 + Schulungsraum + Büro - + + Limitierter Zugang Erdgeschoss - 137 - 137 + MZG R.137 + Herrentoilette WC + Voller Zugang Erdgeschoss - 138 - 138 + MZG R.138 + Aufenthaltsraum Mehrzweck + Limitierter Zugang Erdgeschoss - 139 - 139 + MZG R.139 + Damentoilette WC + Voller Zugang Erdgeschoss - 140 - 140 - PC - Labor + MZG R.140 + PC - Labor + Labor + Voller Zugang Erdgeschoss - 149 - 149 + MZG R.149 + MZG R.149 Büro + Voller Zugang Obergeschoss - Aufzug + MZG Aufzug Aufzug - Aufzug + Zugangsbereich + Kein Zugang Obergeschoss - Treppe + MZG Treppe Treppe - Treppe + Zugangsbereich + Kein Zugang Obergeschoss - Treppe + MZG Treppe Treppe - Treppe + Zugangsbereich + Voller Zugang Obergeschoss - 201 - 201 + MZG R.201 + MZG R.201 Labor + Voller Zugang Obergeschoss - 202 - 202 + MZG R.202 + MZG R.202 Labor + Voller Zugang Obergeschoss - 203 - 203 + MZG R.203 + MZG R.203 Labor + Voller Zugang Obergeschoss - 204 - 204 + MZG R.204 + MZG R.204 Büro + Voller Zugang Obergeschoss - 205 - 205 + MZG R.205 + MZG R.205 Büro + Voller Zugang Obergeschoss - 206 - 206 + MZG R.206 + MZG R.206 Büro + Voller Zugang Obergeschoss - 207 - 207 + MZG R.207 + MZG R.207 Büro + Voller Zugang Obergeschoss - 208 - 208 + MZG R.208 + MZG R.208 Büro + Voller Zugang Obergeschoss - 209 - 209 + MZG R.209 + MZG R.209 Büro + Voller Zugang Obergeschoss - 210 - 210 + MZG R.210 + MZG R.210 Büro + Voller Zugang Obergeschoss - 211 - 211 + MZG R.211 + MZG R.211 Büro + Voller Zugang Obergeschoss - 213 - 213 + MZG R.213 + MZG R.213 Büro + Voller Zugang Obergeschoss - 214 - 214 + MZG R.214 + MZG R.214 Büro + Voller Zugang Obergeschoss - 215 - 215 + MZG R.215 + MZG R.215 Büro + Voller Zugang Obergeschoss - 216 - 216 + MZG R.216 + MZG R.216 Büro + Voller Zugang Obergeschoss - 217 - 217 + MZG R.217 + MZG R.217 Büro + Voller Zugang Obergeschoss - 218 - 218 + MZG R.218 + MZG R.218 Büro + Voller Zugang Obergeschoss - 219 - 219 + MZG R.219 + MZG R.219 Büro + Voller Zugang Obergeschoss - 220 - 220 + MZG R.220 + MZG R.220 Büro + Voller Zugang Obergeschoss - 222 - 222 - Seminarraum + MZG R.222 + Seminarraum + Büro + Voller Zugang Obergeschoss - 223 - 223 + MZG R.223 + MZG R.223 Büro + Voller Zugang Obergeschoss - 224 - 224 + MZG R.224 + Sekretariat Büro + Voller Zugang Obergeschoss - 225 - 225 + MZG R.225 + MZG R.225 Büro + Voller Zugang Obergeschoss - 226 - 226 + MZG R.226 + MZG R.226 Büro + Voller Zugang Obergeschoss - 227 - 227 - PC - Labor + MZG R.227 + PC - Labor + Labor + Voller Zugang Obergeschoss - 228 - 228 - PC - Labor + MZG R.228 + PC - Labor + Labor + Voller Zugang Obergeschoss - 231 - 231 - Archiv + MZG R.231 + Archiv + Mehrzweck + Voller Zugang Obergeschoss - 233 - 233 - Drohnenlabor + MZG R.233 + Drohnenlabor + Labor + Limitierter Zugang Obergeschoss - 235 - 235 + MZG R.235 + Herrentoilette WC + Voller Zugang Obergeschoss - 236 - 236 + MZG R.236 + Aufenthaltsraum Mehrzweck + Voller Zugang Obergeschoss - 237 - 237 + MZG R.237 + Aufenthaltsraum Mehrzweck + Voller Zugang Obergeschoss - 238 - 238 + MZG R.238 Mehrzweck + Voller Zugang Obergeschoss - 239 - 239 + MZG R.239 Mehrzweck + Voller Zugang Obergeschoss - 240 - 240 + MZG R.240 Mehrzweck - + + Limitierter Zugang Obergeschoss - 241 - 241 + MZG R.241 + Herrentoilette WC + Limitierter Zugang Obergeschoss - 243 - 243 + MZG R.243 + Damentoilette WC - + + Voller Zugang + 1. Untergeschoss + Damen- und Herrentoiletten + WC + + + Voller Zugang + 1. Untergeschoss + Aufzug + Zugangsbereich + + + Kein Zugang + 1. Untergeschoss + Treppe + Zugangsbereich + + + Voller Zugang + 1. Untergeschoss + Präsentationsraum + Präsentationsraum + Arbeitsplatz + + + Voller Zugang + 1. Untergeschoss + Archiv + Ulrich-Conrad-Archiv + Mehrzweck + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Geschichte + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Bildende Kunst, Fotografie + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Sprache + Regal + + + Limitierter Zugang + 1. Untergeschoss + Helpdesk + Helpdesk + Information + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Lehrbuchsammlung + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Kultur, Erziehung, Bildung, Wissenschaft + Regal + + + Limitierter Zugang + 1. Untergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Gesellschaft, Arbeit, Sozialwissenschaften + Regal + + + Voller Zugang + 1. Untergeschoss + Lernpool + Lernpool + Arbeitsplatz + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Philosophie + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Allgemeines + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Medien- und Kommunikationswissenschaften + Regal + + + Limitierter Zugang + 1. Untergeschoss + Bücherregal + Religion + Regal + + + Voller Zugang + 1. Untergeschoss + Lesesaal + Lesesaal + Arbeitsplatz + + + Voller Zugang Erdgeschoss - 103a - 103a + Damen- und Herrentoiletten + WC + + + Voller Zugang + Erdgeschoss + Aufzug + Zugangsbereich + + + Kein Zugang + Erdgeschoss + Treppe + Zugangsbereich + + + Voller Zugang + Erdgeschoss + Galeriearbeitsplätze + Galeriearbeitsplätze + Arbeitsplatz + + + Voller Zugang + Erdgeschoss + Leseecke + Leseecke + Arbeitsplatz + + + Voller Zugang + Erdgeschoss + Arbeitsplätze + Arbeitsplätze + Arbeitsplatz + + + Voller Zugang + Erdgeschoss + Servicepunkt + Servicepunkt + Information + + + Voller Zugang + Erdgeschoss + Ausleihe und Rückgabe + Ausleihe und Rückgabe + Information + + + Voller Zugang + Erdgeschoss + Garderobe + Garderobenschränke + Mehrzweck + + + Voller Zugang + Erdgeschoss + Haupteingang + Zugangsbereich + + + Voller Zugang + Erdgeschoss + Gruppenarbeitsraum + Gruppenarbeitsraum + Arbeitsplatz + + + Voller Zugang + 2. Obergeschoss + Damen- und Herrentoiletten + WC + + + Voller Zugang + 2. Obergeschoss + Aufzug + Zugangsbereich + + + Kein Zugang + 2. Obergeschoss + Treppe + Zugangsbereich + + + Voller Zugang + 2. Obergeschoss + Lesesaal + Lesesaal + Arbeitsplatz + + + Limitierter Zugang + 2. Obergeschoss + Helpdesk + Helpdesk + Information + + + Limitierter Zugang + 2. Obergeschoss + Lehrbuchsammlung + Lehrbuchsammlung + Regal + + + Limitierter Zugang + 2. Obergeschoss + Bücherregal + Wirtschaft, Verkehr + Regal + + + Voller Zugang + 2. Obergeschoss + Galeriearbeitsplätze + Galeriearbeitsplätze + Arbeitsplatz + + + Limitierter Zugang + 2. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Limitierter Zugang + 2. Obergeschoss + Bücherregal + Recht, Verwaltung + Regal + + + Limitierter Zugang + 2. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Voller Zugang + 2. Obergeschoss + Ruhiger Lesesaal + Ruhiger Lesesaal + Arbeitsplatz + + + Kein Zugang + 2. Obergeschoss + Treppe ins 3. OG + Zugangsbereich + + + Voller Zugang + 3. Obergeschoss + Damen- und Herrentoiletten + WC + + + Voller Zugang + 3. Obergeschoss + Aufzug + Zugangsbereich + + + Kein Zugang + 3. Obergeschoss + Treppe + Zugangsbereich + + + Limitierter Zugang + 3. Obergeschoss + Bücherregal + Bauwesen und Baurecht + Regal + + + Voller Zugang + 3. Obergeschoss + Ruhiger Lesesaal + Ruhiger Lesesaal + Arbeitsplatz + + + Limitierter Zugang + 3. Obergeschoss + Helpdesk + Helpdesk + Information + + + Limitierter Zugang + 3. Obergeschoss + Lehrbuchsammlung + Lehrbuchsammlung + Regal + + + Limitierter Zugang + 3. Obergeschoss + Bücherregal + Architektur, Städtebau und Raumordnung + Regal + + + Voller Zugang + 3. Obergeschoss + Galeriearbeitsplätze + Galeriearbeitsplätze + Arbeitsplatz + + + Kein Zugang + 3. Obergeschoss + Treppe ins 2. OG + Zugangsbereich + + + Limitierter Zugang + 3. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Voller Zugang + 3. Obergeschoss + Lesesaal + Lesesaal + Arbeitsplatz + + + Voller Zugang + 4. Obergeschoss + Damen- und Herrentoiletten + WC + + + Voller Zugang + 4. Obergeschoss + Aufzug + Zugangsbereich + + + Kein Zugang + 4. Obergeschoss + Treppe + Zugangsbereich + + + Limitierter Zugang + 4. Obergeschoss + Bücherregal + Spezielle Technik + Regal + + + Voller Zugang + 4. Obergeschoss + Galeriearbeitsplätze + Galeriearbeitsplätze + Arbeitsplatz + + + Limitierter Zugang + 4. Obergeschoss + Helpdesk + Helpdesk + Information + + + Limitierter Zugang + 4. Obergeschoss + Lehrbuchsammlung + Lehrbuchsammlung + Regal + + + Limitierter Zugang + 4. Obergeschoss + Bücherregal + Technik - Allgemeine Grundlagen + Regal + + + Limitierter Zugang + 4. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Voller Zugang + 4. Obergeschoss + Einzelplätze Datenbanken + Einzelplätze Datenbanken + Arbeitsplatz + + + Voller Zugang + 4. Obergeschoss + Gruppenarbeitsraum + Gruppenarbeitsraum + Arbeitsplatz + + + Voller Zugang + 5. Obergeschoss + Damen- und Herrentoiletten + WC + + + Voller Zugang + 5. Obergeschoss + Aufzug + Zugangsbereich + + + Kein Zugang + 5. Obergeschoss + Treppe + Zugangsbereich + + + Voller Zugang + 5. Obergeschoss + Ruhiger Lesesaal + Ruhiger Lesesaal + Arbeitsplatz + + + Limitierter Zugang + 5. Obergeschoss + Bücherregal + Biologie und Chemie + Regal + + + Limitierter Zugang + 5. Obergeschoss + Bücherregal + Geowissenschaften + Regal + + + Limitierter Zugang + 5. Obergeschoss + Helpdesk + Helpdesk + Information + + + Limitierter Zugang + 5. Obergeschoss + Lehrbuchsammlung + Lehrbuchsammlung + Regal + + + Limitierter Zugang + 5. Obergeschoss + Bücherregal + Medizin, Anthropologie + Regal + + + Limitierter Zugang + 5. Obergeschoss + Bücherregal + Verfahrenstechnik + Regal + + + Voller Zugang + 5. Obergeschoss + Ruhiger Lesesaal + Ruhiger Lesesaal + Arbeitsplatz + + + Limitierter Zugang + 5. Obergeschoss + Bücherregal + Umweltwissenschaften + Regal + + + Limitierter Zugang + 5. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Voller Zugang + 5. Obergeschoss + Fachreferent, Informationsvermittlungsstelle + Fachreferent, Informationsvermittlungsstelle + Information + + + Voller Zugang + 5. Obergeschoss + Galeriearbeitsplätze + Galeriearbeitsplätze + Arbeitsplatz + + + Limitierter Zugang + 5. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Voller Zugang + 6. Obergeschoss + Damen- und Herrentoiletten + WC + + + Voller Zugang + 6. Obergeschoss + Aufzug + Aufzug + + + Kein Zugang + 6. Obergeschoss + Treppe + Treppe + + + Voller Zugang + 6. Obergeschoss + Carrels + Carrels + Arbeitsplatz + + + Limitierter Zugang + 6. Obergeschoss + Mediathek + Mediathek + Regal + + + Limitierter Zugang + 6. Obergeschoss + Lehrbuchsammlung + Lehrbuchsammlung + Regal + + + Voller Zugang + 6. Obergeschoss + Medienarbeitsplatz, PC Fernsehaufzeichnungen + Medienarbeitsplatz, PC Fernsehaufzeichnungen + Arbeitsplatz + + + Voller Zugang + 6. Obergeschoss + Publikationsarbeitsplatz, sehbehindertengerechter Arbeitsplatz + Publikationsarbeitsplatz, sehbehindertengerechter Arbeitsplatz + Arbeitsplatz + + + Voller Zugang + 6. Obergeschoss + Carrels + Carrels + Arbeitsplatz + + + Limitierter Zugang + 6. Obergeschoss + Bücherregal + Informatik und Kybernetik + Regal + + + Limitierter Zugang + 6. Obergeschoss + Helpdesk + Helpdesk + Information + + + Limitierter Zugang + 6. Obergeschoss + Bücherregal + Optimierung und Stochastik + Regal + + + Limitierter Zugang + 6. Obergeschoss + Zeitschriftenregal + Zeitschriften + Regal + + + Voller Zugang + 6. Obergeschoss + Lesesaal + Lesesaal + Arbeitsplatz + + + Limitierter Zugang + 6. Obergeschoss + Bücherregal + Mathematik + Regal + + + Voller Zugang + 6. Obergeschoss + Fachreferenten + Fachreferenten + Arbeitsplatz + + + Voller Zugang + Erdgeschoss + MZG R.103a + MZG R.103a Büro + Voller Zugang Erdgeschoss - 103b - 103b + MZG R.103b + MZG R.103b Büro + Voller Zugang Erdgeschoss - 108a - 108a - Labor SDB + MZG R.108a + Labor SDB + Labor + Voller Zugang Erdgeschoss - 125a - 125a - PC - Labor + MZG R.125a + PC - Labor + Labor + Voller Zugang Erdgeschoss - 134a - 134a - CO2 - Labor + MZG R.134a + CO2 - Labor + Labor + Voller Zugang Erdgeschoss - 135a - 135a - Technik/ Lager - - - Erdgeschoss - 137a - 137a - WC - - - Erdgeschoss - 137b - 137b - WC - - - Obergeschoss - 241a - 241a - WC + MZG R.135a + Technik/ Lager + Mehrzweck + Voller Zugang Obergeschoss - 242a - 242a + MZG R.242a + MZG R.242a Büro + Voller Zugang Obergeschoss - 242e - 242e + MZG R.242e + Aufenthaltsraum Mehrzweck diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs index e23d03bb..0410b28e 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs @@ -27,6 +27,7 @@ namespace CampusAppWP8.Model.Campusmap this.PinImageOffsetX = -25; this.PinImageOffsetY = -34; this.Tag = MapPinModel.CurrendPositionPlacePinString; + this.ZIndex = 2; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs index f33d715b..b2e1f64c 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs @@ -15,6 +15,7 @@ namespace CampusAppWP8.Model.Campusmap public HiddenPinPlaceModel() { this.Tag = MapPinModel.HiddenPlacePinString; + this.ZIndex = 0; } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs index 699f8a9e..ad43714a 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs @@ -17,12 +17,13 @@ namespace CampusAppWP8.Model.Campusmap /// Stubbfel, 27.08.2013. public InfoPlacePinModel() { - this.ImageSource = Icons.Info; + this.ImageSource = Icons.PlaceInfo; this.ImageWidth = 60; this.ImageHeight = 60; this.PinImageOffsetX = -25; this.PinImageOffsetY = -27; this.Tag = MapPinModel.PinTypeToString(PinType.InfoPlace); + this.ZIndex = 1; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs index 601f84bb..8fc2d54b 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -205,6 +205,7 @@ namespace CampusAppWP8.Model.Campusmap Canvas.SetTop(pinImg, pin.Position.Y); Canvas.SetLeft(pinImg, pin.Position.X); + Canvas.SetZIndex(pinImg, pin.ZIndex); return pinImg; } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs index 8c08f497..3b894d1a 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs @@ -81,6 +81,8 @@ namespace CampusAppWP8.Model.Campusmap /// public double ImageHeight { get; set; } + public int ZIndex { get; set; } + /// /// Gets or sets the ImageOffsetX of the pin /// diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs index 77ea478a..8fef3500 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs @@ -30,6 +30,7 @@ namespace CampusAppWP8.Model.Campusmap this.PinImageOffsetX = -25; this.PinImageOffsetY = -27; this.Tag = MapPinModel.SearchPlacePinString; + this.ZIndex = 3; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 88f0cfa9..d7902536 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -68,6 +68,7 @@ namespace CampusAppWP8.Pages.Campusmap ApplicationBarMenuItem menuItem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem; ApplicationBarMenuItem menuItem2 = ApplicationBar.MenuItems[1] as ApplicationBarMenuItem; + ApplicationBarMenuItem menuItem3 = ApplicationBar.MenuItems[2] as ApplicationBarMenuItem; if (menuItem1 != null) { @@ -79,6 +80,12 @@ namespace CampusAppWP8.Pages.Campusmap menuItem2.Text = AppResources.CampusMapApp_ScanNfc; } + + if (menuItem3 != null) + { + menuItem3.Text = AppResources.CampusMapApp_EnableBuildInfo; + } + if (this.file == null) { this.file = new PlacesFile(); @@ -268,16 +275,22 @@ namespace CampusAppWP8.Pages.Campusmap private void ShowBuildingsInformation(object sender, EventArgs e) { + string menuText; if (!this.buildInfoEnable) { this.ShowAllCampusBuilding(""); this.buildInfoEnable = true; + menuText = AppResources.CampusMapApp_DisableBuildInfo; } else { this.ClearMap(new List() { MapPinModel.InfoPlacePinString }); this.buildInfoEnable = false; + menuText = AppResources.CampusMapApp_EnableBuildInfo; } + + ApplicationBarMenuItem item = ApplicationBar.MenuItems[2] as ApplicationBarMenuItem; + item.Text = menuText; } private void ClearMap(List removeTags = null) @@ -359,15 +372,6 @@ namespace CampusAppWP8.Pages.Campusmap } } - /// Button click method. - /// Stubbfel, 19.08.2013. - /// caller object. - /// some EventArgs. - private void Button_Click(object sender, RoutedEventArgs e) - { - // this.AddPin(double.Parse(XPoint.Text), double.Parse(YPoint.Text)); - } - /// /// Method start a NFCScan /// @@ -590,6 +594,7 @@ namespace CampusAppWP8.Pages.Campusmap } else { + this.ClearMap(new List() { MapPinModel.CurrendPositionPlacePinString }); this.SetPinToPosition(lat, log, MapPinModel.PinType.CurrentPosition, scroll); } } @@ -638,6 +643,14 @@ namespace CampusAppWP8.Pages.Campusmap msgText += shortDesc; msgText = Wp8StringManager.AddNewLine(msgText); } + + string access = place.GetInformationsValue(Constants.PisInformationName_Accesbility); + if (access != null) + { + msgText += AppResources.PlaceLabel_Accessbility + ": "; + msgText += access; + msgText = Wp8StringManager.AddNewLine(msgText); + } } MessageBoxes.ShowMainModelInfoMessageBox(msgText); @@ -647,7 +660,7 @@ namespace CampusAppWP8.Pages.Campusmap if (place.ParentId.Equals(this.campusMap.CampusId) && this.HasRooms(place.PlaceId)) { - MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox("Für " + place.GetInformationsValue((Constants.PisInformationName_Name)) + " gibt es eine Raumübersicht. Soll diese angezeigt werden"); + MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox(AppResources.MsgBox_ShowRoomList); if (msgResult.Equals(MessageBoxResult.OK)) { string urlString = Constants.PathCampusmap_RoomListPage; diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index f3c27a3a..4266b9b1 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -141,6 +141,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Gebäudeinfos ausblenden ähnelt. + /// + public static string CampusMapApp_DisableBuildInfo { + get { + return ResourceManager.GetString("CampusMapApp_DisableBuildInfo", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Gebäudeinfos einblenden ähnelt. + /// + public static string CampusMapApp_EnableBuildInfo { + get { + return ResourceManager.GetString("CampusMapApp_EnableBuildInfo", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Info via NFC ähnelt. /// @@ -627,6 +645,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Für dieses Gebäude gibt es eine Raumübersicht. Soll diese angezeigt werden? ähnelt. + /// + public static string MsgBox_ShowRoomList { + get { + return ResourceManager.GetString("MsgBox_ShowRoomList", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die News ähnelt. /// @@ -735,6 +762,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Barrierefreiheit ähnelt. + /// + public static string PlaceLabel_Accessbility { + get { + return ResourceManager.GetString("PlaceLabel_Accessbility", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Name ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index 8eea55e9..5d761f8a 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -452,4 +452,16 @@ Bitte halten Sie das Handy vor dem NFC-Tag + + Barrierefreiheit + + + Gebäudeinfos ausblenden + + + Gebäudeinfos einblenden + + + Für dieses Gebäude gibt es eine Raumübersicht. Soll diese angezeigt werden? + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index c2faecea..ba719030 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -534,4 +534,7 @@ Ebene + + Barrierefreiheit + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs index 678ece02..735d063e 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs @@ -960,6 +960,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Barrierefreiheit ähnelt. + /// + public static string PisInformationName_Accesbility { + get { + return ResourceManager.GetString("PisInformationName_Accesbility", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Ebene ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Icons.cs b/CampusAppWP8/CampusAppWP8/Resources/Icons.cs index eb719a52..eea1a597 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Icons.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Icons.cs @@ -308,6 +308,17 @@ namespace CampusAppWP8.Resources } } + /// + /// Gets the uri string of the PlaceInfo icon. + /// + public static string PlaceInfo + { + get + { + return Themerize("placeinfo_159.png"); + } + } + /// /// Gets the uri string of the Practise icon. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Icons.resx b/CampusAppWP8/CampusAppWP8/Resources/Icons.resx index 35f73cf8..360bc657 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Icons.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Icons.resx @@ -195,6 +195,9 @@ info_159.png + + placeinfo_159.png + practise_159.png From 0396a6230188a2c0b4d50bdb0726d9b07751d347 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Wed, 25 Sep 2013 13:41:26 +0200 Subject: [PATCH 08/19] sort infolist --- .../CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs | 9 ++++++--- .../CampusAppWP8/Resources/AppResources.Designer.cs | 9 +++++++++ CampusAppWP8/CampusAppWP8/Resources/AppResources.resx | 3 +++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index d7902536..e1c72f7c 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -631,12 +631,15 @@ namespace CampusAppWP8.Pages.Campusmap msgText += place.GetInformationsValue(Constants.PisInformationName_Name); msgText = Wp8StringManager.AddNewLine(msgText); - string shortDesc = place.GetInformationsValue(Constants.PisInformationName_ShortDesc); - if (shortDesc == null) + string type = place.GetInformationsValue(Constants.PisInformationName_Typ); + if (type != null) { - shortDesc = place.GetInformationsValue(Constants.PisInformationName_Typ); + msgText += AppResources.PlaceLabel_Type + ": "; + msgText += type; + msgText = Wp8StringManager.AddNewLine(msgText); } + string shortDesc = place.GetInformationsValue(Constants.PisInformationName_ShortDesc); if (shortDesc != null) { msgText += AppResources.PlaceLabel_ShortDesc + ": "; diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index 4266b9b1..0d621fb5 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -789,6 +789,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Type ähnelt. + /// + public static string PlaceLabel_Type { + get { + return ResourceManager.GetString("PlaceLabel_Type", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Placenews ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index 5d761f8a..9528d551 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -464,4 +464,7 @@ Für dieses Gebäude gibt es eine Raumübersicht. Soll diese angezeigt werden? + + Type + \ No newline at end of file From 1dbd2be23fa992b622c7f29b86f10a127dddc78a Mon Sep 17 00:00:00 2001 From: stubbfel Date: Thu, 26 Sep 2013 11:24:53 +0200 Subject: [PATCH 09/19] add lens extension --- CampusAppWP8/CampusAppWP8/App.xaml.cs | 3 ++ .../CampusAppWP8/Assets/ApplicationIcon.png | Bin 3392 -> 7984 bytes .../CampusAppWP8/Assets/Lens.Screen-720p.png | Bin 0 -> 17421 bytes .../CampusAppWP8/Assets/Lens.Screen-WVGA.png | Bin 0 -> 10666 bytes .../CampusAppWP8/Assets/Lens.Screen-WXGA.png | Bin 0 -> 19003 bytes CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 4 ++ .../Pages/Campusmap/CampusMapPage.xaml.cs | 1 + .../CampusAppWP8/Pages/Dev/QRScanner.xaml.cs | 18 +++++++-- .../CampusAppWP8/Properties/WMAppManifest.xml | 37 ++++++++++-------- .../CampusAppWP8/Resources/Constants.resx | 3 ++ .../Resources/Constants1.Designer.cs | 9 +++++ .../CampusAppWP8/Utility/AppUriMapper.cs | 33 ++++++++++++++++ 12 files changed, 88 insertions(+), 20 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-720p.png create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WVGA.png create mode 100644 CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WXGA.png create mode 100644 CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 38650185..23949af1 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/App.xaml.cs @@ -243,6 +243,9 @@ namespace CampusAppWP8 // Behandeln Sie Rücksetzanforderungen zum Löschen des Backstack RootFrame.Navigated += CheckForResetNavigation; + // Assign the lens example URI-mapper class to the application frame. + RootFrame.UriMapper = new AppUriMapper(); + // Sicherstellen, dass keine erneute Initialisierung erfolgt phoneApplicationInitialized = true; } diff --git a/CampusAppWP8/CampusAppWP8/Assets/ApplicationIcon.png b/CampusAppWP8/CampusAppWP8/Assets/ApplicationIcon.png index 7d95d4e0810f4a4c85b5bb631ddd4d3a6be24ca7..4bff7b4f31adb07655b65751eb248ffbbdf2c6fd 100644 GIT binary patch literal 7984 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 literal 3392 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 apHXeoOo8YZ#-R)h3=E#GelF{r5}E*^@prQT diff --git a/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-720p.png b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-720p.png new file mode 100644 index 0000000000000000000000000000000000000000..243e36b71cc3a322f1b5f9b4026f04afc3f06142 GIT binary patch literal 17421 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 At^fc4 literal 0 HcmV?d00001 diff --git a/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WVGA.png b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WVGA.png new file mode 100644 index 0000000000000000000000000000000000000000..f1c35fca6a6d7a36af0c3bce1682b269198e7023 GIT binary patch literal 10666 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 literal 0 HcmV?d00001 diff --git a/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WXGA.png b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WXGA.png new file mode 100644 index 0000000000000000000000000000000000000000..3a37c80d9d721f08a7ff8377c402fe671a5253af GIT binary patch literal 19003 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 literal 0 HcmV?d00001 diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 01a9682c..635ca627 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -156,6 +156,7 @@ True Constants.resx + @@ -496,6 +497,9 @@ + + + PreserveNewest diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index e1c72f7c..f0170ebe 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -27,6 +27,7 @@ namespace CampusAppWP8.Pages.Campusmap using Windows.Networking.Proximity; using CampusAppWP8.File.Places; using System.Windows.Controls; + using System.ComponentModel; ///

Class for the campusMap page. /// Stubbfel, 19.08.2013. diff --git a/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs index 76f8bd73..fe532e6d 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs @@ -22,6 +22,7 @@ namespace CampusAppWP8.Pages.Dev using Microsoft.Devices; using Microsoft.Phone.Controls; using ZXing; + using CampusAppWP8.Utility; ///
/// QR Code scanner. @@ -85,7 +86,6 @@ namespace CampusAppWP8.Pages.Dev this.bit = new WriteableBitmap((int)this.cam.PreviewResolution.Width, (int)this.cam.PreviewResolution.Height); this.camViewBrush.SetSource(this.cam); - this.isInAutofocus = false; } else { @@ -219,8 +219,20 @@ namespace CampusAppWP8.Pages.Dev { if (this.ResultAppStoreKey != null) { - App.SaveToIsolatedStorage(this.ResultAppStoreKey, result.Text); - NavigationService.GoBack(); + + if (NavigationService.CanGoBack) + { + App.SaveToIsolatedStorage(this.ResultAppStoreKey, result.Text); + NavigationService.GoBack(); + } + else + { + string pid = Wp8StringManager.FilterPlaceIdinQRResultString(result.Text); + string urlString = Constants.PathCampusmap_Campusmap; + urlString += "?" + Constants.ParamModelMap_SearchTermAlias + "=" + pid; + Uri url = new Uri(urlString as string, UriKind.Relative); + NavigationService.Navigate(url); + } } else { diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml index 4d8b94b2..052f573c 100644 --- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml +++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml @@ -2,7 +2,7 @@ - Assets\Tiles\kachel_small.png + Assets\ApplicationIcon.png @@ -22,27 +22,30 @@ - + Assets\Tiles\kachel_small.png 0 - Assets\Tiles\kachel_medium.png - CampusAppWP8 - - - - - - - Assets\Tiles\kachel_large.png - - - - - + Assets\Tiles\kachel_medium.png + BTU-CampusAp + + + + True - + + + + + + + + + + + + diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index ba719030..5a20763f 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -537,4 +537,7 @@ Barrierefreiheit + + /Pages/StartPage.xaml + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs index 735d063e..c06afea9 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs @@ -699,6 +699,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die /Pages/StartPage.xaml ähnelt. + /// + public static string PathApp_StartPage { + get { + return ResourceManager.GetString("PathApp_StartPage", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die /Pages/Campusmap/CampusMapPage.xaml ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs b/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs new file mode 100644 index 00000000..0e4d8707 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs @@ -0,0 +1,33 @@ +using CampusAppWP8.Resources; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Navigation; + +namespace CampusAppWP8.Utility +{ + public class AppUriMapper : UriMapperBase + { + private string tempUri; + + public override Uri MapUri(Uri uri) + { + tempUri = uri.ToString(); + + // Look for a URI from the lens picker. + if (tempUri.Contains("ViewfinderLaunch")) + { + // Launch as a lens, launch viewfinder screen. + tempUri = Constants.PathQR_QRPage; + tempUri += "?" + Constants.ParamQRResultKey + "=" + Constants.CampusMapApp_QRCodeSearchResultStorageKey; + Uri url = new Uri(tempUri as string, UriKind.Relative); + return new Uri(tempUri, UriKind.Relative); + } + + // Otherwise perform normal launch. + return uri; + } + } +} From 05168211b7ea4ea4d83f0f1e803bdede99dfac4a Mon Sep 17 00:00:00 2001 From: stubbfel Date: Thu, 26 Sep 2013 14:32:22 +0200 Subject: [PATCH 10/19] add docs --- .../Model/Campusmap/CampusMapModel.cs | 49 ++++++-- .../Model/Campusmap/ClickAblePlacePinModel.cs | 19 ++- .../Model/Campusmap/HiddenPinPlaceModel.cs | 4 +- .../Model/Campusmap/InfoPlacePinModel.cs | 19 +-- .../CampusAppWP8/Model/Campusmap/MapModel.cs | 10 +- .../Model/Campusmap/MapPinModel.cs | 85 ++++++++++---- .../Model/Campusmap/SearchPlacePinModel.cs | 2 - .../Pages/Campusmap/CampusMapPage.xaml.cs | 109 ++++++++++++++---- .../CampusAppWP8/Pages/Dev/QRScanner.xaml.cs | 61 +++++----- .../CampusAppWP8/Properties/WMAppManifest.xml | 4 +- .../CampusAppWP8/Utility/AppUriMapper.cs | 34 ++++-- 11 files changed, 279 insertions(+), 117 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs index 20a4012b..7b9bfb8f 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs @@ -1,26 +1,51 @@ -using CampusAppWP8.Model.GeoDb; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 26.09.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap { + using System.Collections.Generic; + using CampusAppWP8.Model.GeoDb; + + /// + /// Class for the CampusMapModel + /// public class CampusMapModel : MapModel { + #region constructor - public string CampusId { get; protected set; } - - public CampusMapModel(List placeList,string campusId) + /// + /// Initializes a new instance of the class. + /// + /// list of places + /// id of the campus + public CampusMapModel(List placeList, string campusId) { this.CampusId = campusId; this.LoadSpatials(placeList); this.IsReady = true; } + #endregion + + #region property + + /// + /// Gets or sets the campusId + /// + public string CampusId { get; protected set; } + + #endregion + + #region method + /// Loads the spatial./. /// Stubbfel, 19.08.2013. + /// list of places protected override void LoadSpatials(List placeList) { List campusPlaces = new List(); @@ -32,9 +57,11 @@ namespace CampusAppWP8.Model.Campusmap { campusPlaces.Add(place); } - } + this.Spatial.AddPlaces(campusPlaces); - } + } + + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs index bb47a8fa..8267acd1 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs @@ -1,12 +1,19 @@ -using CampusAppWP8.Model.GeoDb; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 26.09.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap { + using System.Collections.Generic; + using CampusAppWP8.Model.GeoDb; + + /// + /// abstract class for click abel bins + /// public abstract class ClickAblePlacePinModel : MapPinModel { #region property diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs index b2e1f64c..e8343a76 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs @@ -11,7 +11,9 @@ namespace CampusAppWP8.Model.Campusmap /// Stubbfel, 27.08.2013. public class HiddenPinPlaceModel : MapPinModel { - + /// + /// Initializes a new instance of the class. + /// public HiddenPinPlaceModel() { this.Tag = MapPinModel.HiddenPlacePinString; diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs index ad43714a..7c4384fc 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs @@ -1,18 +1,23 @@ -using CampusAppWP8.Resources; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 27.08.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap { + using CampusAppWP8.Resources; + + /// Search pin place model. + /// Stubbfel, 27.08.2013. public class InfoPlacePinModel : ClickAblePlacePinModel { #region Constructor /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// Stubbfel, 27.08.2013. public InfoPlacePinModel() diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs index 8fc2d54b..e8143bfc 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -22,7 +22,9 @@ namespace CampusAppWP8.Model.Campusmap { #region Constructors - + /// + /// Initializes a new instance of the class. + /// public MapModel() { this.IsReady = false; @@ -31,6 +33,7 @@ namespace CampusAppWP8.Model.Campusmap /// /// Initializes a new instance of the class. /// + /// list of places public MapModel(List placeList) { this.IsReady = false; @@ -56,6 +59,9 @@ namespace CampusAppWP8.Model.Campusmap #endregion #region Property + /// + /// Gets or sets a value indicating whether the map is ready or not + /// public bool IsReady { get; protected set; } /// @@ -257,6 +263,7 @@ namespace CampusAppWP8.Model.Campusmap /// Loads the spatial./ /// Stubbfel, 19.08.2013. + /// list of places protected virtual void LoadSpatials(List placeList) { this.Spatial = new SpsModel(); @@ -299,6 +306,7 @@ namespace CampusAppWP8.Model.Campusmap pin = new HiddenPinPlaceModel(); break; } + pinImg.Tag = pin.Tag; return pin; } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs index 3b894d1a..46ee4028 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs @@ -17,15 +17,24 @@ namespace CampusAppWP8.Model.Campusmap { #region Member + /// + /// String for info pins + /// private static string infoPlacePinString = MapPinModel.PinTypeToString(PinType.InfoPlace); - + /// + /// String for hidden pins + /// private static string hiddenPlacePinString = MapPinModel.PinTypeToString(PinType.Hidden); - + /// + /// String for search pins + /// private static string searchPlacePinString = MapPinModel.PinTypeToString(PinType.SearchPlace); - + /// + /// String for current position pins + /// private static string currendPositionPlacePinString = MapPinModel.PinTypeToString(PinType.CurrentPosition); /// @@ -66,6 +75,38 @@ namespace CampusAppWP8.Model.Campusmap #region Property + /// + /// Gets the string of current position pins + /// + public static string CurrendPositionPlacePinString + { + get { return MapPinModel.currendPositionPlacePinString; } + } + + /// + /// Gets the string of search pins + /// + public static string SearchPlacePinString + { + get { return MapPinModel.searchPlacePinString; } + } + + /// + /// Gets the string of hidden pins + /// + public static string HiddenPlacePinString + { + get { return MapPinModel.hiddenPlacePinString; } + } + + /// + /// Gets the string of info pins + /// + public static string InfoPlacePinString + { + get { return MapPinModel.infoPlacePinString; } + } + /// /// Gets or sets the ImageSource of the pin /// @@ -81,6 +122,9 @@ namespace CampusAppWP8.Model.Campusmap /// public double ImageHeight { get; set; } + /// + /// Gets or sets the ZIndex of the pin + /// public int ZIndex { get; set; } /// @@ -131,30 +175,20 @@ namespace CampusAppWP8.Model.Campusmap } } + /// + /// Gets or sets the tag of the pin + /// public object Tag { get; set; } - public static string CurrendPositionPlacePinString - { - get { return MapPinModel.currendPositionPlacePinString; } - } - public static string SearchPlacePinString - { - get { return MapPinModel.searchPlacePinString; } - } - - public static string HiddenPlacePinString - { - get { return MapPinModel.hiddenPlacePinString; } - } - - public static string InfoPlacePinString - { - get { return MapPinModel.infoPlacePinString; } - } #endregion #region Method + /// + /// Method convert PinType to a string + /// + /// type of the Pin + /// PinType as string public static string PinTypeToString(PinType type) { string result = null; @@ -162,21 +196,22 @@ namespace CampusAppWP8.Model.Campusmap switch (type) { case PinType.CurrentPosition: - result = "CurrentPositionPin"; + result = MapPinModel.currendPositionPlacePinString; break; case PinType.Hidden: - result = "HiddenPin"; + result = MapPinModel.hiddenPlacePinString; break; case PinType.InfoPlace: - result = "InfoPin"; + result = MapPinModel.infoPlacePinString; break; case PinType.SearchPlace: - result = "SearchPlacePin"; + result = MapPinModel.searchPlacePinString; break; default: result = string.Empty; break; } + return result; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs index 8fef3500..63b8f00d 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs @@ -8,8 +8,6 @@ namespace CampusAppWP8.Model.Campusmap { - using System.Collections.Generic; - using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; /// Search pin place model. diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index f0170ebe..bc33f12e 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -15,7 +15,9 @@ namespace CampusAppWP8.Pages.Campusmap using System.Runtime.InteropServices.WindowsRuntime; using System.Threading; using System.Windows; + using System.Windows.Controls; using System.Windows.Navigation; + using CampusAppWP8.File.Places; using CampusAppWP8.Model.Campusmap; using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; @@ -25,9 +27,6 @@ namespace CampusAppWP8.Pages.Campusmap using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using Windows.Networking.Proximity; - using CampusAppWP8.File.Places; - using System.Windows.Controls; - using System.ComponentModel; /// Class for the campusMap page. /// Stubbfel, 19.08.2013. @@ -56,6 +55,16 @@ namespace CampusAppWP8.Pages.Campusmap /// private bool qrcodeScan = false; + /// + /// Variable for the last query + /// + private string lastQuery; + + /// + /// Flag which indicates the map show information of all buildings + /// + private bool buildInfoEnable; + #endregion #region Constructor @@ -66,7 +75,6 @@ namespace CampusAppWP8.Pages.Campusmap { this.InitializeComponent(); - ApplicationBarMenuItem menuItem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem; ApplicationBarMenuItem menuItem2 = ApplicationBar.MenuItems[1] as ApplicationBarMenuItem; ApplicationBarMenuItem menuItem3 = ApplicationBar.MenuItems[2] as ApplicationBarMenuItem; @@ -81,7 +89,6 @@ namespace CampusAppWP8.Pages.Campusmap menuItem2.Text = AppResources.CampusMapApp_ScanNfc; } - if (menuItem3 != null) { menuItem3.Text = AppResources.CampusMapApp_EnableBuildInfo; @@ -100,11 +107,16 @@ namespace CampusAppWP8.Pages.Campusmap #region Events + /// + /// Delegate for LoadingPlace events + /// + /// the events args public delegate void LoadingPlace(string args); + /// + /// Event for loading places + /// public event LoadingPlace OnLoadingPlace; - private string lastQuery; - private bool buildInfoEnable; #endregion #region Method @@ -155,12 +167,21 @@ namespace CampusAppWP8.Pages.Campusmap #region private + /// + /// Method set the lastQuery and register to OnLoadingPlace-Event + /// + /// the query string + /// the event callback private void SetLastQuery(string query, Action action) { this.lastQuery = query; this.OnLoadingPlace = new CampusMapPage.LoadingPlace(action); } + /// + /// Method shows certain places as hidden Pin + /// + /// the query string private void ShowPlacesByQueryAsHiddenPin(string query) { if (!this.IsMapReady()) @@ -173,9 +194,12 @@ namespace CampusAppWP8.Pages.Campusmap } } + /// + /// Method shows certain places as search Pin + /// + /// the query string private void ShowPlacesByQueryAsSearchPin(string query) { - if (!this.IsMapReady()) { this.SetLastQuery(query, this.ShowPlacesByQueryAsSearchPin); @@ -187,21 +211,37 @@ namespace CampusAppWP8.Pages.Campusmap { allPlaces = true; } + this.ShowPlacesByQuery(query, MapPinModel.PinType.SearchPlace, allPlaces); } - } + /// + /// Method show all places, which match with the query as a pin + /// + /// the query string + /// the type of the pin + /// if its true then send query to the place file otherwise to the CampusMapModel private void ShowPlacesByQuery(string query, MapPinModel.PinType pintype, bool allPlaces) { this.AddPins(this.SearchPlaces(query, allPlaces), pintype); } - private void showPlacesByPlaceId(string placeId, MapPinModel.PinType pintype, bool allPlaces) + /// + /// Method show all places by placeId + /// + /// the placeId + /// the type of the pin + /// if its true then send query to the place file otherwise to the CampusMapModel + private void ShowPlacesByPlaceId(string placeId, MapPinModel.PinType pintype, bool allPlaces) { this.AddPinsByPids(new List() { placeId }, pintype, false, allPlaces); } + /// + /// Method shows places by placeId from place file as search Pin + /// + /// the placeId private void ShowAllPlacesByPlaceIdAsSearchPin(string placeId) { if (!this.IsMapReady()) @@ -210,10 +250,14 @@ namespace CampusAppWP8.Pages.Campusmap } else { - this.showPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, true); + this.ShowPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, true); } } + /// + /// Method shows places by placeId from CampusMapModel as search Pin + /// + /// the placeId private void ShowPlacesByPlaceIdAsSearchPin(string placeId) { if (!this.IsMapReady()) @@ -222,15 +266,19 @@ namespace CampusAppWP8.Pages.Campusmap } else { - this.showPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, false); + this.ShowPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, false); } } - private void ShowAllCampusBuilding(string placeId) + /// + /// Method show all buildings of a campus + /// + /// the id of the campus + private void ShowAllCampusBuilding(string campusId) { if (!this.IsMapReady()) { - this.SetLastQuery(placeId, ShowAllCampusBuilding); + this.SetLastQuery(campusId, this.ShowAllCampusBuilding); } else { @@ -238,14 +286,23 @@ namespace CampusAppWP8.Pages.Campusmap } } + /// + /// Method check if the map loading is finish + /// + /// true, if the map is ready to use, otherwise false private bool IsMapReady() { - if (this.campusMap == null || !campusMap.IsReady) + if (this.campusMap == null || !this.campusMap.IsReady) { return false; } + return true; } + + /// + /// Method will be execute if the place file is ready + /// private void FileIsReady() { this.campusMap = new CBMainMapModel(this.file.Model.Places.ToList()); @@ -257,7 +314,7 @@ namespace CampusAppWP8.Pages.Campusmap } } - /// Button click method. + /// TextSearch click method. /// Stubbfel, 19.08.2013. /// caller object. /// some EventArgs. @@ -274,12 +331,17 @@ namespace CampusAppWP8.Pages.Campusmap this.ShowPlacesByQueryAsSearchPin(query); } + /// + /// Method insert or remove the buildings pins + /// + /// caller object. + /// some EventArgs. private void ShowBuildingsInformation(object sender, EventArgs e) { string menuText; if (!this.buildInfoEnable) { - this.ShowAllCampusBuilding(""); + this.ShowAllCampusBuilding(string.Empty); this.buildInfoEnable = true; menuText = AppResources.CampusMapApp_DisableBuildInfo; } @@ -294,9 +356,12 @@ namespace CampusAppWP8.Pages.Campusmap item.Text = menuText; } + /// + /// Method clear the Map + /// + /// (optional) tags of the UIElement private void ClearMap(List removeTags = null) { - if (removeTags == null) { MapCanvas.Children.Clear(); @@ -319,14 +384,15 @@ namespace CampusAppWP8.Pages.Campusmap } } } - } + /// /// Method adds pin to the map by given list of placeId /// /// list of placeId /// type of pin /// (optional) if its true, clear canvas before adding + /// (optional) if its true, load place from place file, otherwise from CampusMapModel private void AddPinsByPids(List pidList, MapPinModel.PinType pinType, bool clearCanvas = true, bool allPlaces = false) { // clear canvas @@ -453,6 +519,7 @@ namespace CampusAppWP8.Pages.Campusmap /// Searches for the first places. /// Stubbfel, 19.08.2013. /// The query. + /// (optional) if its true, search places in place file, otherwise in CampusMapModel /// The found places. private List SearchPlaces(string query, bool allPlaces = false) { @@ -480,7 +547,6 @@ namespace CampusAppWP8.Pages.Campusmap this.informationsNames.Add(Constants.PisInformationName_ShortName); } - return spatial.GetPlacesByInformation(query, true, this.informationsNames); } @@ -497,6 +563,7 @@ namespace CampusAppWP8.Pages.Campusmap { continue; } + GeoCoordinate coor = place.GeoRefPoint; if (coor != null) { @@ -661,7 +728,6 @@ namespace CampusAppWP8.Pages.Campusmap foreach (PlaceModel place in places) { - if (place.ParentId.Equals(this.campusMap.CampusId) && this.HasRooms(place.PlaceId)) { MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox(AppResources.MsgBox_ShowRoomList); @@ -691,6 +757,7 @@ namespace CampusAppWP8.Pages.Campusmap return true; } } + return false; } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs index fe532e6d..023cde77 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs @@ -19,10 +19,10 @@ namespace CampusAppWP8.Pages.Dev using System.Windows; using System.Windows.Media.Imaging; using CampusAppWP8.Resources; + using CampusAppWP8.Utility; using Microsoft.Devices; using Microsoft.Phone.Controls; using ZXing; - using CampusAppWP8.Utility; /// /// QR Code scanner. @@ -36,20 +36,23 @@ namespace CampusAppWP8.Pages.Dev /// Thread for transfer the preview image to the reader. private Thread captureThread = null; - + /// For ending the thread. private volatile bool captureThreadExit = false; - + /// QR reader object. private IBarcodeReader barcodeReader = null; - + /// Bitmap for transfer the camera image to the reader. private WriteableBitmap bit = null; /// true if this object is in autofocus. private bool isInAutofocus = false; - private string ResultAppStoreKey; + /// + /// Variable for the storage key of the result + /// + private string resultAppStoreKey; #endregion @@ -78,13 +81,14 @@ namespace CampusAppWP8.Pages.Dev { if (NavigationContext.QueryString.ContainsKey(Constants.ParamQRResultKey)) { - this.ResultAppStoreKey = NavigationContext.QueryString[Constants.ParamQRResultKey]; + this.resultAppStoreKey = NavigationContext.QueryString[Constants.ParamQRResultKey]; } + this.cam = new PhotoCamera(CameraType.Primary); this.cam.Initialized += new EventHandler(this.Cam_Initialized); this.cam.AutoFocusCompleted += new EventHandler(this.Cam_AutoFocusCompl); this.bit = new WriteableBitmap((int)this.cam.PreviewResolution.Width, (int)this.cam.PreviewResolution.Height); - + this.camViewBrush.SetSource(this.cam); } else @@ -95,7 +99,7 @@ namespace CampusAppWP8.Pages.Dev }); } } - + /// /// Is called when this page will not be the current page of a frame. /// @@ -106,7 +110,7 @@ namespace CampusAppWP8.Pages.Dev { this.captureThreadExit = true; this.captureThread.Join(); - + this.cam.Dispose(); this.bit = null; @@ -123,23 +127,23 @@ namespace CampusAppWP8.Pages.Dev switch (e.Orientation) { - case PageOrientation.Landscape: - this.camViewBrushTransform.Rotation = 0; + case PageOrientation.Landscape: + this.camViewBrushTransform.Rotation = 0; break; - case PageOrientation.LandscapeLeft: - this.camViewBrushTransform.Rotation = 0; + case PageOrientation.LandscapeLeft: + this.camViewBrushTransform.Rotation = 0; break; - case PageOrientation.LandscapeRight: - this.camViewBrushTransform.Rotation = 180; + case PageOrientation.LandscapeRight: + this.camViewBrushTransform.Rotation = 180; break; - case PageOrientation.Portrait: - this.camViewBrushTransform.Rotation = 90; + case PageOrientation.Portrait: + this.camViewBrushTransform.Rotation = 90; break; - case PageOrientation.PortraitUp: - this.camViewBrushTransform.Rotation = 90; + case PageOrientation.PortraitUp: + this.camViewBrushTransform.Rotation = 90; break; - case PageOrientation.PortraitDown: - this.camViewBrushTransform.Rotation = 270; + case PageOrientation.PortraitDown: + this.camViewBrushTransform.Rotation = 270; break; } } @@ -187,11 +191,11 @@ namespace CampusAppWP8.Pages.Dev if (this.cam.IsFocusAtPointSupported == true) { Point pos = e.GetPosition(this.camView); - + this.cam.FocusAtPoint( - pos.Y / this.camView.ActualHeight, + pos.Y / this.camView.ActualHeight, 1.0 - (pos.X / this.camView.ActualWidth)); - + this.isInAutofocus = true; } else if (this.cam.IsFocusSupported == true) @@ -212,17 +216,16 @@ namespace CampusAppWP8.Pages.Dev Array.Copy(img, this.bit.Pixels, img.Length); var result = this.barcodeReader.Decode(this.bit); - + if (result != null) { Dispatcher.BeginInvoke(delegate { - if (this.ResultAppStoreKey != null) + if (this.resultAppStoreKey != null) { - if (NavigationService.CanGoBack) { - App.SaveToIsolatedStorage(this.ResultAppStoreKey, result.Text); + App.SaveToIsolatedStorage(this.resultAppStoreKey, result.Text); NavigationService.GoBack(); } else @@ -258,7 +261,7 @@ namespace CampusAppWP8.Pages.Dev this.OnCaptureImage(buffer, (int)resolution.Width, (int)resolution.Height); } - + System.Threading.Thread.Sleep(1000); } } diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml index 052f573c..fc444e49 100644 --- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml +++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml @@ -1,7 +1,7 @@  - + Assets\ApplicationIcon.png @@ -26,7 +26,7 @@ Assets\Tiles\kachel_small.png 0 Assets\Tiles\kachel_medium.png - BTU-CampusAp + BTU-CampusApp diff --git a/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs b/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs index 0e4d8707..a25d83e2 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs @@ -1,20 +1,30 @@ -using CampusAppWP8.Resources; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Navigation; +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 26.09.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Utility { - public class AppUriMapper : UriMapperBase - { - private string tempUri; + using System; + using System.Windows.Navigation; + using CampusAppWP8.Resources; - public override Uri MapUri(Uri uri) + /// + /// Class map Uri to AppPages + /// + public class AppUriMapper : UriMapperBase + { + /// + /// Method overrides MapUri from UriMapperBase + /// + /// the url + /// the mapped url + public override Uri MapUri(Uri uri) { - tempUri = uri.ToString(); + string tempUri = uri.ToString(); // Look for a URI from the lens picker. if (tempUri.Contains("ViewfinderLaunch")) From 995edbc32aca9a1e69c5ae5c8dae7939eaf5d158 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Thu, 26 Sep 2013 14:33:11 +0200 Subject: [PATCH 11/19] add svgs --- work/images/food/carotte.svg | 172 +++++++++++++++++++++++++++ work/images/food/chicken.svg | 64 ++++++++++ work/images/food/fish.svg | 64 ++++++++++ work/images/food/frei.svg | 63 ++++++++++ work/images/food/lamb.svg | 64 ++++++++++ work/images/food/pork.svg | 63 ++++++++++ work/images/food/steak.svg | 83 +++++++++++++ work/images/food/wild dish.svg | 64 ++++++++++ work/images/optionbuttons/prices.svg | 65 ++++++++++ work/images/optionbuttons/reload.svg | 59 +++++++++ work/images/others/section.svg | 58 +++++++++ 11 files changed, 819 insertions(+) create mode 100644 work/images/food/carotte.svg create mode 100644 work/images/food/chicken.svg create mode 100644 work/images/food/fish.svg create mode 100644 work/images/food/frei.svg create mode 100644 work/images/food/lamb.svg create mode 100644 work/images/food/pork.svg create mode 100644 work/images/food/steak.svg create mode 100644 work/images/food/wild dish.svg create mode 100644 work/images/optionbuttons/prices.svg create mode 100644 work/images/optionbuttons/reload.svg create mode 100644 work/images/others/section.svg diff --git a/work/images/food/carotte.svg b/work/images/food/carotte.svg new file mode 100644 index 00000000..ae2d87ce --- /dev/null +++ b/work/images/food/carotte.svg @@ -0,0 +1,172 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/work/images/food/chicken.svg b/work/images/food/chicken.svg new file mode 100644 index 00000000..d11621f7 --- /dev/null +++ b/work/images/food/chicken.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/work/images/food/fish.svg b/work/images/food/fish.svg new file mode 100644 index 00000000..88d93253 --- /dev/null +++ b/work/images/food/fish.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/work/images/food/frei.svg b/work/images/food/frei.svg new file mode 100644 index 00000000..49f0ebd5 --- /dev/null +++ b/work/images/food/frei.svg @@ -0,0 +1,63 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/work/images/food/lamb.svg b/work/images/food/lamb.svg new file mode 100644 index 00000000..24678b61 --- /dev/null +++ b/work/images/food/lamb.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/work/images/food/pork.svg b/work/images/food/pork.svg new file mode 100644 index 00000000..3ae39ccf --- /dev/null +++ b/work/images/food/pork.svg @@ -0,0 +1,63 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/work/images/food/steak.svg b/work/images/food/steak.svg new file mode 100644 index 00000000..52c59ba9 --- /dev/null +++ b/work/images/food/steak.svg @@ -0,0 +1,83 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/work/images/food/wild dish.svg b/work/images/food/wild dish.svg new file mode 100644 index 00000000..1be0be02 --- /dev/null +++ b/work/images/food/wild dish.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/work/images/optionbuttons/prices.svg b/work/images/optionbuttons/prices.svg new file mode 100644 index 00000000..c0b5ff5e --- /dev/null +++ b/work/images/optionbuttons/prices.svg @@ -0,0 +1,65 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/work/images/optionbuttons/reload.svg b/work/images/optionbuttons/reload.svg new file mode 100644 index 00000000..4f9cb6e7 --- /dev/null +++ b/work/images/optionbuttons/reload.svg @@ -0,0 +1,59 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/work/images/others/section.svg b/work/images/others/section.svg new file mode 100644 index 00000000..5882ba1a --- /dev/null +++ b/work/images/others/section.svg @@ -0,0 +1,58 @@ + + + + + + image/svg+xml + + + + + + + + + From 77b30b35c55917aa22d570f511af819fd5cc75c9 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Thu, 26 Sep 2013 15:39:37 +0200 Subject: [PATCH 12/19] fix releas issue --- .../Model/Campusmap/MapPinModel.cs | 9 +- .../Pages/Campusmap/CampusMapPage.xaml.cs | 4 +- .../CampusAppWP8/Resources/Constants.resx | 12 + .../Resources/Constants1.Designer.cs | 36 + Doc/html/annotated.html | 113 +- ..._1_geo_api_1_1_campus_sps_api-members.html | 2 +- ..._1_api_1_1_geo_api_1_1_campus_sps_api.html | 2 +- ...1_api_1_1_geo_api_1_1_pis_api-members.html | 2 +- ..._w_p8_1_1_api_1_1_geo_api_1_1_pis_api.html | 2 +- ...1_api_1_1_geo_api_1_1_pss_api-members.html | 2 +- ..._w_p8_1_1_api_1_1_geo_api_1_1_pss_api.html | 2 +- ...1_api_1_1_geo_api_1_1_sps_api-members.html | 2 +- ..._w_p8_1_1_api_1_1_geo_api_1_1_sps_api.html | 2 +- ...i_1_1_lecture_1_1_lecture_api-members.html | 2 +- ...8_1_1_api_1_1_lecture_1_1_lecture_api.html | 2 +- ..._person_1_1_person_search_api-members.html | 2 +- ..._api_1_1_person_1_1_person_search_api.html | 2 +- ...class_campus_app_w_p8_1_1_app-members.html | 2 +- Doc/html/class_campus_app_w_p8_1_1_app.html | 2 +- ...ass_campus_app_w_p8_1_1_const-members.html | 2 +- Doc/html/class_campus_app_w_p8_1_1_const.html | 2 +- ...partments_1_1_department_feed-members.html | 2 +- ...d_1_1_departments_1_1_department_feed.html | 2 +- ...eed_1_1_events_1_1_event_feed-members.html | 2 +- ...p8_1_1_feed_1_1_events_1_1_event_feed.html | 2 +- ..._feed_1_1_exams_1_1_exam_feed-members.html | 2 +- ...w_p8_1_1_feed_1_1_exams_1_1_exam_feed.html | 2 +- ...d_1_1_link_1_1_club_link_feed-members.html | 2 +- ..._1_1_feed_1_1_link_1_1_club_link_feed.html | 2 +- ...1_1_link_1_1_common_link_feed-members.html | 2 +- ..._1_feed_1_1_link_1_1_common_link_feed.html | 2 +- ...feed_1_1_mensa_1_1_mensa_feed-members.html | 2 +- ..._p8_1_1_feed_1_1_mensa_1_1_mensa_feed.html | 2 +- ...mensa_1_1_mensa_feed_c_b_main-members.html | 2 +- ...eed_1_1_mensa_1_1_mensa_feed_c_b_main.html | 2 +- ...ensa_1_1_mensa_feed_c_b_north-members.html | 2 +- ...ed_1_1_mensa_1_1_mensa_feed_c_b_north.html | 2 +- ...ensa_1_1_mensa_feed_c_b_south-members.html | 2 +- ...ed_1_1_mensa_1_1_mensa_feed_c_b_south.html | 2 +- ...nsa_1_1_mensa_feed_s_b_f_main-members.html | 2 +- ...d_1_1_mensa_1_1_mensa_feed_s_b_f_main.html | 2 +- ...1_feed_1_1_news_1_1_news_feed-members.html | 2 +- ..._w_p8_1_1_feed_1_1_news_1_1_news_feed.html | 2 +- ...nghours_1_1_openinghours_feed-members.html | 2 +- ..._1_openinghours_1_1_openinghours_feed.html | 2 +- ...ncil_1_1_student_council_feed-members.html | 2 +- ...dent_council_1_1_student_council_feed.html | 2 +- ...d_1_1_utility_1_1_course_feed-members.html | 2 +- ..._1_1_feed_1_1_utility_1_1_course_feed.html | 2 +- ..._1_1_department_favorite_file-members.html | 2 +- ...artments_1_1_department_favorite_file.html | 2 +- ..._file_1_1_exams_1_1_exam_file-members.html | 2 +- ...w_p8_1_1_file_1_1_exams_1_1_exam_file.html | 4 +- ...le_1_1_places_1_1_places_file-members.html | 5 +- ...8_1_1_file_1_1_places_1_1_places_file.html | 23 +- ..._p8_1_1_file_1_1_places_1_1_places_file.js | 3 +- ...pp_w_p8_1_1_localized_strings-members.html | 2 +- ...campus_app_w_p8_1_1_localized_strings.html | 2 +- ...p8_1_1_main_model_3_01_t_01_4-members.html | 2 +- ...s_app_w_p8_1_1_main_model_3_01_t_01_4.html | 6 +- ...p8_1_1_model_1_1_binary_model-members.html | 2 +- ...s_app_w_p8_1_1_model_1_1_binary_model.html | 4 +- ...pusmap_1_1_c_b_main_map_model-members.html | 30 +- ..._1_1_campusmap_1_1_c_b_main_map_model.html | 130 +- ...el_1_1_campusmap_1_1_c_b_main_map_model.js | 3 +- ...l_1_1_campusmap_1_1_c_b_main_map_model.png | Bin 1134 -> 1678 bytes ...ampusmap_1_1_campus_map_model-members.html | 153 + ...el_1_1_campusmap_1_1_campus_map_model.html | 343 + ...odel_1_1_campusmap_1_1_campus_map_model.js | 6 + ...del_1_1_campusmap_1_1_campus_map_model.png | Bin 0 -> 1680 bytes ..._1_click_able_place_pin_model-members.html | 142 + ...pusmap_1_1_click_able_place_pin_model.html | 298 + ...ampusmap_1_1_click_able_place_pin_model.js | 6 + ...mpusmap_1_1_click_able_place_pin_model.png | Bin 0 -> 2433 bytes ..._1_current_position_pin_model-members.html | 19 +- ...pusmap_1_1_current_position_pin_model.html | 27 +- ...ap_1_1_hidden_pin_place_model-members.html | 18 +- ..._campusmap_1_1_hidden_pin_place_model.html | 62 +- ..._1_campusmap_1_1_hidden_pin_place_model.js | 4 + ...smap_1_1_info_place_pin_model-members.html | 143 + ..._1_campusmap_1_1_info_place_pin_model.html | 200 + ..._1_1_campusmap_1_1_info_place_pin_model.js | 4 + ...1_1_campusmap_1_1_info_place_pin_model.png | Bin 0 -> 1826 bytes ...l_1_1_campusmap_1_1_map_model-members.html | 26 +- ...1_1_model_1_1_campusmap_1_1_map_model.html | 193 +- ...8_1_1_model_1_1_campusmap_1_1_map_model.js | 16 +- ..._1_1_model_1_1_campusmap_1_1_map_model.png | Bin 1138 -> 1684 bytes ...1_campusmap_1_1_map_pin_model-members.html | 17 +- ...model_1_1_campusmap_1_1_map_pin_model.html | 207 +- ...1_model_1_1_campusmap_1_1_map_pin_model.js | 7 +- ..._model_1_1_campusmap_1_1_map_pin_model.png | Bin 2075 -> 3362 bytes ...ap_1_1_search_place_pin_model-members.html | 20 +- ..._campusmap_1_1_search_place_pin_model.html | 42 +- ...1_campusmap_1_1_search_place_pin_model.png | Bin 1196 -> 1837 bytes ...1_departments_1_1_chair_model-members.html | 2 +- ...model_1_1_departments_1_1_chair_model.html | 2 +- ...artments_1_1_department_model-members.html | 2 +- ..._1_1_departments_1_1_department_model.html | 2 +- ...departments_1_1_faculty_model-members.html | 2 +- ...del_1_1_departments_1_1_faculty_model.html | 2 +- ...1_1_exams_1_1_exam_list_model-members.html | 2 +- ...1_model_1_1_exams_1_1_exam_list_model.html | 2 +- ...odel_1_1_exams_1_1_exam_model-members.html | 2 +- ...p8_1_1_model_1_1_exams_1_1_exam_model.html | 2 +- ...1_campus_building_layer_model-members.html | 127 + ...eo_db_1_1_campus_building_layer_model.html | 231 + ..._geo_db_1_1_campus_building_layer_model.js | 6 + ..._db_1_1_campus_building_model-members.html | 128 + ..._1_1_geo_db_1_1_campus_building_model.html | 261 + ...el_1_1_geo_db_1_1_campus_building_model.js | 7 + ..._geo_db_1_1_place_information-members.html | 2 +- ...odel_1_1_geo_db_1_1_place_information.html | 2 +- ...el_1_1_geo_db_1_1_place_model-members.html | 12 +- ..._1_1_model_1_1_geo_db_1_1_place_model.html | 55 +- ...p8_1_1_model_1_1_geo_db_1_1_place_model.js | 2 + ..._1_1_geo_db_1_1_place_service-members.html | 2 +- ..._1_model_1_1_geo_db_1_1_place_service.html | 2 +- ...odel_1_1_geo_db_1_1_sps_model-members.html | 4 +- ...p8_1_1_model_1_1_geo_db_1_1_sps_model.html | 16 +- ...w_p8_1_1_model_1_1_geo_db_1_1_sps_model.js | 2 +- ..._lecture_1_1_lecture_activity-members.html | 2 +- ...odel_1_1_lecture_1_1_lecture_activity.html | 2 +- ..._1_lecture_1_1_lecture_course-members.html | 2 +- ..._model_1_1_lecture_1_1_lecture_course.html | 2 +- ..._1_1_lecture_1_1_lecture_date-members.html | 2 +- ..._1_model_1_1_lecture_1_1_lecture_date.html | 2 +- ..._lecture_1_1_lecture_lecturer-members.html | 2 +- ...odel_1_1_lecture_1_1_lecture_lecturer.html | 2 +- ..._1_1_lecture_1_1_lecture_list-members.html | 2 +- ..._1_model_1_1_lecture_1_1_lecture_list.html | 2 +- ..._1_lecture_1_1_lecture_module-members.html | 2 +- ..._model_1_1_lecture_1_1_lecture_module.html | 2 +- ...ecture_1_1_lecture_page_model-members.html | 2 +- ...el_1_1_lecture_1_1_lecture_page_model.html | 2 +- ..._1_1_link_1_1_link_list_model-members.html | 2 +- ..._1_model_1_1_link_1_1_link_list_model.html | 2 +- ...model_1_1_link_1_1_link_model-members.html | 2 +- ..._p8_1_1_model_1_1_link_1_1_link_model.html | 2 +- ...peninghours_institution_model-members.html | 2 +- ...rs_1_1_openinghours_institution_model.html | 2 +- ...ghours_1_1_openinghours_model-members.html | 2 +- ...1_openinghours_1_1_openinghours_model.html | 2 +- ...son_1_1_person_function_model-members.html | 2 +- ..._1_1_person_1_1_person_function_model.html | 2 +- ..._person_1_1_person_list_model-members.html | 2 +- ...odel_1_1_person_1_1_person_list_model.html | 2 +- ...l_1_1_person_1_1_person_model-members.html | 2 +- ...1_1_model_1_1_person_1_1_person_model.html | 2 +- ..._1_1_setting_1_1_app_settings-members.html | 2 +- ..._1_model_1_1_setting_1_1_app_settings.html | 2 +- ...setting_1_1_user_profil_model-members.html | 2 +- ...del_1_1_setting_1_1_user_profil_model.html | 2 +- ..._1_student_council_list_model-members.html | 2 +- ...ouncil_1_1_student_council_list_model.html | 2 +- ...cil_1_1_student_council_model-members.html | 2 +- ...ent_council_1_1_student_council_model.html | 2 +- ...s_list_picker_item_list_model-members.html | 2 +- ..._1_campus_list_picker_item_list_model.html | 2 +- ...e_list_picker_item_list_model-members.html | 2 +- ..._1_course_list_picker_item_list_model.html | 2 +- ..._1_1_utility_1_1_course_model-members.html | 2 +- ..._1_model_1_1_utility_1_1_course_model.html | 2 +- ...e_list_picker_item_list_model-members.html | 2 +- ..._1_degree_list_picker_item_list_model.html | 2 +- ...1_list_picker_item_list_model-members.html | 2 +- ...ility_1_1_list_picker_item_list_model.html | 2 +- ...ty_1_1_list_picker_item_model-members.html | 2 +- ..._1_utility_1_1_list_picker_item_model.html | 2 +- ...e_list_picker_item_list_model-members.html | 2 +- ..._1_1_role_list_picker_item_list_model.html | 2 +- ...r_list_picker_item_list_model-members.html | 2 +- ..._semester_list_picker_item_list_model.html | 2 +- ...del_1_1_xml_model_3_01_t_01_4-members.html | 2 +- ...8_1_1_model_1_1_xml_model_3_01_t_01_4.html | 4 +- ..._news_1_1_r_s_s_channel_model-members.html | 2 +- ...1events__news_1_1_r_s_s_channel_model.html | 2 +- ...1events__news_1_1_r_s_s_model-members.html | 2 +- ...model_1_1events__news_1_1_r_s_s_model.html | 2 +- ...campusmap_1_1_campus_map_page-members.html | 4 +- ...ges_1_1_campusmap_1_1_campus_map_page.html | 51 +- ...pages_1_1_campusmap_1_1_campus_map_page.js | 4 +- ..._campusmap_1_1_room_list_page-members.html | 126 + ...ages_1_1_campusmap_1_1_room_list_page.html | 208 + ..._pages_1_1_campusmap_1_1_room_list_page.js | 5 + ...pages_1_1_campusmap_1_1_room_list_page.png | Bin 0 -> 985 bytes ..._1_1_department_favorite_page-members.html | 2 +- ...artments_1_1_department_favorite_page.html | 2 +- ...nts_1_1_department_index_page-members.html | 2 +- ...departments_1_1_department_index_page.html | 2 +- ...ents_1_1_department_info_page-members.html | 2 +- ..._departments_1_1_department_info_page.html | 2 +- ...partments_1_1_department_page-members.html | 2 +- ...s_1_1_departments_1_1_department_page.html | 2 +- ...8_1_1_pages_1_1_dev_1_1_n_f_c-members.html | 2 +- ..._app_w_p8_1_1_pages_1_1_dev_1_1_n_f_c.html | 2 +- ...pages_1_1_dev_1_1_q_r_scanner-members.html | 2 +- ..._p8_1_1_pages_1_1_dev_1_1_q_r_scanner.html | 2 +- ...1_events_1_1_event_index_page-members.html | 2 +- ...pages_1_1_events_1_1_event_index_page.html | 2 +- ...ges_1_1_events_1_1_event_page-members.html | 2 +- ...8_1_1_pages_1_1_events_1_1_event_page.html | 2 +- ...1_1_pages_1_1_exams_1_1_exams-members.html | 2 +- ...pp_w_p8_1_1_pages_1_1_exams_1_1_exams.html | 2 +- ..._1_1_lecture_1_1_lecture_page-members.html | 2 +- ..._1_pages_1_1_lecture_1_1_lecture_page.html | 2 +- ..._1_lecture_1_1_modul_web_page-members.html | 2 +- ..._pages_1_1_lecture_1_1_modul_web_page.html | 2 +- ...ecture_1_1_result_detail_page-members.html | 2 +- ...es_1_1_lecture_1_1_result_detail_page.html | 2 +- ...s_1_1_lecture_1_1_result_page-members.html | 2 +- ...1_1_pages_1_1_lecture_1_1_result_page.html | 2 +- ...pages_1_1_links_1_1_link_page-members.html | 2 +- ..._p8_1_1_pages_1_1_links_1_1_link_page.html | 2 +- ...ages_1_1_mensa_1_1_mensa_page-members.html | 2 +- ...p8_1_1_pages_1_1_mensa_1_1_mensa_page.html | 2 +- ..._1_1_news_1_1_news_index_page-members.html | 2 +- ..._1_pages_1_1_news_1_1_news_index_page.html | 2 +- ..._pages_1_1_news_1_1_news_page-members.html | 2 +- ...w_p8_1_1_pages_1_1_news_1_1_news_page.html | 2 +- ...nghours_1_1_openinghours_page-members.html | 2 +- ..._1_openinghours_1_1_openinghours_page.html | 2 +- ...es_1_1_person_1_1_person_page-members.html | 2 +- ..._1_1_pages_1_1_person_1_1_person_page.html | 2 +- ...1_1_place_news_1_1_place_news-members.html | 2 +- ...1_pages_1_1_place_news_1_1_place_news.html | 2 +- ...s_1_1_place_news_1_1_show_pad-members.html | 2 +- ...1_1_pages_1_1_place_news_1_1_show_pad.html | 2 +- ..._setting_1_1_app_setting_page-members.html | 2 +- ...ages_1_1_setting_1_1_app_setting_page.html | 2 +- ...s_1_1_setting_1_1_user_profil-members.html | 2 +- ...1_1_pages_1_1_setting_1_1_user_profil.html | 2 +- ...w_p8_1_1_pages_1_1_start_page-members.html | 2 +- ...pus_app_w_p8_1_1_pages_1_1_start_page.html | 2 +- ...ncil_1_1_student_council_page-members.html | 2 +- ...dent_council_1_1_student_council_page.html | 2 +- ..._1_1_webmail_1_1_webmail_page-members.html | 2 +- ..._1_pages_1_1_webmail_1_1_webmail_page.html | 2 +- ...1_resources_1_1_app_resources-members.html | 193 +- ..._w_p8_1_1_resources_1_1_app_resources.html | 577 +- ...8_1_1_resources_1_1_constants-members.html | 210 +- ..._app_w_p8_1_1_resources_1_1_constants.html | 558 +- ..._w_p8_1_1_resources_1_1_icons-members.html | 25 +- ...mpus_app_w_p8_1_1_resources_1_1_icons.html | 27 +- ...app_w_p8_1_1_themelized_icons-members.html | 2 +- ..._campus_app_w_p8_1_1_themelized_icons.html | 2 +- ..._1_utility_1_1_app_uri_mapper-members.html | 125 + ...p_w_p8_1_1_utility_1_1_app_uri_mapper.html | 174 + ...app_w_p8_1_1_utility_1_1_app_uri_mapper.js | 4 + ...pp_w_p8_1_1_utility_1_1_app_uri_mapper.png | Bin 0 -> 767 bytes ..._utility_1_1_background_tasks-members.html | 132 + ...w_p8_1_1_utility_1_1_background_tasks.html | 395 + ..._w_p8_1_1_utility_1_1_background_tasks.png | Bin 0 -> 890 bytes ...app_w_p8_1_1_utility_1_1_file-members.html | 2 +- ..._campus_app_w_p8_1_1_utility_1_1_file.html | 2 +- ..._1_1_utility_1_1_http_request-members.html | 2 +- ...app_w_p8_1_1_utility_1_1_http_request.html | 6 +- ..._button_1_1_add_person_button-members.html | 2 +- ..._lui_1_1_button_1_1_add_person_button.html | 2 +- ...i_1_1_button_1_1_email_button-members.html | 2 +- ...y_1_1_lui_1_1_button_1_1_email_button.html | 2 +- ...1_button_1_1_go_to_map_button-members.html | 2 +- ...1_lui_1_1_button_1_1_go_to_map_button.html | 2 +- ...ui_1_1_button_1_1_link_button-members.html | 2 +- ...ty_1_1_lui_1_1_button_1_1_link_button.html | 2 +- ..._1_button_1_1_navigate_button-members.html | 2 +- ..._1_lui_1_1_button_1_1_navigate_button.html | 2 +- ...i_1_1_button_1_1_phone_button-members.html | 2 +- ...y_1_1_lui_1_1_button_1_1_phone_button.html | 2 +- ..._1_1_button_1_1_toggle_button-members.html | 2 +- ..._1_1_lui_1_1_button_1_1_toggle_button.html | 2 +- ...ton_1_1_update_button_app_bar-members.html | 2 +- ..._1_1_button_1_1_update_button_app_bar.html | 2 +- ...ssage_boxes_1_1_message_boxes-members.html | 4 +- ...i_1_1_message_boxes_1_1_message_boxes.html | 76 +- ...ui_1_1_tiles_1_1_tile_creator-members.html | 138 + ...ty_1_1_lui_1_1_tiles_1_1_tile_creator.html | 583 ++ ...1_n_d_e_f_1_1_n_d_e_f_message-members.html | 2 +- ...ility_1_1_n_d_e_f_1_1_n_d_e_f_message.html | 2 +- ..._1_n_d_e_f_1_1_n_d_e_f_record-members.html | 2 +- ...tility_1_1_n_d_e_f_1_1_n_d_e_f_record.html | 2 +- ..._e_f_1_1_n_d_e_f_short_record-members.html | 2 +- ..._1_1_n_d_e_f_1_1_n_d_e_f_short_record.html | 2 +- ...tility_1_1_wp8_string_manager-members.html | 125 + ...p8_1_1_utility_1_1_wp8_string_manager.html | 182 + ..._p8_1_1_utility_1_1_wp8_string_manager.png | Bin 0 -> 901 bytes Doc/html/classes.html | 94 +- .../dir_0a0262648802c8fa7405f815eca989e4.html | 6 +- .../dir_1073e9f439c87c111068755896d82c05.html | 12 +- .../dir_13969638f06df799347bce25efcb3a16.html | 2 +- .../dir_1e89dfdb9d4d50bacf2577fc78794113.html | 2 +- .../dir_1f7bea527d40bc6ff1e54f3a346c52b5.html | 2 +- .../dir_21535ccf759c2a522698b0b6a65b0eb5.html | 2 +- .../dir_22bd72e89ab0c7abb2cc4e3b7914098b.html | 2 +- .../dir_260538ef58c3b2d770d235075767b5f3.html | 2 +- .../dir_2a8f810c3f9bbb1cb1ccf83264a53774.html | 8 +- .../dir_2d311ea570d9e1c140e3775582f0c6e6.html | 2 +- .../dir_2d53bace0827e2bf2f77ef9b5661f678.html | 2 +- .../dir_2e4c52cdd3a16f2658440aaed6780038.html | 2 +- .../dir_3069c293289ffc8b1eaeb414383f0330.html | 2 +- .../dir_3a37fd1d1070d6af9ff5cd68183698ae.html | 2 +- .../dir_43c9fdb099d661ab6adf29f06188c90c.html | 4 +- .../dir_477e33b8191ddb2f3b5c3d5321c4e514.html | 120 + .../dir_4ee4bf09d6a96bb5475eb8efb397b98b.html | 2 +- .../dir_509987112254783059c319bb82e76b2c.html | 2 +- .../dir_5c98643b9389ced1ed40ac3e2ee6663b.html | 2 +- .../dir_65cdd8f9a89f287025a75baa02195739.html | 2 +- .../dir_6739d22265f79723af173738d7f6d953.html | 2 +- .../dir_6bacb8829aeb51ed3b0d715b6a3da162.html | 2 +- .../dir_6c1b508c19440a399d17c73bbbf14cb6.html | 2 +- .../dir_6de442f01690ad19364998fec61f3845.html | 2 +- .../dir_7992d2ae2f44549358f6bbac582ef56c.html | 6 +- .../dir_7a51c29c1befe101dd22bbebdf705380.html | 2 +- .../dir_7a675df7c0487495e5d7174785e128d2.html | 2 +- .../dir_7a99fdd31a98a31099104efa5ba7a2da.html | 6 +- .../dir_832adee00745a2b3f17c7f1d9660512e.html | 2 +- .../dir_8a37a4c4828444fc14a2f1c55276bdf2.html | 2 +- .../dir_8e3a2ac13f9d3c82d306e28c1686b236.html | 4 +- .../dir_8effc334115523b582ac57fdba9e762a.html | 4 +- .../dir_93a662dedef0a167f025fa842da5b025.html | 2 +- .../dir_94a3c87faf1cdd82a3495145ee0aff56.html | 2 +- .../dir_9ec96b030a893d44df644289638c5455.html | 2 +- .../dir_a033c9188cea1fd2a564ed3cf29418b4.html | 2 +- .../dir_a0ebebac0ae99ab714c5bf902b1ad5c0.html | 2 +- .../dir_a5fcb04b8b0735837b04f86a241ed5b1.html | 2 +- .../dir_a735660f957d8d1a000b355f98fd7884.html | 2 +- .../dir_af3a313bd21a45ca7168411249229c16.html | 2 +- .../dir_c154d338c005f2e85e1a3d28073a1a22.html | 2 +- .../dir_c2e72ee4966602e4b455c4ea040a3c82.html | 2 +- .../dir_c5add0b19063b6242461e8e811903b23.html | 6 +- .../dir_c96c24b29d5f5a7edd4a32cfcf0ce524.html | 2 +- .../dir_ccd35b6bf37d1a47cc7b6a40c3b9a180.html | 2 +- .../dir_d41793d8c394d152b5e09a3e26715b0f.html | 2 +- .../dir_d96a967f964c1de2cbce6cdd2c6f9987.html | 2 +- .../dir_d9db3ebc55258f4cde5becc6b132ed13.html | 2 +- .../dir_e27550e36c28d084ad98b84805daa5cc.html | 2 +- .../dir_e29671f860be0283b1e43fd2c2c54c8d.html | 2 +- .../dir_e2f9adba291616a9be30d9fa4c652277.html | 2 +- .../dir_e7609f5a50dfa281e7e0cb66859d2aae.html | 2 +- .../dir_eb8ec6a25613bee50fda0a22a7c3fec2.html | 2 +- .../dir_ec3d220e6deb3baaa30cfdec1c46791f.html | 2 +- .../dir_f430e31c3cc30ed9318a1321b6bff73e.html | 2 +- .../dir_f8272e37d6159d9ca7e64f5775e84948.html | 2 +- .../dir_fd54810065c522d18968f48cf271eca3.html | 2 +- Doc/html/functions.html | 11 +- Doc/html/functions_0x62.html | 5 +- Doc/html/functions_0x63.html | 111 +- Doc/html/functions_0x64.html | 20 +- Doc/html/functions_0x65.html | 4 +- Doc/html/functions_0x66.html | 19 +- Doc/html/functions_0x67.html | 12 +- Doc/html/functions_0x68.html | 12 +- Doc/html/functions_0x69.html | 39 +- Doc/html/functions_0x6c.html | 36 +- Doc/html/functions_0x6d.html | 67 +- Doc/html/functions_0x6e.html | 13 +- Doc/html/functions_0x6f.html | 44 +- Doc/html/functions_0x70.html | 67 +- Doc/html/functions_0x71.html | 4 +- Doc/html/functions_0x72.html | 14 +- Doc/html/functions_0x73.html | 75 +- Doc/html/functions_0x74.html | 33 +- Doc/html/functions_0x75.html | 25 +- Doc/html/functions_0x76.html | 5 +- Doc/html/functions_0x77.html | 4 +- Doc/html/functions_0x78.html | 7 +- Doc/html/functions_0x7a.html | 162 + Doc/html/functions_dup.js | 4 +- Doc/html/functions_enum.html | 2 +- Doc/html/functions_eval.html | 7 +- Doc/html/functions_evnt.html | 12 +- Doc/html/functions_func.html | 6 +- Doc/html/functions_func_0x62.html | 2 +- Doc/html/functions_func_0x63.html | 66 +- Doc/html/functions_func_0x64.html | 12 +- Doc/html/functions_func_0x65.html | 2 +- Doc/html/functions_func_0x66.html | 5 +- Doc/html/functions_func_0x67.html | 10 +- Doc/html/functions_func_0x68.html | 7 +- Doc/html/functions_func_0x69.html | 8 +- Doc/html/functions_func_0x6c.html | 21 +- Doc/html/functions_func_0x6d.html | 14 +- Doc/html/functions_func_0x6e.html | 2 +- Doc/html/functions_func_0x6f.html | 27 +- Doc/html/functions_func_0x70.html | 5 +- Doc/html/functions_func_0x71.html | 2 +- Doc/html/functions_func_0x72.html | 11 +- Doc/html/functions_func_0x73.html | 45 +- Doc/html/functions_func_0x74.html | 6 +- Doc/html/functions_func_0x75.html | 5 +- Doc/html/functions_func_0x77.html | 2 +- Doc/html/functions_func_0x78.html | 2 +- Doc/html/functions_prop.html | 8 +- Doc/html/functions_prop.js | 3 +- Doc/html/functions_prop_0x62.html | 8 +- Doc/html/functions_prop_0x63.html | 58 +- Doc/html/functions_prop_0x64.html | 17 +- Doc/html/functions_prop_0x65.html | 5 +- Doc/html/functions_prop_0x66.html | 5 +- Doc/html/functions_prop_0x67.html | 5 +- Doc/html/functions_prop_0x68.html | 8 +- Doc/html/functions_prop_0x69.html | 27 +- Doc/html/functions_prop_0x6c.html | 16 +- Doc/html/functions_prop_0x6d.html | 56 +- Doc/html/functions_prop_0x6e.html | 12 +- Doc/html/functions_prop_0x6f.html | 5 +- Doc/html/functions_prop_0x70.html | 65 +- Doc/html/functions_prop_0x71.html | 5 +- Doc/html/functions_prop_0x72.html | 12 +- Doc/html/functions_prop_0x73.html | 18 +- Doc/html/functions_prop_0x74.html | 28 +- Doc/html/functions_prop_0x75.html | 23 +- Doc/html/functions_prop_0x76.html | 6 +- Doc/html/functions_prop_0x77.html | 5 +- Doc/html/functions_prop_0x7a.html | 161 + Doc/html/functions_vars.html | 5 +- Doc/html/hierarchy.html | 275 +- Doc/html/hierarchy.js | 33 +- Doc/html/index.html | 2 +- Doc/html/namespace_campus_app_w_p8.html | 2 +- .../namespace_campus_app_w_p8_1_1_api.html | 2 +- ...e_campus_app_w_p8_1_1_api_1_1_geo_api.html | 2 +- ...e_campus_app_w_p8_1_1_api_1_1_lecture.html | 2 +- ...ce_campus_app_w_p8_1_1_api_1_1_person.html | 2 +- .../namespace_campus_app_w_p8_1_1_feed.html | 2 +- ...pus_app_w_p8_1_1_feed_1_1_departments.html | 2 +- ...e_campus_app_w_p8_1_1_feed_1_1_events.html | 2 +- ...ce_campus_app_w_p8_1_1_feed_1_1_exams.html | 2 +- ...ace_campus_app_w_p8_1_1_feed_1_1_link.html | 2 +- ...ce_campus_app_w_p8_1_1_feed_1_1_mensa.html | 2 +- ...ace_campus_app_w_p8_1_1_feed_1_1_news.html | 2 +- ...us_app_w_p8_1_1_feed_1_1_openinghours.html | 2 +- ...app_w_p8_1_1_feed_1_1_student_council.html | 2 +- ..._campus_app_w_p8_1_1_feed_1_1_utility.html | 2 +- .../namespace_campus_app_w_p8_1_1_file.html | 2 +- ...pus_app_w_p8_1_1_file_1_1_departments.html | 2 +- ...ce_campus_app_w_p8_1_1_file_1_1_exams.html | 2 +- ...e_campus_app_w_p8_1_1_file_1_1_places.html | 2 +- .../namespace_campus_app_w_p8_1_1_model.html | 6 +- .../namespace_campus_app_w_p8_1_1_model.js | 2 - ...mpus_app_w_p8_1_1_model_1_1_campusmap.html | 11 +- ...campus_app_w_p8_1_1_model_1_1_campusmap.js | 5 +- ...us_app_w_p8_1_1_model_1_1_departments.html | 2 +- ...e_campus_app_w_p8_1_1_model_1_1_exams.html | 2 +- ..._campus_app_w_p8_1_1_model_1_1_geo_db.html | 8 +- ...ce_campus_app_w_p8_1_1_model_1_1_geo_db.js | 2 + ...campus_app_w_p8_1_1_model_1_1_lecture.html | 2 +- ...ce_campus_app_w_p8_1_1_model_1_1_link.html | 2 +- ...s_app_w_p8_1_1_model_1_1_openinghours.html | 2 +- ..._campus_app_w_p8_1_1_model_1_1_person.html | 2 +- ...campus_app_w_p8_1_1_model_1_1_setting.html | 2 +- ...pp_w_p8_1_1_model_1_1_student_council.html | 2 +- ...campus_app_w_p8_1_1_model_1_1_utility.html | 8 +- ...e_campus_app_w_p8_1_1_model_1_1_utility.js | 4 +- ...us_app_w_p8_1_1_model_1_1events__news.html | 2 +- .../namespace_campus_app_w_p8_1_1_pages.html | 2 +- ...mpus_app_w_p8_1_1_pages_1_1_campusmap.html | 5 +- ...campus_app_w_p8_1_1_pages_1_1_campusmap.js | 3 +- ...us_app_w_p8_1_1_pages_1_1_departments.html | 2 +- ...ace_campus_app_w_p8_1_1_pages_1_1_dev.html | 2 +- ..._campus_app_w_p8_1_1_pages_1_1_events.html | 2 +- ...e_campus_app_w_p8_1_1_pages_1_1_exams.html | 2 +- ...campus_app_w_p8_1_1_pages_1_1_lecture.html | 2 +- ...e_campus_app_w_p8_1_1_pages_1_1_links.html | 2 +- ...e_campus_app_w_p8_1_1_pages_1_1_mensa.html | 2 +- ...ce_campus_app_w_p8_1_1_pages_1_1_news.html | 2 +- ...s_app_w_p8_1_1_pages_1_1_openinghours.html | 2 +- ..._campus_app_w_p8_1_1_pages_1_1_person.html | 2 +- ...pus_app_w_p8_1_1_pages_1_1_place_news.html | 2 +- ...campus_app_w_p8_1_1_pages_1_1_setting.html | 2 +- ...pp_w_p8_1_1_pages_1_1_student_council.html | 2 +- ...campus_app_w_p8_1_1_pages_1_1_webmail.html | 2 +- ...mespace_campus_app_w_p8_1_1_resources.html | 2 +- ...namespace_campus_app_w_p8_1_1_utility.html | 18 +- .../namespace_campus_app_w_p8_1_1_utility.js | 5 +- ...e_campus_app_w_p8_1_1_utility_1_1_lui.html | 4 +- ...ace_campus_app_w_p8_1_1_utility_1_1_lui.js | 3 +- ...p_w_p8_1_1_utility_1_1_lui_1_1_button.html | 2 +- ...1_1_utility_1_1_lui_1_1_message_boxes.html | 2 +- ...pp_w_p8_1_1_utility_1_1_lui_1_1_tiles.html | 128 + ..._app_w_p8_1_1_utility_1_1_lui_1_1_tiles.js | 4 + ...mpus_app_w_p8_1_1_utility_1_1_n_d_e_f.html | 2 +- Doc/html/namespaces.html | 19 +- Doc/html/navtree.js | 6 +- Doc/html/navtreeindex0.js | 220 +- Doc/html/navtreeindex1.js | 370 +- Doc/html/navtreeindex2.js | 100 +- Doc/html/navtreeindex3.js | 107 +- Doc/html/search/all_61.js | 8 +- Doc/html/search/all_62.js | 5 +- Doc/html/search/all_63.js | 73 +- Doc/html/search/all_64.js | 9 +- Doc/html/search/all_66.js | 1 + Doc/html/search/all_67.js | 5 +- Doc/html/search/all_68.js | 2 + Doc/html/search/all_69.js | 13 +- Doc/html/search/all_6c.js | 18 +- Doc/html/search/all_6d.js | 34 +- Doc/html/search/all_6e.js | 11 +- Doc/html/search/all_6f.js | 3 +- Doc/html/search/all_70.js | 26 +- Doc/html/search/all_72.js | 11 +- Doc/html/search/all_73.js | 33 +- Doc/html/search/all_74.js | 12 +- Doc/html/search/all_75.js | 8 - Doc/html/search/all_76.js | 2 +- Doc/html/search/all_77.js | 3 +- Doc/html/search/all_78.js | 4 +- Doc/html/search/all_7a.html | 26 + Doc/html/search/all_7a.js | 4 + Doc/html/search/classes_61.js | 3 +- Doc/html/search/classes_62.js | 1 + Doc/html/search/classes_63.js | 5 +- Doc/html/search/classes_69.js | 3 +- Doc/html/search/classes_6c.js | 3 +- Doc/html/search/classes_6d.js | 3 - Doc/html/search/classes_72.js | 6 +- Doc/html/search/classes_74.js | 1 + Doc/html/search/classes_75.js | 1 - Doc/html/search/classes_77.js | 3 +- Doc/html/search/classes_78.js | 1 - Doc/html/search/enumvalues_69.js | 1 + Doc/html/search/events_6f.js | 1 + Doc/html/search/events_73.html | 26 + Doc/html/search/events_73.js | 4 + Doc/html/search/functions_61.js | 4 +- Doc/html/search/functions_63.js | 23 +- Doc/html/search/functions_64.js | 2 - Doc/html/search/functions_66.js | 1 + Doc/html/search/functions_67.js | 5 +- Doc/html/search/functions_68.js | 1 + Doc/html/search/functions_69.js | 4 +- Doc/html/search/functions_6c.js | 7 +- Doc/html/search/functions_6d.js | 6 +- Doc/html/search/functions_6f.js | 2 +- Doc/html/search/functions_70.js | 1 + Doc/html/search/functions_72.js | 4 +- Doc/html/search/functions_73.js | 13 +- Doc/html/search/functions_74.js | 2 +- Doc/html/search/functions_75.js | 1 - Doc/html/search/namespaces_63.js | 11 +- Doc/html/search/properties_61.js | 3 +- Doc/html/search/properties_62.js | 2 +- Doc/html/search/properties_63.js | 14 +- Doc/html/search/properties_64.js | 5 +- Doc/html/search/properties_68.js | 1 + Doc/html/search/properties_69.js | 9 +- Doc/html/search/properties_6c.js | 4 +- Doc/html/search/properties_6d.js | 19 +- Doc/html/search/properties_6e.js | 1 + Doc/html/search/properties_70.js | 19 +- Doc/html/search/properties_72.js | 1 + Doc/html/search/properties_73.js | 3 + Doc/html/search/properties_74.js | 9 +- Doc/html/search/properties_75.js | 6 - Doc/html/search/properties_76.js | 2 +- Doc/html/search/properties_7a.html | 26 + Doc/html/search/properties_7a.js | 4 + Doc/html/search/search.js | 8 +- Doc/latex/annotated.tex | 20 +- ...1_1_api_1_1_geo_api_1_1_campus_sps_api.pdf | 16 +- ...p_w_p8_1_1_api_1_1_geo_api_1_1_pis_api.pdf | 16 +- ...p_w_p8_1_1_api_1_1_geo_api_1_1_pss_api.pdf | 16 +- ...p_w_p8_1_1_api_1_1_geo_api_1_1_sps_api.pdf | 16 +- ...p8_1_1_api_1_1_lecture_1_1_lecture_api.pdf | 16 +- ...1_api_1_1_person_1_1_person_search_api.pdf | 16 +- Doc/latex/class_campus_app_w_p8_1_1_app.pdf | 16 +- ...ed_1_1_departments_1_1_department_feed.pdf | Bin 2894 -> 2894 bytes ..._p8_1_1_feed_1_1_events_1_1_event_feed.pdf | 16 +- ..._w_p8_1_1_feed_1_1_exams_1_1_exam_feed.pdf | 16 +- ...8_1_1_feed_1_1_link_1_1_club_link_feed.pdf | Bin 2838 -> 2838 bytes ...1_1_feed_1_1_link_1_1_common_link_feed.pdf | Bin 2894 -> 2886 bytes ...w_p8_1_1_feed_1_1_mensa_1_1_mensa_feed.pdf | Bin 3005 -> 3005 bytes ...feed_1_1_mensa_1_1_mensa_feed_c_b_main.pdf | Bin 2903 -> 2903 bytes ...eed_1_1_mensa_1_1_mensa_feed_c_b_north.pdf | 16 +- ...eed_1_1_mensa_1_1_mensa_feed_c_b_south.pdf | Bin 2900 -> 2900 bytes ...ed_1_1_mensa_1_1_mensa_feed_s_b_f_main.pdf | Bin 2901 -> 2901 bytes ...p_w_p8_1_1_feed_1_1_news_1_1_news_feed.pdf | 16 +- ...1_1_openinghours_1_1_openinghours_feed.pdf | Bin 2893 -> 2893 bytes ...udent_council_1_1_student_council_feed.pdf | Bin 2844 -> 2844 bytes ...8_1_1_feed_1_1_utility_1_1_course_feed.pdf | Bin 2901 -> 2901 bytes ...partments_1_1_department_favorite_file.pdf | Bin 2836 -> 2844 bytes ..._w_p8_1_1_file_1_1_exams_1_1_exam_file.pdf | 16 +- ...p8_1_1_file_1_1_places_1_1_places_file.pdf | Bin 2883 -> 2883 bytes ...p8_1_1_file_1_1_places_1_1_places_file.tex | 18 +- ...us_app_w_p8_1_1_main_model_3_01_t_01_4.pdf | Bin 2954 -> 2954 bytes ...us_app_w_p8_1_1_main_model_3_01_t_01_4.tex | 4 +- ...us_app_w_p8_1_1_model_1_1_binary_model.pdf | Bin 2898 -> 2898 bytes ...l_1_1_campusmap_1_1_c_b_main_map_model.eps | 14 +- ...l_1_1_campusmap_1_1_c_b_main_map_model.pdf | Bin 2823 -> 2960 bytes ...l_1_1_campusmap_1_1_c_b_main_map_model.tex | 33 +- ...del_1_1_campusmap_1_1_campus_map_model.eps | 203 + ...del_1_1_campusmap_1_1_campus_map_model.pdf | Bin 0 -> 2955 bytes ...del_1_1_campusmap_1_1_campus_map_model.tex | 97 + ...mpusmap_1_1_click_able_place_pin_model.eps | 209 + ...mpusmap_1_1_click_able_place_pin_model.pdf | 94 + ...mpusmap_1_1_click_able_place_pin_model.tex | 76 + ...mpusmap_1_1_current_position_pin_model.pdf | 16 +- ...1_campusmap_1_1_hidden_pin_place_model.pdf | Bin 2887 -> 2887 bytes ...1_campusmap_1_1_hidden_pin_place_model.tex | 19 + ...1_1_campusmap_1_1_info_place_pin_model.eps | 203 + ...1_1_campusmap_1_1_info_place_pin_model.pdf | Bin 0 -> 2971 bytes ...1_1_campusmap_1_1_info_place_pin_model.tex | 44 + ..._1_1_model_1_1_campusmap_1_1_map_model.eps | 14 +- ..._1_1_model_1_1_campusmap_1_1_map_model.pdf | Bin 2824 -> 2956 bytes ..._1_1_model_1_1_campusmap_1_1_map_model.tex | 123 +- ..._model_1_1_campusmap_1_1_map_pin_model.eps | 36 +- ..._model_1_1_campusmap_1_1_map_pin_model.pdf | Bin 3010 -> 3038 bytes ..._model_1_1_campusmap_1_1_map_pin_model.tex | 92 +- ...1_campusmap_1_1_search_place_pin_model.eps | 14 +- ...1_campusmap_1_1_search_place_pin_model.pdf | Bin 2834 -> 2972 bytes ...1_campusmap_1_1_search_place_pin_model.tex | 2 +- ...geo_db_1_1_campus_building_layer_model.tex | 69 + ...l_1_1_geo_db_1_1_campus_building_model.tex | 94 + ...model_1_1_geo_db_1_1_place_information.pdf | 16 +- ...8_1_1_model_1_1_geo_db_1_1_place_model.pdf | 16 +- ...8_1_1_model_1_1_geo_db_1_1_place_model.tex | 34 +- ...1_1_model_1_1_geo_db_1_1_place_service.pdf | 16 +- ..._p8_1_1_model_1_1_geo_db_1_1_sps_model.tex | 10 +- ...1_1_campus_list_picker_item_list_model.pdf | 16 +- ...1_1_course_list_picker_item_list_model.pdf | 16 +- ...1_1_model_1_1_utility_1_1_course_model.pdf | Bin 2891 -> 2891 bytes ...1_1_degree_list_picker_item_list_model.pdf | 16 +- ...tility_1_1_list_picker_item_list_model.pdf | Bin 3103 -> 3103 bytes ...y_1_1_role_list_picker_item_list_model.pdf | 16 +- ...1_semester_list_picker_item_list_model.pdf | Bin 2899 -> 2899 bytes ...p8_1_1_model_1_1_xml_model_3_01_t_01_4.pdf | 16 +- ..._1events__news_1_1_r_s_s_channel_model.pdf | 16 +- ..._model_1_1events__news_1_1_r_s_s_model.pdf | Bin 2824 -> 2824 bytes ...ages_1_1_campusmap_1_1_campus_map_page.pdf | Bin 2832 -> 2832 bytes ...ages_1_1_campusmap_1_1_campus_map_page.tex | 35 +- ...pages_1_1_campusmap_1_1_room_list_page.eps | 197 + ...pages_1_1_campusmap_1_1_room_list_page.pdf | 96 + ...pages_1_1_campusmap_1_1_room_list_page.tex | 69 + ...partments_1_1_department_favorite_page.pdf | Bin 2896 -> 2896 bytes ..._departments_1_1_department_index_page.pdf | 16 +- ...1_departments_1_1_department_info_page.pdf | 16 +- ...es_1_1_departments_1_1_department_page.pdf | 16 +- ...s_app_w_p8_1_1_pages_1_1_dev_1_1_n_f_c.pdf | Bin 2831 -> 2831 bytes ...w_p8_1_1_pages_1_1_dev_1_1_q_r_scanner.pdf | Bin 2887 -> 2887 bytes ..._pages_1_1_events_1_1_event_index_page.pdf | 16 +- ...p8_1_1_pages_1_1_events_1_1_event_page.pdf | 16 +- ...app_w_p8_1_1_pages_1_1_exams_1_1_exams.pdf | 16 +- ...1_1_pages_1_1_lecture_1_1_lecture_page.pdf | 16 +- ...1_pages_1_1_lecture_1_1_modul_web_page.pdf | Bin 2837 -> 2837 bytes ...ges_1_1_lecture_1_1_result_detail_page.pdf | 16 +- ..._1_1_pages_1_1_lecture_1_1_result_page.pdf | 16 +- ...w_p8_1_1_pages_1_1_links_1_1_link_page.pdf | 16 +- ..._p8_1_1_pages_1_1_mensa_1_1_mensa_page.pdf | 16 +- ...1_1_pages_1_1_news_1_1_news_index_page.pdf | Bin 2886 -> 2886 bytes ..._w_p8_1_1_pages_1_1_news_1_1_news_page.pdf | 16 +- ...1_1_openinghours_1_1_openinghours_page.pdf | 16 +- ...8_1_1_pages_1_1_person_1_1_person_page.pdf | Bin 2882 -> 2882 bytes ..._1_pages_1_1_place_news_1_1_place_news.pdf | 16 +- ..._1_1_pages_1_1_place_news_1_1_show_pad.pdf | Bin 2835 -> 2835 bytes ...pages_1_1_setting_1_1_app_setting_page.pdf | 16 +- ..._1_1_pages_1_1_setting_1_1_user_profil.pdf | 16 +- ...mpus_app_w_p8_1_1_pages_1_1_start_page.pdf | 16 +- ...udent_council_1_1_student_council_page.pdf | Bin 2836 -> 2836 bytes ...1_1_pages_1_1_webmail_1_1_webmail_page.pdf | 16 +- ...p_w_p8_1_1_resources_1_1_app_resources.tex | 207 +- ...s_app_w_p8_1_1_resources_1_1_constants.tex | 206 +- ...ampus_app_w_p8_1_1_resources_1_1_icons.tex | 9 + ...pp_w_p8_1_1_utility_1_1_app_uri_mapper.eps | 197 + ...pp_w_p8_1_1_utility_1_1_app_uri_mapper.pdf | 95 + ...pp_w_p8_1_1_utility_1_1_app_uri_mapper.tex | 51 + ..._w_p8_1_1_utility_1_1_background_tasks.eps | 197 + ..._w_p8_1_1_utility_1_1_background_tasks.pdf | 95 + ..._w_p8_1_1_utility_1_1_background_tasks.tex | 147 + ..._app_w_p8_1_1_utility_1_1_http_request.tex | 4 +- ...1_lui_1_1_button_1_1_add_person_button.pdf | 16 +- ...ty_1_1_lui_1_1_button_1_1_email_button.pdf | Bin 2826 -> 2826 bytes ..._1_lui_1_1_button_1_1_go_to_map_button.pdf | Bin 2832 -> 2832 bytes ...ity_1_1_lui_1_1_button_1_1_link_button.pdf | 16 +- ...1_1_lui_1_1_button_1_1_navigate_button.pdf | 16 +- ...ty_1_1_lui_1_1_button_1_1_phone_button.pdf | 16 +- ...y_1_1_lui_1_1_button_1_1_toggle_button.pdf | 16 +- ...i_1_1_button_1_1_update_button_app_bar.pdf | 16 +- ...ui_1_1_message_boxes_1_1_message_boxes.tex | 48 +- ...ity_1_1_lui_1_1_tiles_1_1_tile_creator.tex | 229 + ...utility_1_1_n_d_e_f_1_1_n_d_e_f_record.pdf | Bin 2830 -> 2830 bytes ...y_1_1_n_d_e_f_1_1_n_d_e_f_short_record.pdf | 16 +- ..._p8_1_1_utility_1_1_wp8_string_manager.eps | 197 + ..._p8_1_1_utility_1_1_wp8_string_manager.pdf | 96 + ..._p8_1_1_utility_1_1_wp8_string_manager.tex | 51 + .../dir_0a0262648802c8fa7405f815eca989e4.tex | 4 - .../dir_1073e9f439c87c111068755896d82c05.tex | 10 +- .../dir_2a8f810c3f9bbb1cb1ccf83264a53774.tex | 6 + .../dir_43c9fdb099d661ab6adf29f06188c90c.tex | 2 + .../dir_477e33b8191ddb2f3b5c3d5321c4e514.tex | 8 + .../dir_7992d2ae2f44549358f6bbac582ef56c.tex | 4 - .../dir_7a99fdd31a98a31099104efa5ba7a2da.tex | 4 + .../dir_8e3a2ac13f9d3c82d306e28c1686b236.tex | 2 + .../dir_8effc334115523b582ac57fdba9e762a.tex | 2 +- Doc/latex/hierarchy.tex | 34 +- .../namespace_campus_app_w_p8_1_1_model.tex | 4 - ...ampus_app_w_p8_1_1_model_1_1_campusmap.tex | 6 + ...e_campus_app_w_p8_1_1_model_1_1_geo_db.tex | 4 + ..._campus_app_w_p8_1_1_model_1_1_utility.tex | 6 +- ...ampus_app_w_p8_1_1_pages_1_1_campusmap.tex | 4 +- .../namespace_campus_app_w_p8_1_1_utility.tex | 12 +- ...ce_campus_app_w_p8_1_1_utility_1_1_lui.tex | 2 + ...app_w_p8_1_1_utility_1_1_lui_1_1_tiles.tex | 8 + Doc/latex/namespaces.tex | 3 +- Doc/latex/refman.tex | 29 +- ...bfel_gitrepos_CampusAppWP8_CampusAppWP8_.3 | 2 +- ..._CampusAppWP8_CampusAppWP8_CampusAppWP8_.3 | 2 +- ...pusAppWP8_CampusAppWP8_CampusAppWP8_Api_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Api_GeoApi_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Api_Lecture_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Api_Person_.3 | 2 +- ...usAppWP8_CampusAppWP8_CampusAppWP8_Feed_.3 | 2 +- ...pusAppWP8_CampusAppWP8_Feed_Departments_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Feed_Events_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Feed_Exams_.3 | 2 +- ...WP8_CampusAppWP8_CampusAppWP8_Feed_Link_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Feed_Mensa_.3 | 2 +- ...WP8_CampusAppWP8_CampusAppWP8_Feed_News_.3 | 2 +- ...usAppWP8_CampusAppWP8_Feed_Openinghours_.3 | 2 +- ...AppWP8_CampusAppWP8_Feed_StudentCouncil_.3 | 2 +- ..._CampusAppWP8_CampusAppWP8_Feed_Utility_.3 | 2 +- ...usAppWP8_CampusAppWP8_CampusAppWP8_File_.3 | 2 +- ...pusAppWP8_CampusAppWP8_File_Departments_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_File_Exams_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_File_Places_.3 | 2 +- ...sAppWP8_CampusAppWP8_CampusAppWP8_Model_.3 | 8 +- ...mpusAppWP8_CampusAppWP8_Model_Campusmap_.3 | 11 +- ...usAppWP8_CampusAppWP8_Model_Departments_.3 | 2 +- ..._CampusAppWP8_CampusAppWP8_Model_Events_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Model_Exams_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Model_GeoDb_.3 | 8 +- ...CampusAppWP8_CampusAppWP8_Model_Lecture_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Model_Link_.3 | 2 +- ...sAppWP8_CampusAppWP8_Model_Openinghours_.3 | 2 +- ..._CampusAppWP8_CampusAppWP8_Model_Person_.3 | 2 +- ...CampusAppWP8_CampusAppWP8_Model_Setting_.3 | 2 +- ...ppWP8_CampusAppWP8_Model_StudentCouncil_.3 | 2 +- ...CampusAppWP8_CampusAppWP8_Model_Utility_.3 | 8 +- ...sAppWP8_CampusAppWP8_CampusAppWP8_Pages_.3 | 2 +- ...mpusAppWP8_CampusAppWP8_Pages_Campusmap_.3 | 5 +- ...usAppWP8_CampusAppWP8_Pages_Departments_.3 | 2 +- ...WP8_CampusAppWP8_CampusAppWP8_Pages_Dev_.3 | 2 +- ..._CampusAppWP8_CampusAppWP8_Pages_Events_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Pages_Exams_.3 | 2 +- ...CampusAppWP8_CampusAppWP8_Pages_Lecture_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Pages_Links_.3 | 2 +- ...8_CampusAppWP8_CampusAppWP8_Pages_Mensa_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Pages_News_.3 | 2 +- ...sAppWP8_CampusAppWP8_Pages_Openinghours_.3 | 2 +- ..._CampusAppWP8_CampusAppWP8_Pages_Person_.3 | 2 +- ...mpusAppWP8_CampusAppWP8_Pages_PlaceNews_.3 | 2 +- ...CampusAppWP8_CampusAppWP8_Pages_Setting_.3 | 2 +- ...ppWP8_CampusAppWP8_Pages_StudentCouncil_.3 | 2 +- ...CampusAppWP8_CampusAppWP8_Pages_Webmail_.3 | 2 +- ...P8_CampusAppWP8_CampusAppWP8_Properties_.3 | 2 +- ...WP8_CampusAppWP8_CampusAppWP8_Resources_.3 | 4 +- ...ppWP8_CampusAppWP8_CampusAppWP8_Utility_.3 | 16 +- ...8_CampusAppWP8_CampusAppWP8_Utility_Lui_.3 | 5 +- ...sAppWP8_CampusAppWP8_Utility_Lui_Button_.3 | 2 +- ...8_CampusAppWP8_Utility_Lui_MessageBoxes_.3 | 2 +- ...usAppWP8_CampusAppWP8_Utility_Lui_Tiles_.3 | 15 + ..._CampusAppWP8_CampusAppWP8_Utility_NDEF_.3 | 2 +- Doc/man/man3/CampusAppWP8.3 | 2 +- Doc/man/man3/CampusAppWP8_Api.3 | 2 +- Doc/man/man3/CampusAppWP8_Api_GeoApi.3 | 2 +- .../CampusAppWP8_Api_GeoApi_CampusSpsApi.3 | 2 +- Doc/man/man3/CampusAppWP8_Api_GeoApi_PisApi.3 | 2 +- Doc/man/man3/CampusAppWP8_Api_GeoApi_PssApi.3 | 2 +- Doc/man/man3/CampusAppWP8_Api_GeoApi_SpsApi.3 | 2 +- Doc/man/man3/CampusAppWP8_Api_Lecture.3 | 2 +- .../CampusAppWP8_Api_Lecture_LectureApi.3 | 2 +- Doc/man/man3/CampusAppWP8_Api_Person.3 | 2 +- .../CampusAppWP8_Api_Person_PersonSearchApi.3 | 2 +- Doc/man/man3/CampusAppWP8_App.3 | 2 +- Doc/man/man3/CampusAppWP8_Const.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Departments.3 | 2 +- ...usAppWP8_Feed_Departments_DepartmentFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Events.3 | 2 +- .../man3/CampusAppWP8_Feed_Events_EventFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Exams.3 | 2 +- .../man3/CampusAppWP8_Feed_Exams_ExamFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Link.3 | 2 +- .../CampusAppWP8_Feed_Link_ClubLinkFeed.3 | 2 +- .../CampusAppWP8_Feed_Link_CommonLinkFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Mensa.3 | 2 +- .../man3/CampusAppWP8_Feed_Mensa_MensaFeed.3 | 2 +- .../CampusAppWP8_Feed_Mensa_MensaFeedCBMain.3 | 2 +- ...CampusAppWP8_Feed_Mensa_MensaFeedCBNorth.3 | 2 +- ...CampusAppWP8_Feed_Mensa_MensaFeedCBSouth.3 | 2 +- ...CampusAppWP8_Feed_Mensa_MensaFeedSBFMain.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_News.3 | 2 +- .../man3/CampusAppWP8_Feed_News_NewsFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Openinghours.3 | 2 +- ...ppWP8_Feed_Openinghours_OpeninghoursFeed.3 | 2 +- .../man3/CampusAppWP8_Feed_StudentCouncil.3 | 2 +- ...8_Feed_StudentCouncil_StudentCouncilFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_Feed_Utility.3 | 2 +- .../CampusAppWP8_Feed_Utility_CourseFeed.3 | 2 +- Doc/man/man3/CampusAppWP8_File.3 | 2 +- Doc/man/man3/CampusAppWP8_File_Departments.3 | 2 +- ..._File_Departments_DepartmentFavoriteFile.3 | 2 +- Doc/man/man3/CampusAppWP8_File_Exams.3 | 2 +- .../man3/CampusAppWP8_File_Exams_ExamFile.3 | 2 +- Doc/man/man3/CampusAppWP8_File_Places.3 | 2 +- .../CampusAppWP8_File_Places_PlacesFile.3 | 12 +- Doc/man/man3/CampusAppWP8_LocalizedStrings.3 | 2 +- Doc/man/man3/CampusAppWP8_MainModel_ T _.3 | 6 +- Doc/man/man3/CampusAppWP8_Model_BinaryModel.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_Campusmap.3 | 14 +- ...pusAppWP8_Model_Campusmap_CBMainMapModel.3 | 24 +- ...pusAppWP8_Model_Campusmap_CampusMapModel.3 | 85 + ...8_Model_Campusmap_ClickAblePlacePinModel.3 | 70 + ..._Model_Campusmap_CurrentPositionPinModel.3 | 2 +- ...pWP8_Model_Campusmap_HiddenPinPlaceModel.3 | 16 +- ...AppWP8_Model_Campusmap_InfoPlacePinModel.3 | 37 + .../CampusAppWP8_Model_Campusmap_MapModel.3 | 93 +- ...CampusAppWP8_Model_Campusmap_MapPinModel.3 | 83 +- ...pWP8_Model_Campusmap_SearchPlacePinModel.3 | 4 +- Doc/man/man3/CampusAppWP8_Model_Exams.3 | 2 +- .../CampusAppWP8_Model_Exams_ExamListModel.3 | 2 +- .../man3/CampusAppWP8_Model_Exams_ExamModel.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_GeoDb.3 | 10 +- ...WP8_Model_GeoDb_CampusBuildingLayerModel.3 | 65 + ...usAppWP8_Model_GeoDb_CampusBuildingModel.3 | 89 + ...ampusAppWP8_Model_GeoDb_PlaceInformation.3 | 2 +- .../CampusAppWP8_Model_GeoDb_PlaceModel.3 | 30 +- .../CampusAppWP8_Model_GeoDb_PlaceService.3 | 2 +- .../man3/CampusAppWP8_Model_GeoDb_SpsModel.3 | 8 +- Doc/man/man3/CampusAppWP8_Model_Lecture.3 | 2 +- ...mpusAppWP8_Model_Lecture_LectureActivity.3 | 2 +- ...CampusAppWP8_Model_Lecture_LectureCourse.3 | 2 +- .../CampusAppWP8_Model_Lecture_LectureDate.3 | 2 +- ...mpusAppWP8_Model_Lecture_LectureLecturer.3 | 2 +- .../CampusAppWP8_Model_Lecture_LectureList.3 | 2 +- ...CampusAppWP8_Model_Lecture_LectureModule.3 | 2 +- ...pusAppWP8_Model_Lecture_LecturePageModel.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_Link.3 | 2 +- .../CampusAppWP8_Model_Link_LinkListModel.3 | 2 +- .../man3/CampusAppWP8_Model_Link_LinkModel.3 | 2 +- .../man3/CampusAppWP8_Model_Openinghours.3 | 2 +- ...peninghours_OpeninghoursInstitutionModel.3 | 2 +- ...WP8_Model_Openinghours_OpeninghoursModel.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_Person.3 | 2 +- ...sAppWP8_Model_Person_PersonFunctionModel.3 | 2 +- ...ampusAppWP8_Model_Person_PersonListModel.3 | 2 +- .../CampusAppWP8_Model_Person_PersonModel.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_Setting.3 | 2 +- .../CampusAppWP8_Model_Setting_AppSettings.3 | 2 +- ...mpusAppWP8_Model_Setting_UserProfilModel.3 | 2 +- .../man3/CampusAppWP8_Model_StudentCouncil.3 | 2 +- ...l_StudentCouncil_StudentCouncilListModel.3 | 2 +- ...Model_StudentCouncil_StudentCouncilModel.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_Utility.3 | 10 +- ...el_Utility_CampusListPickerItemListModel.3 | 2 +- ...el_Utility_CourseListPickerItemListModel.3 | 2 +- .../CampusAppWP8_Model_Utility_CourseModel.3 | 2 +- ...el_Utility_DegreeListPickerItemListModel.3 | 2 +- ...P8_Model_Utility_ListPickerItemListModel.3 | 2 +- ...AppWP8_Model_Utility_ListPickerItemModel.3 | 2 +- ...odel_Utility_RoleListPickerItemListModel.3 | 2 +- ..._Utility_SemesterListPickerItemListModel.3 | 2 +- .../man3/CampusAppWP8_Model_XmlModel_ T _.3 | 2 +- Doc/man/man3/CampusAppWP8_Model_events_news.3 | 2 +- ...AppWP8_Model_events_news_RSSChannelModel.3 | 2 +- .../CampusAppWP8_Model_events_news_RSSModel.3 | 2 +- ...ampusAppWP8_Pages_Campusmap_RoomListPage.3 | 57 + ...Pages_Departments_DepartmentFavoritePage.3 | 2 +- ...P8_Pages_Departments_DepartmentIndexPage.3 | 2 +- ...WP8_Pages_Departments_DepartmentInfoPage.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Dev.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Dev_NFC.3 | 2 +- .../man3/CampusAppWP8_Pages_Dev_QRScanner.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Events.3 | 2 +- ...CampusAppWP8_Pages_Events_EventIndexPage.3 | 2 +- .../CampusAppWP8_Pages_Events_EventPage.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Exams.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Exams_Exams.3 | 2 +- .../CampusAppWP8_Pages_Lecture_LecturePage.3 | 2 +- .../CampusAppWP8_Pages_Lecture_ModulWebPage.3 | 2 +- ...pusAppWP8_Pages_Lecture_ResultDetailPage.3 | 2 +- .../CampusAppWP8_Pages_Lecture_ResultPage.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Links.3 | 2 +- .../man3/CampusAppWP8_Pages_Links_LinkPage.3 | 2 +- .../CampusAppWP8_Pages_News_NewsIndexPage.3 | 2 +- .../man3/CampusAppWP8_Pages_Openinghours.3 | 2 +- ...pWP8_Pages_Openinghours_OpeninghoursPage.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Person.3 | 2 +- .../CampusAppWP8_Pages_Person_PersonPage.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_PlaceNews.3 | 2 +- .../CampusAppWP8_Pages_PlaceNews_PlaceNews.3 | 2 +- .../CampusAppWP8_Pages_PlaceNews_ShowPad.3 | 2 +- Doc/man/man3/CampusAppWP8_Pages_Setting.3 | 2 +- ...ampusAppWP8_Pages_Setting_AppSettingPage.3 | 2 +- .../CampusAppWP8_Pages_Setting_UserProfil.3 | 2 +- .../man3/CampusAppWP8_Pages_StudentCouncil.3 | 2 +- ..._Pages_StudentCouncil_StudentCouncilPage.3 | 2 +- .../CampusAppWP8_Pages_Webmail_WebmailPage.3 | 2 +- Doc/man/man3/CampusAppWP8_Resources.3 | 2 +- .../CampusAppWP8_Resources_AppResources.3 | 186 +- .../man3/CampusAppWP8_Resources_Constants.3 | 182 +- Doc/man/man3/CampusAppWP8_Resources_Icons.3 | 10 +- Doc/man/man3/CampusAppWP8_ThemelizedIcons.3 | 2 +- Doc/man/man3/CampusAppWP8_Utility.3 | 22 +- .../man3/CampusAppWP8_Utility_AppUriMapper.3 | 48 + .../CampusAppWP8_Utility_BackgroundTasks.3 | 108 + Doc/man/man3/CampusAppWP8_Utility_File.3 | 2 +- .../man3/CampusAppWP8_Utility_HttpRequest.3 | 6 +- Doc/man/man3/CampusAppWP8_Utility_Lui.3 | 5 +- .../man3/CampusAppWP8_Utility_Lui_Button.3 | 2 +- ...ppWP8_Utility_Lui_Button_AddPersonButton.3 | 2 +- ...pusAppWP8_Utility_Lui_Button_EmailButton.3 | 2 +- ...sAppWP8_Utility_Lui_Button_GoToMapButton.3 | 2 +- ...mpusAppWP8_Utility_Lui_Button_LinkButton.3 | 2 +- ...AppWP8_Utility_Lui_Button_NavigateButton.3 | 2 +- ...pusAppWP8_Utility_Lui_Button_PhoneButton.3 | 2 +- ...usAppWP8_Utility_Lui_Button_ToggleButton.3 | 2 +- ...P8_Utility_Lui_Button_UpdateButtonAppBar.3 | 2 +- .../CampusAppWP8_Utility_Lui_MessageBoxes.3 | 2 +- ...P8_Utility_Lui_MessageBoxes_MessageBoxes.3 | 42 +- Doc/man/man3/CampusAppWP8_Utility_Lui_Tiles.3 | 19 + ...mpusAppWP8_Utility_Lui_Tiles_TileCreator.3 | 157 + Doc/man/man3/CampusAppWP8_Utility_NDEF.3 | 2 +- .../CampusAppWP8_Utility_NDEF_NDEFMessage.3 | 2 +- .../CampusAppWP8_Utility_NDEF_NDEFRecord.3 | 2 +- ...ampusAppWP8_Utility_NDEF_NDEFShortRecord.3 | 2 +- .../CampusAppWP8_Utility_Wp8StringManager.3 | 48 + Doc/man/man3/CampusAppWP8_model.3 | 8 +- Doc/man/man3/CampusAppWP8_model_departments.3 | 2 +- ...ampusAppWP8_model_departments_ChairModel.3 | 2 +- ...AppWP8_model_departments_DepartmentModel.3 | 2 +- ...pusAppWP8_model_departments_FacultyModel.3 | 2 +- Doc/man/man3/CampusAppWP8_pages.3 | 2 +- Doc/man/man3/CampusAppWP8_pages_StartPage.3 | 2 +- Doc/man/man3/CampusAppWP8_pages_campusmap.3 | 6 +- ...mpusAppWP8_pages_campusmap_CampusMapPage.3 | 31 +- Doc/man/man3/CampusAppWP8_pages_departments.3 | 2 +- ...sAppWP8_pages_departments_DepartmentPage.3 | 2 +- Doc/man/man3/CampusAppWP8_pages_lecture.3 | 2 +- Doc/man/man3/CampusAppWP8_pages_mensa.3 | 2 +- .../man3/CampusAppWP8_pages_mensa_MensaPage.3 | 2 +- Doc/man/man3/CampusAppWP8_pages_news.3 | 2 +- .../man3/CampusAppWP8_pages_news_NewsPage.3 | 2 +- Doc/man/man3/CampusAppWP8_pages_webmail.3 | 2 +- ...l_1_1_campusmap_1_1_c_b_main_map_model.png | Bin 1134 -> 1678 bytes ...del_1_1_campusmap_1_1_campus_map_model.png | Bin 0 -> 1680 bytes ...mpusmap_1_1_click_able_place_pin_model.png | Bin 0 -> 2433 bytes ...1_1_campusmap_1_1_info_place_pin_model.png | Bin 0 -> 1826 bytes ..._1_1_model_1_1_campusmap_1_1_map_model.png | Bin 1138 -> 1684 bytes ..._model_1_1_campusmap_1_1_map_pin_model.png | Bin 2075 -> 3362 bytes ...1_campusmap_1_1_search_place_pin_model.png | Bin 1196 -> 1837 bytes ...pages_1_1_campusmap_1_1_room_list_page.png | Bin 0 -> 985 bytes ...pp_w_p8_1_1_utility_1_1_app_uri_mapper.png | Bin 0 -> 767 bytes ..._w_p8_1_1_utility_1_1_background_tasks.png | Bin 0 -> 890 bytes ..._p8_1_1_utility_1_1_wp8_string_manager.png | Bin 0 -> 901 bytes .../dir_0a0262648802c8fa7405f815eca989e4.rtf | 8 +- .../dir_1073e9f439c87c111068755896d82c05.rtf | 14 +- .../dir_13969638f06df799347bce25efcb3a16.rtf | 4 +- .../dir_1e89dfdb9d4d50bacf2577fc78794113.rtf | 4 +- .../dir_1f7bea527d40bc6ff1e54f3a346c52b5.rtf | 4 +- .../dir_21535ccf759c2a522698b0b6a65b0eb5.rtf | 4 +- .../dir_22bd72e89ab0c7abb2cc4e3b7914098b.rtf | 4 +- .../dir_260538ef58c3b2d770d235075767b5f3.rtf | 4 +- .../dir_2a8f810c3f9bbb1cb1ccf83264a53774.rtf | 10 +- .../dir_2d311ea570d9e1c140e3775582f0c6e6.rtf | 4 +- .../dir_2d53bace0827e2bf2f77ef9b5661f678.rtf | 4 +- .../dir_2e4c52cdd3a16f2658440aaed6780038.rtf | 4 +- .../dir_3069c293289ffc8b1eaeb414383f0330.rtf | 4 +- .../dir_3a37fd1d1070d6af9ff5cd68183698ae.rtf | 4 +- .../dir_43c9fdb099d661ab6adf29f06188c90c.rtf | 6 +- .../dir_477e33b8191ddb2f3b5c3d5321c4e514.rtf | 98 + .../dir_4ee4bf09d6a96bb5475eb8efb397b98b.rtf | 4 +- .../dir_509987112254783059c319bb82e76b2c.rtf | 4 +- .../dir_5c98643b9389ced1ed40ac3e2ee6663b.rtf | 4 +- .../dir_65cdd8f9a89f287025a75baa02195739.rtf | 4 +- .../dir_6739d22265f79723af173738d7f6d953.rtf | 4 +- .../dir_6bacb8829aeb51ed3b0d715b6a3da162.rtf | 4 +- .../dir_6c1b508c19440a399d17c73bbbf14cb6.rtf | 4 +- .../dir_6de442f01690ad19364998fec61f3845.rtf | 4 +- .../dir_7992d2ae2f44549358f6bbac582ef56c.rtf | 8 +- .../dir_7a51c29c1befe101dd22bbebdf705380.rtf | 4 +- .../dir_7a675df7c0487495e5d7174785e128d2.rtf | 4 +- .../dir_7a99fdd31a98a31099104efa5ba7a2da.rtf | 8 +- .../dir_832adee00745a2b3f17c7f1d9660512e.rtf | 4 +- .../dir_8a37a4c4828444fc14a2f1c55276bdf2.rtf | 4 +- .../dir_8e3a2ac13f9d3c82d306e28c1686b236.rtf | 6 +- .../dir_8effc334115523b582ac57fdba9e762a.rtf | 6 +- .../dir_93a662dedef0a167f025fa842da5b025.rtf | 4 +- .../dir_94a3c87faf1cdd82a3495145ee0aff56.rtf | 4 +- .../dir_9ec96b030a893d44df644289638c5455.rtf | 4 +- .../dir_a033c9188cea1fd2a564ed3cf29418b4.rtf | 4 +- .../dir_a0ebebac0ae99ab714c5bf902b1ad5c0.rtf | 4 +- .../dir_a5fcb04b8b0735837b04f86a241ed5b1.rtf | 4 +- .../dir_a735660f957d8d1a000b355f98fd7884.rtf | 4 +- .../dir_af3a313bd21a45ca7168411249229c16.rtf | 4 +- .../dir_c154d338c005f2e85e1a3d28073a1a22.rtf | 4 +- .../dir_c2e72ee4966602e4b455c4ea040a3c82.rtf | 4 +- .../dir_c5add0b19063b6242461e8e811903b23.rtf | 4 +- .../dir_c96c24b29d5f5a7edd4a32cfcf0ce524.rtf | 4 +- .../dir_ccd35b6bf37d1a47cc7b6a40c3b9a180.rtf | 4 +- .../dir_d41793d8c394d152b5e09a3e26715b0f.rtf | 4 +- .../dir_d96a967f964c1de2cbce6cdd2c6f9987.rtf | 4 +- .../dir_d9db3ebc55258f4cde5becc6b132ed13.rtf | 4 +- .../dir_e27550e36c28d084ad98b84805daa5cc.rtf | 4 +- .../dir_e29671f860be0283b1e43fd2c2c54c8d.rtf | 4 +- .../dir_e2f9adba291616a9be30d9fa4c652277.rtf | 4 +- .../dir_e7609f5a50dfa281e7e0cb66859d2aae.rtf | 4 +- .../dir_eb8ec6a25613bee50fda0a22a7c3fec2.rtf | 4 +- .../dir_ec3d220e6deb3baaa30cfdec1c46791f.rtf | 4 +- .../dir_f430e31c3cc30ed9318a1321b6bff73e.rtf | 4 +- .../dir_f8272e37d6159d9ca7e64f5775e84948.rtf | 4 +- .../dir_fd54810065c522d18968f48cf271eca3.rtf | 4 +- Doc/rtf/refman.rtf | 9049 +++++++++-------- Doc/xml/_app_8xaml_8cs.xml | 201 +- Doc/xml/_app_resources_8_designer_8cs.xml | 442 +- Doc/xml/_app_uri_mapper_8cs.xml | 50 + Doc/xml/_background_tasks_8cs.xml | 112 + Doc/xml/_c_b_main_map_model_8cs.xml | 89 +- Doc/xml/_campus_building_layer_model_8cs.xml | 58 + Doc/xml/_campus_building_model_8cs.xml | 92 + Doc/xml/_campus_map_model_8cs.xml | 68 + Doc/xml/_campus_map_page_8xaml_8cs.xml | 762 +- Doc/xml/_click_able_place_pin_model_8cs.xml | 48 + Doc/xml/_constants1_8_designer_8cs.xml | 938 ++ ...course_list_picker_item_list_model_8cs.xml | 267 +- Doc/xml/_current_position_pin_model_8cs.xml | 12 +- Doc/xml/_event_feed_8cs.xml | 15 +- Doc/xml/_event_index_page_8xaml_8cs.xml | 235 +- Doc/xml/_event_page_8xaml_8cs.xml | 20 +- Doc/xml/_exam_file_8cs.xml | 113 +- Doc/xml/_exam_model_8cs.xml | 2 +- Doc/xml/_file_8cs.xml | 361 +- Doc/xml/_hidden_pin_place_model_8cs.xml | 9 +- Doc/xml/_http_request_8cs.xml | 223 +- Doc/xml/_icons_8cs.xml | 110 +- Doc/xml/_info_place_pin_model_8cs.xml | 45 + Doc/xml/_lecture_activity_8cs.xml | 10 +- Doc/xml/_lecture_page_8xaml_8cs.xml | 363 +- Doc/xml/_main_model_8cs.xml | 12 +- Doc/xml/_map_model_8cs.xml | 328 +- Doc/xml/_map_pin_model_8cs.xml | 214 +- Doc/xml/_mensa_feed_8cs.xml | 7 +- Doc/xml/_mensa_feed_c_b_main_8cs.xml | 2 +- Doc/xml/_mensa_feed_c_b_north_8cs.xml | 2 +- Doc/xml/_mensa_feed_c_b_south_8cs.xml | 2 +- Doc/xml/_mensa_feed_s_b_f_main_8cs.xml | 2 +- Doc/xml/_mensa_page_8xaml_8cs.xml | 429 +- Doc/xml/_message_boxes_8cs.xml | 16 +- Doc/xml/_n_f_c_8xaml_8cs.xml | 221 +- Doc/xml/_news_feed_8cs.xml | 12 +- Doc/xml/_news_index_page_8xaml_8cs.xml | 227 +- Doc/xml/_news_page_8xaml_8cs.xml | 20 +- Doc/xml/_person_function_model_8cs.xml | 14 +- Doc/xml/_person_model_8cs.xml | 6 +- Doc/xml/_person_page_8xaml_8cs.xml | 201 +- Doc/xml/_pis_api_8cs.xml | 86 +- Doc/xml/_place_information_8cs.xml | 2 +- Doc/xml/_place_model_8cs.xml | 217 +- Doc/xml/_place_news_8xaml_8cs.xml | 594 +- Doc/xml/_places_file_8cs.xml | 70 +- Doc/xml/_pss_api_8cs.xml | 83 +- Doc/xml/_q_r_scanner_8xaml_8cs.xml | 370 +- Doc/xml/_r_s_s_channel_model_8cs.xml | 53 + Doc/xml/_r_s_s_model_8cs.xml | 174 + Doc/xml/_room_list_page_8xaml_8cs.xml | 146 + Doc/xml/_search_place_pin_model_8cs.xml | 39 +- Doc/xml/_sps_api_8cs.xml | 79 +- Doc/xml/_sps_model_8cs.xml | 279 +- Doc/xml/_start_page_8xaml_8cs.xml | 509 +- Doc/xml/_tile_creator_8cs.xml | 129 + Doc/xml/_user_profil_8xaml_8cs.xml | 2 +- Doc/xml/_utilities_8cs.xml | 490 +- Doc/xml/_wp8_string_manager_8cs.xml | 36 + Doc/xml/_xml_model_8cs.xml | 119 +- ...1_1_api_1_1_geo_api_1_1_campus_sps_api.xml | 26 +- ...p_w_p8_1_1_api_1_1_geo_api_1_1_pis_api.xml | 22 +- ...p_w_p8_1_1_api_1_1_geo_api_1_1_pss_api.xml | 22 +- ...p_w_p8_1_1_api_1_1_geo_api_1_1_sps_api.xml | 34 +- ...p8_1_1_api_1_1_lecture_1_1_lecture_api.xml | 14 +- ...1_api_1_1_person_1_1_person_search_api.xml | 14 +- Doc/xml/class_campus_app_w_p8_1_1_app.xml | 12 +- ...ed_1_1_departments_1_1_department_feed.xml | 12 +- ..._p8_1_1_feed_1_1_events_1_1_event_feed.xml | 18 +- ..._w_p8_1_1_feed_1_1_exams_1_1_exam_feed.xml | 18 +- ...8_1_1_feed_1_1_link_1_1_club_link_feed.xml | 12 +- ...1_1_feed_1_1_link_1_1_common_link_feed.xml | 12 +- ...w_p8_1_1_feed_1_1_mensa_1_1_mensa_feed.xml | 32 +- ...feed_1_1_mensa_1_1_mensa_feed_c_b_main.xml | 20 +- ...eed_1_1_mensa_1_1_mensa_feed_c_b_north.xml | 20 +- ...eed_1_1_mensa_1_1_mensa_feed_c_b_south.xml | 20 +- ...ed_1_1_mensa_1_1_mensa_feed_s_b_f_main.xml | 20 +- ...p_w_p8_1_1_feed_1_1_news_1_1_news_feed.xml | 18 +- ...1_1_openinghours_1_1_openinghours_feed.xml | 12 +- ...udent_council_1_1_student_council_feed.xml | 12 +- ...8_1_1_feed_1_1_utility_1_1_course_feed.xml | 20 +- ...partments_1_1_department_favorite_file.xml | 12 +- ..._w_p8_1_1_file_1_1_exams_1_1_exam_file.xml | 34 +- ...p8_1_1_file_1_1_places_1_1_places_file.xml | 33 +- ...us_app_w_p8_1_1_main_model_3_01_t_01_4.xml | 24 +- ...us_app_w_p8_1_1_model_1_1_binary_model.xml | 20 +- ...l_1_1_campusmap_1_1_c_b_main_map_model.xml | 79 +- ...del_1_1_campusmap_1_1_campus_map_model.xml | 157 + ...mpusmap_1_1_click_able_place_pin_model.xml | 136 + ...mpusmap_1_1_current_position_pin_model.xml | 24 +- ...1_campusmap_1_1_hidden_pin_place_model.xml | 38 +- ...1_1_campusmap_1_1_info_place_pin_model.xml | 86 + ..._1_1_model_1_1_campusmap_1_1_map_model.xml | 278 +- ..._model_1_1_campusmap_1_1_map_pin_model.xml | 250 +- ...1_campusmap_1_1_search_place_pin_model.xml | 51 +- ...geo_db_1_1_campus_building_layer_model.xml | 85 + ...l_1_1_geo_db_1_1_campus_building_model.xml | 115 + ...model_1_1_geo_db_1_1_place_information.xml | 18 +- ...8_1_1_model_1_1_geo_db_1_1_place_model.xml | 94 +- ...1_1_model_1_1_geo_db_1_1_place_service.xml | 18 +- ..._p8_1_1_model_1_1_geo_db_1_1_sps_model.xml | 97 +- ...1_1_campus_list_picker_item_list_model.xml | 12 +- ...1_1_course_list_picker_item_list_model.xml | 34 +- ...1_1_model_1_1_utility_1_1_course_model.xml | 12 +- ...1_1_degree_list_picker_item_list_model.xml | 18 +- ...tility_1_1_list_picker_item_list_model.xml | 22 +- ...y_1_1_role_list_picker_item_list_model.xml | 16 +- ...1_semester_list_picker_item_list_model.xml | 12 +- ...p8_1_1_model_1_1_xml_model_3_01_t_01_4.xml | 30 +- ..._1events__news_1_1_r_s_s_channel_model.xml | 12 +- ..._model_1_1events__news_1_1_r_s_s_model.xml | 16 +- ...ages_1_1_campusmap_1_1_campus_map_page.xml | 790 +- ...pages_1_1_campusmap_1_1_room_list_page.xml | 195 + ...partments_1_1_department_favorite_page.xml | 16 +- ..._departments_1_1_department_index_page.xml | 12 +- ...1_departments_1_1_department_info_page.xml | 12 +- ...es_1_1_departments_1_1_department_page.xml | 16 +- ...s_app_w_p8_1_1_pages_1_1_dev_1_1_n_f_c.xml | 117 +- ...w_p8_1_1_pages_1_1_dev_1_1_q_r_scanner.xml | 61 +- ..._pages_1_1_events_1_1_event_index_page.xml | 38 +- ...p8_1_1_pages_1_1_events_1_1_event_page.xml | 30 +- ...app_w_p8_1_1_pages_1_1_exams_1_1_exams.xml | 14 +- ...1_1_pages_1_1_lecture_1_1_lecture_page.xml | 52 +- ...1_pages_1_1_lecture_1_1_modul_web_page.xml | 16 +- ...ges_1_1_lecture_1_1_result_detail_page.xml | 12 +- ..._1_1_pages_1_1_lecture_1_1_result_page.xml | 18 +- ...w_p8_1_1_pages_1_1_links_1_1_link_page.xml | 12 +- ..._p8_1_1_pages_1_1_mensa_1_1_mensa_page.xml | 58 +- ...1_1_pages_1_1_news_1_1_news_index_page.xml | 38 +- ..._w_p8_1_1_pages_1_1_news_1_1_news_page.xml | 30 +- ...1_1_openinghours_1_1_openinghours_page.xml | 16 +- ...8_1_1_pages_1_1_person_1_1_person_page.xml | 32 +- ..._1_pages_1_1_place_news_1_1_place_news.xml | 292 +- ..._1_1_pages_1_1_place_news_1_1_show_pad.xml | 18 +- ..._1_1_pages_1_1_setting_1_1_user_profil.xml | 12 +- ...mpus_app_w_p8_1_1_pages_1_1_start_page.xml | 156 +- ...udent_council_1_1_student_council_page.xml | 12 +- ...1_1_pages_1_1_webmail_1_1_webmail_page.xml | 12 +- ...p_w_p8_1_1_resources_1_1_app_resources.xml | 540 +- ...s_app_w_p8_1_1_resources_1_1_constants.xml | 639 +- ...ampus_app_w_p8_1_1_resources_1_1_icons.xml | 62 +- ...pp_w_p8_1_1_utility_1_1_app_uri_mapper.xml | 68 + ..._w_p8_1_1_utility_1_1_background_tasks.xml | 202 + ...s_campus_app_w_p8_1_1_utility_1_1_file.xml | 36 +- ..._app_w_p8_1_1_utility_1_1_http_request.xml | 36 +- ...ty_1_1_lui_1_1_button_1_1_email_button.xml | 12 +- ..._1_lui_1_1_button_1_1_go_to_map_button.xml | 16 +- ...ity_1_1_lui_1_1_button_1_1_link_button.xml | 12 +- ...1_1_lui_1_1_button_1_1_navigate_button.xml | 12 +- ...ty_1_1_lui_1_1_button_1_1_phone_button.xml | 12 +- ...y_1_1_lui_1_1_button_1_1_toggle_button.xml | 12 +- ...i_1_1_button_1_1_update_button_app_bar.xml | 12 +- ...ui_1_1_message_boxes_1_1_message_boxes.xml | 66 +- ...ity_1_1_lui_1_1_tiles_1_1_tile_creator.xml | 360 + ...utility_1_1_n_d_e_f_1_1_n_d_e_f_record.xml | 6 +- ...y_1_1_n_d_e_f_1_1_n_d_e_f_short_record.xml | 12 +- ...pus_app_w_p8_1_1_utility_1_1_utilities.xml | 24 +- ..._p8_1_1_utility_1_1_wp8_string_manager.xml | 65 + .../dir_0a0262648802c8fa7405f815eca989e4.xml | 2 - .../dir_1073e9f439c87c111068755896d82c05.xml | 6 +- .../dir_2a8f810c3f9bbb1cb1ccf83264a53774.xml | 3 + .../dir_43c9fdb099d661ab6adf29f06188c90c.xml | 1 + .../dir_477e33b8191ddb2f3b5c3d5321c4e514.xml | 12 + .../dir_7992d2ae2f44549358f6bbac582ef56c.xml | 2 - .../dir_7a99fdd31a98a31099104efa5ba7a2da.xml | 2 + .../dir_8e3a2ac13f9d3c82d306e28c1686b236.xml | 1 + .../dir_8effc334115523b582ac57fdba9e762a.xml | 2 +- .../dir_c5add0b19063b6242461e8e811903b23.xml | 4 +- Doc/xml/index.xml | 380 +- .../namespace_campus_app_w_p8_1_1_model.xml | 2 - ...ampus_app_w_p8_1_1_model_1_1_campusmap.xml | 5 +- ...e_campus_app_w_p8_1_1_model_1_1_geo_db.xml | 4 +- ..._campus_app_w_p8_1_1_model_1_1_utility.xml | 2 - ...ampus_app_w_p8_1_1_pages_1_1_campusmap.xml | 1 + .../namespace_campus_app_w_p8_1_1_utility.xml | 8 +- ...ce_campus_app_w_p8_1_1_utility_1_1_lui.xml | 1 + ...app_w_p8_1_1_utility_1_1_lui_1_1_tiles.xml | 12 + ..._p8_scheduled_task_agent_1_1_resources.xml | 11 + ..._app_w_portal_lib8_1_1_model_1_1_mensa.xml | 11 + ..._app_w_portal_lib8_1_1_model_1_1_r_s_s.xml | 11 + ...pp_w_portal_lib8_1_1_model_1_1_utility.xml | 11 + ...e_campus_app_w_portal_lib8_1_1_utility.xml | 11 + Doc/xml/namespace_microsoft_1_1_devices.xml | 2 +- ...pace_microsoft_1_1_phone_1_1_scheduler.xml | 11 + Doc/xml/namespace_system_1_1_net.xml | 2 +- ...1_interop_services_1_1_windows_runtime.xml | 2 +- ...espace_system_1_1_windows_1_1_controls.xml | 2 +- ...namespace_system_1_1_windows_1_1_input.xml | 11 + ...stem_1_1_windows_1_1_media_1_1_imaging.xml | 2 +- ...e_windows_1_1_networking_1_1_proximity.xml | 2 +- ...ows_1_1_phone_1_1_speech_1_1_synthesis.xml | 2 +- Doc/xml/namespace_z_xing.xml | 2 +- 1205 files changed, 31290 insertions(+), 13289 deletions(-) create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.png create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.png create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_hidden_pin_place_model.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.png create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_layer_model-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_layer_model.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_layer_model.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_model-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_model.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_model.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.png create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.js create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.png create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_background_tasks-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.png create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles_1_1_tile_creator-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles_1_1_tile_creator.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager-members.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.html create mode 100644 Doc/html/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.png create mode 100644 Doc/html/dir_477e33b8191ddb2f3b5c3d5321c4e514.html create mode 100644 Doc/html/functions_0x7a.html create mode 100644 Doc/html/functions_prop_0x7a.html create mode 100644 Doc/html/namespace_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles.html create mode 100644 Doc/html/namespace_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles.js create mode 100644 Doc/html/search/all_7a.html create mode 100644 Doc/html/search/all_7a.js create mode 100644 Doc/html/search/events_73.html create mode 100644 Doc/html/search/events_73.js create mode 100644 Doc/html/search/properties_7a.html create mode 100644 Doc/html/search/properties_7a.js create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_layer_model.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_model.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles_1_1_tile_creator.tex create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.eps create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.pdf create mode 100644 Doc/latex/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.tex create mode 100644 Doc/latex/dir_477e33b8191ddb2f3b5c3d5321c4e514.tex create mode 100644 Doc/latex/namespace_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles.tex create mode 100644 Doc/man/man3/C__Users_stubbfel_gitrepos_CampusAppWP8_CampusAppWP8_CampusAppWP8_Utility_Lui_Tiles_.3 create mode 100644 Doc/man/man3/CampusAppWP8_Model_Campusmap_CampusMapModel.3 create mode 100644 Doc/man/man3/CampusAppWP8_Model_Campusmap_ClickAblePlacePinModel.3 create mode 100644 Doc/man/man3/CampusAppWP8_Model_Campusmap_InfoPlacePinModel.3 create mode 100644 Doc/man/man3/CampusAppWP8_Model_GeoDb_CampusBuildingLayerModel.3 create mode 100644 Doc/man/man3/CampusAppWP8_Model_GeoDb_CampusBuildingModel.3 create mode 100644 Doc/man/man3/CampusAppWP8_Pages_Campusmap_RoomListPage.3 create mode 100644 Doc/man/man3/CampusAppWP8_Utility_AppUriMapper.3 create mode 100644 Doc/man/man3/CampusAppWP8_Utility_BackgroundTasks.3 create mode 100644 Doc/man/man3/CampusAppWP8_Utility_Lui_Tiles.3 create mode 100644 Doc/man/man3/CampusAppWP8_Utility_Lui_Tiles_TileCreator.3 create mode 100644 Doc/man/man3/CampusAppWP8_Utility_Wp8StringManager.3 create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.png create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.png create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.png create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.png create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.png create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.png create mode 100644 Doc/rtf/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.png create mode 100644 Doc/rtf/dir_477e33b8191ddb2f3b5c3d5321c4e514.rtf create mode 100644 Doc/xml/_app_uri_mapper_8cs.xml create mode 100644 Doc/xml/_background_tasks_8cs.xml create mode 100644 Doc/xml/_campus_building_layer_model_8cs.xml create mode 100644 Doc/xml/_campus_building_model_8cs.xml create mode 100644 Doc/xml/_campus_map_model_8cs.xml create mode 100644 Doc/xml/_click_able_place_pin_model_8cs.xml create mode 100644 Doc/xml/_constants1_8_designer_8cs.xml create mode 100644 Doc/xml/_info_place_pin_model_8cs.xml create mode 100644 Doc/xml/_r_s_s_channel_model_8cs.xml create mode 100644 Doc/xml/_r_s_s_model_8cs.xml create mode 100644 Doc/xml/_room_list_page_8xaml_8cs.xml create mode 100644 Doc/xml/_tile_creator_8cs.xml create mode 100644 Doc/xml/_wp8_string_manager_8cs.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_campus_map_model.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_click_able_place_pin_model.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_model_1_1_campusmap_1_1_info_place_pin_model.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_layer_model.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_model_1_1_geo_db_1_1_campus_building_model.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_pages_1_1_campusmap_1_1_room_list_page.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_utility_1_1_app_uri_mapper.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_utility_1_1_background_tasks.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles_1_1_tile_creator.xml create mode 100644 Doc/xml/class_campus_app_w_p8_1_1_utility_1_1_wp8_string_manager.xml create mode 100644 Doc/xml/dir_477e33b8191ddb2f3b5c3d5321c4e514.xml create mode 100644 Doc/xml/namespace_campus_app_w_p8_1_1_utility_1_1_lui_1_1_tiles.xml create mode 100644 Doc/xml/namespace_campus_app_w_p8_scheduled_task_agent_1_1_resources.xml create mode 100644 Doc/xml/namespace_campus_app_w_portal_lib8_1_1_model_1_1_mensa.xml create mode 100644 Doc/xml/namespace_campus_app_w_portal_lib8_1_1_model_1_1_r_s_s.xml create mode 100644 Doc/xml/namespace_campus_app_w_portal_lib8_1_1_model_1_1_utility.xml create mode 100644 Doc/xml/namespace_campus_app_w_portal_lib8_1_1_utility.xml create mode 100644 Doc/xml/namespace_microsoft_1_1_phone_1_1_scheduler.xml create mode 100644 Doc/xml/namespace_system_1_1_windows_1_1_input.xml diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs index 46ee4028..61769824 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs @@ -9,6 +9,7 @@ namespace CampusAppWP8.Model.Campusmap { using System.Windows; using System.Windows.Input; + using CampusAppWP8.Resources; /// /// This Class manage the properties of a MapPin @@ -196,16 +197,16 @@ namespace CampusAppWP8.Model.Campusmap switch (type) { case PinType.CurrentPosition: - result = MapPinModel.currendPositionPlacePinString; + result = Constants.PinType_CurrentPosition; break; case PinType.Hidden: - result = MapPinModel.hiddenPlacePinString; + result = Constants.PinType_Hidden; break; case PinType.InfoPlace: - result = MapPinModel.infoPlacePinString; + result = Constants.PinType_Info; break; case PinType.SearchPlace: - result = MapPinModel.searchPlacePinString; + result = Constants.PinType_Search; break; default: result = string.Empty; diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index bc33f12e..55392209 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -372,7 +372,7 @@ namespace CampusAppWP8.Pages.Campusmap foreach (UIElement child in childs) { Image childImg = child as Image; - if (childImg == null) + if (childImg == null || childImg.Tag == null) { continue; } @@ -448,7 +448,7 @@ namespace CampusAppWP8.Pages.Campusmap { MessageBoxes.ShowMainModelInfoMessageBox(AppResources.ScarNfc_Search); this.ProgressBar.Visibility = Visibility.Visible; - this.device.SubscribeForMessage(Constants.NCFMessageType_NDEF, this.NDEFHandler); + long id = this.device.SubscribeForMessage(Constants.NCFMessageType_NDEF, this.NDEFHandler); } /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 5a20763f..da484cb4 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -540,4 +540,16 @@ /Pages/StartPage.xaml + + CurrentPositionPin + + + HiddenPin + + + InfoPin + + + SearchPin + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs index c06afea9..2ed1f9a6 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs @@ -951,6 +951,42 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die CurrentPositionPin ähnelt. + /// + public static string PinType_CurrentPosition { + get { + return ResourceManager.GetString("PinType_CurrentPosition", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die HiddenPin ähnelt. + /// + public static string PinType_Hidden { + get { + return ResourceManager.GetString("PinType_Hidden", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die InfoPin ähnelt. + /// + public static string PinType_Info { + get { + return ResourceManager.GetString("PinType_Info", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die SearchPin ähnelt. + /// + public static string PinType_Search { + get { + return ResourceManager.GetString("PinType_Search", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die iname ähnelt. /// diff --git a/Doc/html/annotated.html b/Doc/html/annotated.html index 3aef254a..d916ef2e 100644 --- a/Doc/html/annotated.html +++ b/Doc/html/annotated.html @@ -153,12 +153,15 @@ $(document).ready(function(){initNavTree('annotated.html','');});  | \CPlacesFilePlaces file.  oNModel  |oNCampusmap - ||oCCBMainMapModelClass for the MapModel of the mainCampus of cottbus - ||oCCurrentPositionPinModelCurrent position pin model. - ||oCHiddenPinPlaceModelHidden pin place model. - ||oCMapModelThis Class manage the properties of a Map - ||oCMapPinModelThis Class manage the properties of a MapPin - ||\CSearchPlacePinModelSearch pin place model. + ||oCCampusMapModelClass for the CampusMapModel + ||oCCBMainMapModelClass for the MapModel of the mainCampus of cottbus + ||oCClickAblePlacePinModelabstract class for click abel bins + ||oCCurrentPositionPinModelCurrent position pin model. + ||oCHiddenPinPlaceModelHidden pin place model. + ||oCInfoPlacePinModelSearch pin place model. + ||oCMapModelThis Class manage the properties of a Map + ||oCMapPinModelThis Class manage the properties of a MapPin + ||\CSearchPlacePinModelSearch pin place model.  |oNDepartments  ||oCChairModelClass to hold information about a professorship chair.  ||oCDepartmentModelView model for department page. @@ -170,10 +173,12 @@ $(document).ready(function(){initNavTree('annotated.html','');});  ||oCExamListModelExam list model.  ||\CExamModelExam model.  |oNGeoDb - ||oCPlaceInformationInformation about the place. - ||oCPlaceModelModel for a place of the SPSService - ||oCPlaceServicePlace service. - ||\CSpsModelModel for a xml-response of the SPSService + ||oCCampusBuildingLayerModelClass is model for buildings of a campus + ||oCCampusBuildingModelClass is model for buildings of a campus + ||oCPlaceInformationInformation about the place. + ||oCPlaceModelModel for a place of the SPSService + ||oCPlaceServicePlace service. + ||\CSpsModelModel for a xml-response of the SPSService  |oNLecture  ||oCLectureActivityModel for a Activity  ||oCLectureCourseModel for a course @@ -185,43 +190,34 @@ $(document).ready(function(){initNavTree('annotated.html','');});  |oNLink  ||oCLinkListModelModel for a list of links.  ||\CLinkModelModel for menu - |oNMensa - ||oCMealModelModel for a meal - ||oCMenuModelModel for menu - ||\CMenuWeekModelModel for menus in one week - |oNOpeninghours - ||oCOpeninghoursInstitutionModelModel for menu - ||\COpeninghoursModelModel for opening hours. - |oNPerson - ||oCPersonFunctionModelPerson function model. - ||oCPersonListModelPerson list model. - ||\CPersonModelPerson model. - |oNRSS - ||oCRSSChannelModelChannel Model, which contains the RSS feed item list. - ||oCRSSModelContains the RSS feed information. - ||\CRSSViewModelViewModel of the RSS feed, containing the feed/channel object. - |oNSetting - ||oCAppSettingsModel for settings of the app - ||\CUserProfilModelModel for the profile of an user - |oNStudentCouncil - ||oCStudentCouncilListModelModel for menus in one week - ||\CStudentCouncilModelModel for menu - |oNUtility - ||oCCampusListPickerItemListModelThis Class creates a list of degrees - ||oCCleanUrlParamModelThis class is a Model for the URLParameter like GET-Parameter - ||oCCourseListPickerItemListModelThis is a class for the courseList - ||oCCourseModelCourse model. - ||oCDegreeListPickerItemListModelThis Class creates a list of degrees - ||oCListPickerItemListModelClass for a List of ListPickerItems - ||oCListPickerItemModelModel for the ListPickerItems - ||oCRoleListPickerItemListModelClass for the RoleList - ||oCSemesterListPickerItemListModelClass for the SemesterList - ||\CUrlParamModelThis class is a Model for the URLParameter like GET-Parameter - |oCBinaryModelBinary model. - |\CXmlModel< T >Xml model io handler class. + |oNOpeninghours + ||oCOpeninghoursInstitutionModelModel for menu + ||\COpeninghoursModelModel for opening hours. + |oNPerson + ||oCPersonFunctionModelPerson function model. + ||oCPersonListModelPerson list model. + ||\CPersonModelPerson model. + |oNSetting + ||oCAppSettingsModel for settings of the app + ||\CUserProfilModelModel for the profile of an user + |oNStudentCouncil + ||oCStudentCouncilListModelModel for menus in one week + ||\CStudentCouncilModelModel for menu + |oNUtility + ||oCCampusListPickerItemListModelThis Class creates a list of degrees + ||oCCourseListPickerItemListModelThis is a class for the courseList + ||oCCourseModelCourse model. + ||oCDegreeListPickerItemListModelThis Class creates a list of degrees + ||oCListPickerItemListModelClass for a List of ListPickerItems + ||oCListPickerItemModelModel for the ListPickerItems + ||oCRoleListPickerItemListModelClass for the RoleList + ||\CSemesterListPickerItemListModelClass for the SemesterList + |oCBinaryModelBinary model. + |\CXmlModel< T >Xml model io handler class.  oNPages  |oNCampusmap - ||\CCampusMapPageClass for the campusMap page. + ||oCCampusMapPageClass for the campusMap page. + ||\CRoomListPageClass of the RoomListPage  |oNDepartments  ||oCDepartmentFavoritePagePage to visualize the favorite department list.  ||oCDepartmentIndexPagePage with a list of the faculties. @@ -277,21 +273,24 @@ $(document).ready(function(){initNavTree('annotated.html','');});  |||oCPhoneButtonThis class create an Button which start a PhoneCall  |||oCToggleButtonThis class create an Button which can toggle the Visibility of certain FrameworkElements  |||\CUpdateButtonAppBarThis class create an Button which start the Email-Client - ||\NMessageBoxes - || \CMessageBoxesClass creates some MessageBoxes + ||oNMessageBoxes + |||\CMessageBoxesClass creates some MessageBoxes + ||\NTiles + || \CTileCreatorClass creates different live tiles  |oNNDEF  ||oCNDEFMessageNdef message.  ||oCNDEFRecordNdef record of a NDEFMessage.  ||\CNDEFShortRecordNdef short record. - |oCFileFile class. - |oCHttpRequestClass realize the access of restful HttpRequest - |oCLoggerThis Class creates logs for the app - |\CXmlManagerClass provides some Xml-methods - oCApp - oCConstAccess to Constants.rex - oCLocalizedStringsLocalized strings. - oCMainModel< T >Base model io handling class. - \CThemelizedIconsTheme icons. + |oCAppUriMapperClass map Uri to AppPages + |oCBackgroundTasksClass provide some static methods for background tasks + |oCFileFile class. + |oCHttpRequestClass realize the access of restful HttpRequest + |\CWp8StringManagerClass provides some special StringMethods + oCApp + oCConstAccess to Constants.rex + oCLocalizedStringsLocalized strings. + oCMainModel< T >Base model io handling class. + \CThemelizedIconsTheme icons. @@ -299,7 +298,7 @@ $(document).ready(function(){initNavTree('annotated.html','');});