public void addMenuItem(String text, int ordinal, int priority, int wrapper_callback, int callback, int push_at_start) { for (int i = 0; i < m_menuItems.Count; i++) { WazeMenuItem m = (WazeMenuItem)m_menuItems[i]; if (text.CompareTo(m.ToString()) == 0) { return; // item already exists, don't add. } } // Do not add the exit menu item any more - add save logs instead if (text.ToLower().Equals("exit") || text.Equals("יציאה") || text.Equals(LanguageResources.Instance.Translate("Quit"))) { System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(LanguageResources.Instance.Translate("Save logs")); appBarMenuItem.Click += (delegate { EmailLogFile(null, null); //Logger.WriteToFile(); }); ApplicationBar.MenuItems.Add(appBarMenuItem); }); return; // We added the save logs, but we don't want to add the exit item... //System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => //{ // ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Delete Cache"); // appBarMenuItem.Click += (delegate // { // TileStorage ts = CRunTime.objectRepository[Syscalls.ts_id] as TileStorage; // if (ts != null) // { // ts.eraseStorage(); // ts.initialize(); // } // //Logger.WriteToFile(); // }); // ApplicationBar.MenuItems.Add(appBarMenuItem); //}); } WazeMenuItem new_item = new WazeMenuItem(text, ordinal, priority, wrapper_callback, callback); if (push_at_start == 1) { m_menuItems.Insert(0, new_item); } else { m_menuItems.Add(new_item); } bool addMenuItem = true; if (text.ToLower().Equals("me on map") || text.Equals("הצג אותי") || text.Equals(LanguageResources.Instance.Translate("Me on map"))) { MeOnMapItem = new_item; addIconMenuItem("Resources/compas.png", text, MeOnMapItem); addMenuItem = false; } else if (text.ToLower().Equals("drive to") || text.Equals("נווט") || text.Equals(LanguageResources.Instance.Translate("Drive to"))) { addIconMenuItem("Resources/search.png", text, new_item); addMenuItem = false; } else if (text.ToLower().Equals("report") || text.Equals("דווח") || text.Equals(LanguageResources.Instance.Translate("Report"))) { addIconMenuItem("Resources/i.png", text, new_item); Report = new_item; addMenuItem = false; } else if (text.ToLower().Equals("my favorites") || text.Equals("המועדפים שלי") || text.Equals(LanguageResources.Instance.Translate("My favorites"))) { addIconMenuItem("Resources/favorites.png", text, new_item); addMenuItem = false; } else if (text.ToLower().Equals("zoom in") || text.Equals(LanguageResources.Instance.Translate("Zoom In"))) { ZoomIn = new_item; addMenuItem = false; } else if (text.ToLower().Equals("zoom out") || text.Equals(LanguageResources.Instance.Translate("Zoom Out"))) { ZoomOut = new_item; addMenuItem = false; } else if (text.ToLower().Contains("favorites") || text.Equals(LanguageResources.Instance.Translate("Restore Favorites"))) { RestoreFavorites = new_item; addMenuItem = false; } //else if (text.ToLower().Equals("settings") || text.Equals("הגדרות")) //{ // addIconMenuItem("Resources/appbar.feature.settings.rest.png", text, new_item); // addMenuItem = false; //} /* if (!perf_button_added) { perf_button_added = true; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Save perf data"); appBarMenuItem.Click += EmailLogFile; ApplicationBar.MenuItems.Add(appBarMenuItem); }); System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Clear perf data"); appBarMenuItem.Click += delegate { Syscalls.fis.Clear(); }; ApplicationBar.MenuItems.Add(appBarMenuItem); }); } */ /* if (!isSendMailAdded) { isSendMailAdded = true; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Email log file"); appBarMenuItem.Click += EmailLogFile; ApplicationBar.MenuItems.Add(appBarMenuItem); }); }*/ if (addMenuItem) { System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { // Create a new menu item with the localized string from AppResources ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(text); if (text.ToLower().Equals("about") || text.Equals("אודות") || text.Equals(LanguageResources.Instance.Translate("About"))) { appBarMenuItem.Click += delegate { String s = GetAppVersion(); AboutDialog ad = new AboutDialog(); ad.SetVersion(s); GamePage.get().GetPopupPanel().Children.Add(ad); }; //appBarMenuItem = new ApplicationBarMenuItem("טען מפה"); //appBarMenuItem.Click += delegate //{ // UnZipper uz = new UnZipper(Application.GetResourceStream(new Uri("/WazeWP7;component/resources/tel_aviv_till_hod_hasharon.zip", UriKind.Relative)).Stream); // foreach (string filename in uz.FileNamesInZip) // { // Stream st = uz.GetFileStream(filename); // Syscalls.CopyFileFromStream(st, filename); // } // Syscalls.NOPH_TileStorage_initialize(Syscalls.ts_id); // MessageBox.Show("Finished"); //}; } else { appBarMenuItem.Click += (delegate { new_item.CallCallback(); }); } ApplicationBar.MenuItems.Add(appBarMenuItem); }); } }
public void addMenuItem(String text, int ordinal, int priority, int wrapper_callback, int callback, int push_at_start) { for (int i = 0; i < m_menuItems.Count; i++) { WazeMenuItem m = (WazeMenuItem)m_menuItems[i]; if (text.CompareTo(m.ToString()) == 0) { return; // item already exists, don't add. } } /* if (text.Equals("Accept")) { int c_on_menuItem = CibylCallTable.getAddressByName("rim_on_menuItem"); if (c_on_menuItem != 0) { UIWorker.addUIEvent(c_on_menuItem, wrapper_callback, callback, 0, 0, true); } }*/ WazeMenuItem new_item = new WazeMenuItem(text, ordinal, priority, wrapper_callback, callback); if (push_at_start == 1) { m_menuItems.Insert(0, new_item); } else { m_menuItems.Add(new_item); } System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { // Create a new menu item with the localized string from AppResources ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(text); if (text.ToLower().Equals("About") || text.Equals("אודות")) { appBarMenuItem.Click += delegate { string name = System.Reflection.Assembly.GetExecutingAssembly().FullName; System.Reflection.AssemblyName asmName = new System.Reflection.AssemblyName(name); //System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); Version version = asmName.Version; String s = String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Build, version.Revision); AboutDialog ad = new AboutDialog(); ad.SetVersion(s); FreeMapMainScreen.get().LayoutRoot.Children.Add(ad); }; ApplicationBar.MenuItems.Add(appBarMenuItem); appBarMenuItem = new ApplicationBarMenuItem("טען מפה"); appBarMenuItem.Click += delegate { /* TileStorage ts = (TileStorage)CRunTime.objectRepository[Syscalls.ts_id]; UnZipper uz = new UnZipper(Application.GetResourceStream(new Uri("/WazeWP7;component/resources/tiles.zip", UriKind.Relative)).Stream); int index = 0; foreach (string filename in uz.FileNamesInZip) { int tile_index = int.Parse(filename); Stream st = uz.GetFileStream(filename); BinaryReader br = new BinaryReader(st); byte[] tile_bytes = new byte[st.Length]; br.Read(tile_bytes, 0, tile_bytes.Length); ts.storeTileEx(77001, tile_index, tile_bytes); index++; }*/ UnZipper uz = new UnZipper(Application.GetResourceStream(new Uri("/WazeWP7;component/resources/tel_aviv_till_hod_hasharon.zip", UriKind.Relative)).Stream); foreach (string filename in uz.FileNamesInZip) { Stream st = uz.GetFileStream(filename); Syscalls.CopyFileFromStream(st, filename); } Syscalls.NOPH_TileStorage_initialize(Syscalls.ts_id); /* StreamResourceInfo info = Application.GetResourceStream(new Uri("/WazeWP7;component/resources/tiles/file_list.txt", UriKind.Relative)); using (StreamReader reader = new StreamReader(info.Stream)) { string line = reader.ReadLine(); while (line != null) { int tile_index = int.Parse(line); Stream tile = Application.GetResourceStream(new Uri("/WazeWP7;component/resources/tiles/" + line, UriKind.Relative)).Stream; BinaryReader br = new BinaryReader(tile); byte[] tile_bytes = new byte[tile.Length]; br.Read(tile_bytes, 0, tile_bytes.Length); ts.storeTileEx(77001, tile_index, tile_bytes); line = reader.ReadLine(); } }*/ MessageBox.Show("Finished"); }; } else { appBarMenuItem.Click += (delegate { new_item.CallCallback(); }); } ApplicationBar.MenuItems.Add(appBarMenuItem); }); if (text.ToLower().Equals("me on map") || text.Equals("הצג אותי")) { MeOnMapItem = new_item; ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("Resources/compas.png", UriKind.Relative)); appBarButton.Text = "Me on map"; appBarButton.IconUri = new Uri("Resources/compas.png", UriKind.Relative); appBarButton.Click += delegate { new_item.CallCallback(); }; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBar.Buttons.Add(appBarButton); }); } if (text.ToLower().Equals("drive to") || text.Equals("נווט")) { ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("Resources/search.png", UriKind.Relative)); appBarButton.Text = "Navigate"; appBarButton.IconUri = new Uri("Resources/search.png", UriKind.Relative); appBarButton.Click += delegate { new_item.CallCallback(); }; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBar.Buttons.Add(appBarButton); }); } //if (text.ToLower().Equals("stop navigation") || text.Equals("הפסק ניווט")) //{ // ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("Resources/cancel.png", UriKind.Relative)); // appBarButton.Text = "Navigate"; // appBarButton.IconUri = new Uri("Resources/cancel.png", UriKind.Relative); // appBarButton.Click += delegate // { // new_item.CallCallback(); // }; // System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => // { // ApplicationBar.Buttons.Add(appBarButton); // }); //} if (text.ToLower().Equals("report") || text.Equals("דווח")) { ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("Resources/i.png", UriKind.Relative)); appBarButton.Text = "Report"; appBarButton.IconUri = new Uri("Resources/i.png", UriKind.Relative); appBarButton.Click += delegate { new_item.CallCallback(); }; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBar.Buttons.Add(appBarButton); }); } if (text.ToLower().Equals("Saved locations") || text.Equals("מקומות שמורים")) //if (text.ToLower().Equals("exit") || text.Equals("יציאה")) { ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("Resources/favorites.png", UriKind.Relative)); appBarButton.Text = "Saved Locs"; appBarButton.IconUri = new Uri("Resources/favorites.png", UriKind.Relative); appBarButton.Click += delegate { new_item.CallCallback(); //MessageBoxResult res = MessageBox.Show("Are you sure you want to exit", "Exit", MessageBoxButton.OKCancel); //if (res == MessageBoxResult.OK) // new_item.CallCallback(); }; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBar.Buttons.Add(appBarButton); }); } /* if (!perf_button_added) { perf_button_added = true; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Save perf data"); appBarMenuItem.Click += EmailLogFile; ApplicationBar.MenuItems.Add(appBarMenuItem); }); System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Clear perf data"); appBarMenuItem.Click += delegate { Syscalls.fis.Clear(); }; ApplicationBar.MenuItems.Add(appBarMenuItem); }); } */ /* if (!isSendMailAdded) { isSendMailAdded = true; System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem("Email log file"); appBarMenuItem.Click += EmailLogFile; ApplicationBar.MenuItems.Add(appBarMenuItem); }); }*/ }