From cefe681199e3804fd12a9ff053dbf558da8d0422 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 8 Oct 2013 10:24:36 +0200 Subject: [PATCH] new roomlist --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 1 + .../Model/Campusmap/CBMainMapModel.cs | 14 ++++ .../Model/Campusmap/CBMainMapRoomModel.cs | 40 ++++++++++ .../Model/Campusmap/CampusMapModel.cs | 4 + .../Pages/Campusmap/CampusMapPage.xaml.cs | 5 ++ .../Pages/Campusmap/RoomListPage.xaml | 36 +++------ .../Pages/Campusmap/RoomListPage.xaml.cs | 76 ++++++++++++++++++- 7 files changed, 148 insertions(+), 28 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 79c3aa26..075d64a7 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -119,6 +119,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index 9f3c79b5..9d95e476 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -44,6 +44,20 @@ namespace CampusAppWP8.Model.Campusmap this.GeoOffsetY = 51.766548; } + public CBMainMapModel() + { + this.ImageSource = Constants.FileMap_CBMainMap; + this.ImageWidth = 2000; + this.ImageHeight = 1425; + this.MapImageOffsetX = -228; + this.MapImageOffsetY = -300; + this.RefPoint = new Point(1365, 800); + this.ScaleX = 129483.4123222749; + this.ScaleY = 197648.8919266073; + this.GeoOffsetX = 14.327159; + this.GeoOffsetY = 51.766548; + } + #endregion #region Method diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs new file mode 100644 index 00000000..523eb7fa --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapRoomModel.cs @@ -0,0 +1,40 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 13.08.2013 +//----------------------------------------------------------------------------- +namespace CampusAppWP8.Model.Campusmap +{ + using System.Windows; + using CampusAppWP8.File.Places; + using CampusAppWP8.Model.GeoDb; + using CampusAppWP8.Resources; + using System.Collections.Generic; + + /// + /// Class for the MapModel of the mainCampus of cottbus + /// + public class CBMainMapRoomModel : CBMainMapModel + { + #region Constructor + public CBMainMapRoomModel() + { + this.ImageSource = Constants.FileMap_CBMainMap; + this.ImageWidth = 4000; + this.ImageHeight = 2850; + this.MapImageOffsetX = 48; + this.MapImageOffsetY = 0; + this.RefPoint = new Point(2430, 1600); + this.ScaleX = 258966.8246445498; + this.ScaleY = 395297.7838532146; + this.GeoOffsetX = 14.327159; + this.GeoOffsetY = 51.766548; + } + + #endregion + + + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs index 7b9bfb8f..579a80f3 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs @@ -30,6 +30,10 @@ namespace CampusAppWP8.Model.Campusmap this.IsReady = true; } + public CampusMapModel() + { + } + #endregion #region property diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 39877a04..8a9496e0 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -692,6 +692,11 @@ namespace CampusAppWP8.Pages.Campusmap /// List of places private void ShowMapInfo(List places) { + if (places == null) + { + return; + } + string msgText = string.Empty; foreach (PlaceModel place in places) { diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml index be326965..4abd06c1 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml @@ -16,33 +16,17 @@ + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + \ 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 dc0cac40..c8cd391a 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/RoomListPage.xaml.cs @@ -17,6 +17,10 @@ namespace CampusAppWP8.Pages.Campusmap using CampusAppWP8.Resources; using Microsoft.Phone.Controls; using CampusAppWP8.Utility.Lui.MessageBoxes; + using CampusAppWP8.Model.Campusmap; + using System.Windows; + using System.Windows.Controls; + using CampusAppWP8.Utility; /// /// Class of the RoomListPage @@ -34,6 +38,9 @@ namespace CampusAppWP8.Pages.Campusmap /// private CampusBuildingModel building; + /// Variable for the map model. + private CampusMapModel campusMap; + #endregion #region Constructor @@ -43,6 +50,8 @@ namespace CampusAppWP8.Pages.Campusmap public RoomListPage() { this.InitializeComponent(); + this.campusMap = new CBMainMapRoomModel(); + this.campusMap.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo); } #endregion @@ -100,8 +109,30 @@ namespace CampusAppWP8.Pages.Campusmap if (this.building != null && this.building.Layers != null && this.building.Layers.Count > 0) { - this.SetCaptionsToRooms(); - this.RoomPivot.ItemsSource = this.GetSortedLayers(this.building); + Dictionary layers = this.GetSortedLayers(this.building); + double y = this.building.Building.GeoRefPoint.Latitude; + double x = this.building.Building.GeoRefPoint.Longitude; + Point mappoint = this.campusMap.GetScrollPoint(this.campusMap.ConverToPixelPoint(this.campusMap.ConverToMapPoint(x, y))); + + this.MapCanvas.DataContext = campusMap; + + Canvas.SetLeft(this.imgMap, -1 * mappoint.X); + Canvas.SetTop(this.imgMap, -1 * mappoint.Y); + Canvas.SetZIndex(this.imgMap, 0); + + Point offsetPoint = new Point(240, 0); + MapCanvas.Children.Add(this.campusMap.AddPin(offsetPoint, MapPinModel.PinType.SearchPlace)); + CampusBuildingLayerModel layer = layers.Values.ToList()[0]; + foreach (PlaceModel room in layer.Rooms.Places) + { + x = room.GeoRefPoint.Longitude; + y = room.GeoRefPoint.Latitude; + Point roompoint = this.campusMap.GetScrollPoint(this.campusMap.ConverToPixelPoint(this.campusMap.ConverToMapPoint(x, y))); + Point viewPoint = new Point(roompoint.X - mappoint.X + offsetPoint.X, roompoint.Y - mappoint.Y + offsetPoint.Y); + MapCanvas.Children.Add(this.campusMap.AddPin(viewPoint, MapPinModel.PinType.InfoPlace, new List{room})); + } + this.LayoutRoot.UpdateLayout(); + } else { @@ -115,6 +146,47 @@ namespace CampusAppWP8.Pages.Campusmap } + private void ShowMapInfo(List places) + { + string msgText = string.Empty; + if (places == null) + { + return; + } + foreach (PlaceModel place in places) + { + msgText += AppResources.PlaceLabel_Name + ": "; + msgText += place.GetInformationsValue(Constants.PisInformationName_Name); + msgText = Wp8StringManager.AddNewLine(msgText); + + string type = place.GetInformationsValue(Constants.PisInformationName_Typ); + if (type != null) + { + msgText += AppResources.PlaceLabel_Type + ": "; + msgText += type; + msgText = Wp8StringManager.AddNewLine(msgText); + } + + string shortDesc = place.GetInformationsValue(Constants.PisInformationName_ShortDesc); + if (shortDesc != null) + { + msgText += AppResources.PlaceLabel_ShortDesc + ": "; + 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); + } + /// /// Method sorts the Layers ///