diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 65a2fc88..23949af1 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(); @@ -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 7d95d4e0..4bff7b4f 100644 Binary files a/CampusAppWP8/CampusAppWP8/Assets/ApplicationIcon.png and b/CampusAppWP8/CampusAppWP8/Assets/ApplicationIcon.png differ 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 00000000..f95a93ca Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Assets/Icons/DarkTheme/placeinfo_159.png differ diff --git a/CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/placeinfo_159.png b/CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/placeinfo_159.png new file mode 100644 index 00000000..f95a93ca Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Assets/Icons/LightTheme/placeinfo_159.png differ diff --git a/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-720p.png b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-720p.png new file mode 100644 index 00000000..243e36b7 Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-720p.png differ diff --git a/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WVGA.png b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WVGA.png new file mode 100644 index 00000000..f1c35fca Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WVGA.png differ diff --git a/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WXGA.png b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WXGA.png new file mode 100644 index 00000000..3a37c80d Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Assets/Lens.Screen-WXGA.png differ diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 3b770275..635ca627 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -114,8 +114,10 @@ + + @@ -154,6 +156,7 @@ True Constants.resx + @@ -449,6 +452,7 @@ + @@ -481,6 +485,7 @@ + @@ -492,6 +497,9 @@ + + + PreserveNewest 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/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 95552f47..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 @@ -22,11 +23,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 @@ -34,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; @@ -46,42 +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() - { - 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); - } - } - } + #region Method #endregion } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs index 812a8d78..7b9bfb8f 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CampusMapModel.cs @@ -1,13 +1,67 @@ -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 + + /// + /// 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(); + 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); + } + + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs new file mode 100644 index 00000000..8267acd1 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/ClickAblePlacePinModel.cs @@ -0,0 +1,47 @@ +//----------------------------------------------------------------------- +// +// 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 + + /// + /// 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..0410b28e 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CurrentPositionPinModel.cs @@ -26,6 +26,8 @@ namespace CampusAppWP8.Model.Campusmap this.ImageHeight = 60; 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 e684b3d9..e8343a76 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/HiddenPinPlaceModel.cs @@ -11,5 +11,13 @@ 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; + this.ZIndex = 0; + } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs new file mode 100644 index 00000000..7c4384fc --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/InfoPlacePinModel.cs @@ -0,0 +1,36 @@ +//----------------------------------------------------------------------- +// +// 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. + /// + /// Stubbfel, 27.08.2013. + public InfoPlacePinModel() + { + 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 40c97791..e8143bfc 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -27,7 +27,18 @@ namespace CampusAppWP8.Model.Campusmap /// public MapModel() { - this.LoadSpatials(); + this.IsReady = false; + } + + /// + /// Initializes a new instance of the class. + /// + /// list of places + public MapModel(List placeList) + { + this.IsReady = false; + this.LoadSpatials(placeList); + this.IsReady = true; } #endregion @@ -48,6 +59,11 @@ 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; } + /// /// Gets or sets the ImageSource of the map /// @@ -195,6 +211,7 @@ namespace CampusAppWP8.Model.Campusmap Canvas.SetTop(pinImg, pin.Position.Y); Canvas.SetLeft(pinImg, pin.Position.X); + Canvas.SetZIndex(pinImg, pin.ZIndex); return pinImg; } @@ -246,8 +263,11 @@ namespace CampusAppWP8.Model.Campusmap /// Loads the spatial./ /// Stubbfel, 19.08.2013. - protected virtual void LoadSpatials() + /// list of places + protected virtual void LoadSpatials(List placeList) { + this.Spatial = new SpsModel(); + this.Spatial.AddPlaces(placeList); } #endregion @@ -275,11 +295,19 @@ 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..46ee4028 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapPinModel.cs @@ -17,6 +17,26 @@ 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); + /// /// Variable of the actual position of the pin /// @@ -46,12 +66,47 @@ 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 #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 /// @@ -67,6 +122,11 @@ namespace CampusAppWP8.Model.Campusmap /// public double ImageHeight { get; set; } + /// + /// Gets or sets the ZIndex of the pin + /// + public int ZIndex { get; set; } + /// /// Gets or sets the ImageOffsetX of the pin /// @@ -114,6 +174,46 @@ namespace CampusAppWP8.Model.Campusmap } } } + + /// + /// Gets or sets the tag of the pin + /// + public object Tag { get; set; } + + #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; + + switch (type) + { + case PinType.CurrentPosition: + result = MapPinModel.currendPositionPlacePinString; + break; + case PinType.Hidden: + result = MapPinModel.hiddenPlacePinString; + break; + case PinType.InfoPlace: + result = MapPinModel.infoPlacePinString; + break; + case PinType.SearchPlace: + 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 15b62fc3..63b8f00d 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/SearchPlacePinModel.cs @@ -8,13 +8,11 @@ namespace CampusAppWP8.Model.Campusmap { - using System.Collections.Generic; - using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; /// Search pin place model. /// Stubbfel, 27.08.2013. - public class SearchPlacePinModel : MapPinModel + public class SearchPlacePinModel : ClickAblePlacePinModel { #region Constructor @@ -29,34 +27,8 @@ 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; + this.ZIndex = 3; } #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 5f3fe554..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; @@ -38,6 +40,11 @@ namespace CampusAppWP8.Pages.Campusmap /// Variable for the map model. private CampusMapModel campusMap; + /// + /// Variable for the PlaceFile + /// + private PlacesFile file; + /// /// List of information names /// @@ -48,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 @@ -57,12 +74,10 @@ 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; + ApplicationBarMenuItem menuItem3 = ApplicationBar.MenuItems[2] as ApplicationBarMenuItem; if (menuItem1 != null) { @@ -73,10 +88,37 @@ 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(); + } + + this.file.OnLoaded += new PlacesFile.OnIO(this.FileIsReady); + this.file.LoadData(); } #endregion + #region Events + + /// + /// Delegate for LoadingPlace events + /// + /// the events args + public delegate void LoadingPlace(string args); + + /// + /// Event for loading places + /// + public event LoadingPlace OnLoadingPlace; + #endregion + #region Method #region protected @@ -87,26 +129,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); @@ -120,7 +158,7 @@ namespace CampusAppWP8.Pages.Campusmap string searchPid = Wp8StringManager.FilterPlaceIdinQRResultString(qrcodeResult); if (searchPid != null) { - this.AddPinsByPids(new List() { searchPid }, MapPinModel.PinType.SearchPlace); + this.ShowAllPlacesByPlaceIdAsSearchPin(searchPid); } } } @@ -129,18 +167,242 @@ 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()) + { + this.SetLastQuery(query, this.ShowPlacesByQueryAsHiddenPin); + } + else + { + this.ShowPlacesByQuery(query, MapPinModel.PinType.Hidden, false); + } + } + + /// + /// Method shows certain places as search Pin + /// + /// the query string + 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); + } + } + + /// + /// 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); + } + + /// + /// 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()) + { + this.SetLastQuery(placeId, this.ShowAllPlacesByPlaceIdAsSearchPin); + } + else + { + 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()) + { + this.SetLastQuery(placeId, this.ShowPlacesByPlaceIdAsSearchPin); + } + else + { + this.ShowPlacesByPlaceId(placeId, MapPinModel.PinType.SearchPlace, false); + } + } + + /// + /// Method show all buildings of a campus + /// + /// the id of the campus + private void ShowAllCampusBuilding(string campusId) + { + if (!this.IsMapReady()) + { + this.SetLastQuery(campusId, this.ShowAllCampusBuilding); + } + else + { + this.AddPins(this.campusMap.Spatial.Places.ToList(), MapPinModel.PinType.InfoPlace, false); + } + } + + /// + /// 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 || !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()); + this.MapCanvas.DataContext = this.campusMap; + this.campusMap.ShowMapInfos += new CBMainMapModel.MapInfos(this.ShowMapInfo); + if (this.OnLoadingPlace != null) + { + this.OnLoadingPlace(this.lastQuery); + } + } + + /// TextSearch 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); + } + + /// + /// 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(string.Empty); + 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; + } + + /// + /// Method clear the Map + /// + /// (optional) tags of the UIElement + 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) + /// (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 if (clearCanvas) { - MapCanvas.Children.Clear(); + this.ClearMap(); + } + else + { + this.ClearMap(new List() { MapPinModel.PinTypeToString(pinType) }); } // null and empty list assert @@ -151,10 +413,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); @@ -168,15 +439,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 /// @@ -224,11 +486,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 @@ -254,33 +516,27 @@ 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. + /// (optional) if its true, search places in place file, otherwise in CampusMapModel /// 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) @@ -291,7 +547,7 @@ 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. @@ -303,6 +559,11 @@ namespace CampusAppWP8.Pages.Campusmap { foreach (PlaceModel place in places) { + if (place == null) + { + continue; + } + GeoCoordinate coor = place.GeoRefPoint; if (coor != null) { @@ -331,9 +592,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. @@ -404,6 +662,7 @@ namespace CampusAppWP8.Pages.Campusmap } else { + this.ClearMap(new List() { MapPinModel.CurrendPositionPlacePinString }); this.SetPinToPosition(lat, log, MapPinModel.PinType.CurrentPosition, scroll); } } @@ -440,36 +699,46 @@ 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 + ": "; 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); 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; - } + MessageBoxResult msgResult = MessageBoxes.ShowPlaceInfoOkCancelMessageBox(AppResources.MsgBox_ShowRoomList); + 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; + } } } } @@ -481,13 +750,14 @@ 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)) { return true; } } + return false; } 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 diff --git a/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs index 76f8bd73..023cde77 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Dev/QRScanner.xaml.cs @@ -19,6 +19,7 @@ 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; @@ -35,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 @@ -77,15 +81,15 @@ 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); - this.isInAutofocus = false; } 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,15 +216,26 @@ 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) { - 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 { @@ -246,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 4d8b94b2..fc444e49 100644 --- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml +++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml @@ -1,8 +1,8 @@  - - 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-CampusApp + + + + True - + + + + + + + + + + + + diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index f3c27a3a..0d621fb5 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. /// @@ -753,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 8eea55e9..9528d551 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -452,4 +452,19 @@ 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? + + + Type + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index c2faecea..5a20763f 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -534,4 +534,10 @@ Ebene + + 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 678ece02..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. /// @@ -960,6 +969,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 diff --git a/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs b/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs new file mode 100644 index 00000000..a25d83e2 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Utility/AppUriMapper.cs @@ -0,0 +1,43 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 26.09.2013 +//---------------------------------------------------------------------- + +namespace CampusAppWP8.Utility +{ + using System; + using System.Windows.Navigation; + using CampusAppWP8.Resources; + + /// + /// 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) + { + string 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; + } + } +} 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 + + + + + + + + +