コード例 #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            View.BackgroundColor = UIColor.Gray;

            // create the menu button
            var frame = new CGRect(MARGIN, View.Frame.Height - BUTTON_SIZE - MARGIN, BUTTON_SIZE, BUTTON_SIZE);

            menu = new SatelliteMenuButton(View, UIImage.FromBundle("Img/menu.png"), frame);
            menu.MenuItemClick += (_, args) => {
                new UIAlertView("", "Selected item: " + args.MenuItem.Name, null, "OK", null).Show();
            };
            // add the items
            menu.AddItems(new [] {
                new SatelliteMenuButtonItem(UIImage.FromBundle("Img/icon1.png"), "Search"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("Img/icon2.png"), "Tag"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("Img/icon3.png"), "Upload"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("Img/icon4.png"), "Locate"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("Img/icon5.png"), "Magic"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("Img/icon6.png"), "Refresh")
            });
            // add to the view
            View.Add(menu);
        }
コード例 #2
0
        SatelliteMenuButton CreateMenuButton()
        {
            int tag;
            var frame = new RectangleF(MARGIN, View.Frame.Height - MARGIN - BUTTON_SIZE, BUTTON_SIZE, BUTTON_SIZE);
            var menu  = new SatelliteMenuButton(View, UIImage.FromFile("Img/menu.png"), new [] {
                new SatelliteMenuButtonItem(UIImage.FromFile("Img/icon1.png"), tag = 0, "Search"),
                new SatelliteMenuButtonItem(UIImage.FromFile("Img/icon2.png"), ++tag, "Tag"),
                new SatelliteMenuButtonItem(UIImage.FromFile("Img/icon3.png"), ++tag, "Upload"),
                new SatelliteMenuButtonItem(UIImage.FromFile("Img/icon4.png"), ++tag, "Locate"),
                new SatelliteMenuButtonItem(UIImage.FromFile("Img/icon5.png"), ++tag, "Magic"),
                new SatelliteMenuButtonItem(UIImage.FromFile("Img/icon6.png"), ++tag, "Refresh")
            }, frame);

            menu.MenuItemClick += (_, args) => {
                new UIAlertView("", "Selected item: " + args.MenuItem.Name, null, "OK", null).Show();
            };

            return(menu);
        }
コード例 #3
0
		SatelliteMenuButton CreateMenuButton ()
		{
			int tag;
			var frame = new RectangleF (MARGIN, View.Frame.Height - MARGIN - BUTTON_SIZE, BUTTON_SIZE, BUTTON_SIZE);
			var menu = new SatelliteMenuButton (View, UIImage.FromFile ("Img/menu.png"), new [] { 
				new SatelliteMenuButtonItem (UIImage.FromFile ("Img/icon1.png"), tag = 0, "Search"), 
				new SatelliteMenuButtonItem (UIImage.FromFile ("Img/icon2.png"), ++tag, "Tag"),
				new SatelliteMenuButtonItem (UIImage.FromFile ("Img/icon3.png"), ++tag, "Upload"),
				new SatelliteMenuButtonItem (UIImage.FromFile ("Img/icon4.png"), ++tag, "Locate"),
				new SatelliteMenuButtonItem (UIImage.FromFile ("Img/icon5.png"), ++tag, "Magic"),
				new SatelliteMenuButtonItem (UIImage.FromFile ("Img/icon6.png"), ++tag, "Refresh")
			}, frame);

			menu.MenuItemClick += (_, args) => {
				new UIAlertView ("", "Selected item: " + args.MenuItem.Name, null, "OK", null).Show ();
			};

			return menu;
		}
コード例 #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            View.BackgroundColor = UIColor.Gray;

            // create the menu button
            var frame = new CGRect (MARGIN, View.Frame.Height - BUTTON_SIZE - MARGIN, BUTTON_SIZE, BUTTON_SIZE);
            menu = new SatelliteMenuButton (View, UIImage.FromBundle ("Img/menu.png"), frame);
            menu.MenuItemClick += (_, args) => {
                new UIAlertView ("", "Selected item: " + args.MenuItem.Name, null, "OK", null).Show ();
            };
            // add the items
            menu.AddItems(new []{
                new SatelliteMenuButtonItem (UIImage.FromBundle ("Img/icon1.png"), "Search"),
                new SatelliteMenuButtonItem (UIImage.FromBundle ("Img/icon2.png"), "Tag"),
                new SatelliteMenuButtonItem (UIImage.FromBundle ("Img/icon3.png"), "Upload"),
                new SatelliteMenuButtonItem (UIImage.FromBundle ("Img/icon4.png"), "Locate"),
                new SatelliteMenuButtonItem (UIImage.FromBundle ("Img/icon5.png"), "Magic"),
                new SatelliteMenuButtonItem (UIImage.FromBundle ("Img/icon6.png"), "Refresh")
            });
            // add to the view
            View.Add (menu);
        }
コード例 #5
0
        /// <summary>
        /// Create the satellite buttons of the main view and assign the events to them
        /// Sets also the events for every menu button
        /// </summary>
        /// <returns>The menu button.</returns>
        public override SatelliteMenuButton CreateMenuButton()
        {
            int tag;
            var frame = new CGRect(10, 156, 44, 44);
            button1 = new SatelliteMenuButtonItem(UIImage.FromFile("Images/NewPage.png"), tag = 0, "New");
            button2 = new SatelliteMenuButtonItem(UIImage.FromFile("Images/EditPage.png"), ++tag, "Edit");
            button3 = new SatelliteMenuButtonItem(UIImage.FromFile("Images/DeletePage.png"), ++tag, "Delete");
            button4 = new SatelliteMenuButtonItem(UIImage.FromFile("Images/DownloadPage.png"), ++tag, "Offline");
            button5 = new SatelliteMenuButtonItem(UIImage.FromFile("Images/SavePage.png"), ++tag, "Save");

            // Reset the MenuButton if there is something inside of it
            if (menu == null)
                menu = new SatelliteMenuButton(this.ButtonContainerView, UIImage.FromFile("Image/menu.png"), frame);
            else if (menu.Items.Length != 5)
            {
                foreach (SatelliteMenuButtonItem item in menu.Items)
                {
                    menu.RemoveItem(item);
                }
            }

            //var frame = new RectangleF (MARGIN, View.Frame.Height - MARGIN - BUTTON_SIZE, BUTTON_SIZE, BUTTON_SIZE);
            menu = new SatelliteMenuButton(this.ButtonContainerView, UIImage.FromFile("Images/menu.png"), new []
                { 
                    button1, 
                    button2,
                    button3,
                    button4,
                    button5
                }, frame);

            menu.Radius = 120;
            menu.RotateToSide = false;

            menu.MenuItemClick += async (_, args) =>
            {
                bool result = false;
                try
                {
                    // Run the progressbar


                    switch (args.MenuItem.Name)
                    {
                        case "New":
                            hud = new MTMBProgressHUD(this.TabBarController.View){ DimBackground = true, LabelText = LocalString.GetString("SavingData") };
                            this.TabBarController.View.AddSubview(hud);
                            hud.Show(true);
                            Application._UIManager.BtnNewClick();
                            break;

                        case "Edit":
                            hud = new MTMBProgressHUD(this.TabBarController.View){ DimBackground = true, LabelText = LocalString.GetString("SavingData") };
                            this.TabBarController.View.AddSubview(hud);
                            hud.Show(true);
                            Application._UIManager.BtnEditClick();
                            break;

                        case "Delete":
                            hud = new MTMBProgressHUD(this.TabBarController.View){ DimBackground = true, LabelText = LocalString.GetString("SavingData") };
                            this.TabBarController.View.AddSubview(hud);
                            hud.Show(true);
                            result = await Application._UIManager.BtnDeleteClickAsync();
                            if (result == true)
                                MessageBox.ShowSavedSuccessfully(this.TabBarController.View, LocalString.GetString("DeletedSuccessfully"));
                            break;

                        case "Offline":
                            if (Application._user.NetworkStatus == DataAccessLayer.NetworkState.Disconnected)
                                return;
                            progress = 0;
                            hud = new MTMBProgressHUD(this.TabBarController.View)
                                { Mode = MBProgressHUDMode.DeterminateHorizontalBar, LabelText = LocalString.GetString("DownloadingOffline") };
                            this.TabBarController.View.AddSubview(hud);
                            hud.Progress = 0;
                            hud.Show(true, MyProgressTask);

                            result = await Application._UIManager.BtnOfflineClickAsync();
                            hud.Progress = 0.99f;
                            await System.Threading.Tasks.Task.Delay(500);
                            hud.Progress = 1.1f;


                            if (result == true)
                                MessageBox.ShowSavedSuccessfully(this.TabBarController.View, LocalString.GetString("SavedOfflineSuccessfully"));

                            break;

                        case "Save":

                            result = await Application._UIManager.BtnSaveClickAsync();
                            if (result == true)
                                MessageBox.ShowSavedSuccessfully(this.TabBarController.View, LocalString.GetString("SavedSuccessfully"));
                            break;

                        default:
                            break;
                    }
                }
                catch (Exception ex)
                {
                    DataAccessLayer.ExceptionWriter.WriteLogFile(ex);
                }
                finally
                {
                    Console.WriteLine("finally entered");
                    // finallize the progressbar
                    if (hud != null)
                    {
                        hud.RemoveFromSuperview();
                        hud = null;
                    }
                    Console.WriteLine("finally finished");
                }


            };

            this.ButtonContainerView.Add(menu);

            return menu;
        }
コード例 #6
0
ファイル: EarthView.cs プロジェクト: rootdevelop/Sunny
        void AddSateliteMenu()
        {
            var image = UIImage.FromBundle("sun.png");
            var yPos = View.Frame.Height - 100 - 10;
            var frame = new RectangleF(10, yPos, 100, 100);

            var items = new []
            { 
                new SatelliteMenuButtonItem(UIImage.FromBundle("moon.png"), 1, "About"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("earth.png"), 2, "About"),
                new SatelliteMenuButtonItem(UIImage.FromBundle("mars.png"), 3, "About"),
            };

            var button = new SatelliteMenuButton(View, image, items, frame);

            button.MenuItemClick += (_, args) =>
            {
                Console.WriteLine("{0} was clicked!", args.MenuItem.Name);
            };

            View.AddSubview(button);
        }
コード例 #7
0
ファイル: ViewController.cs プロジェクト: kappajbeta/Bloons
        void AddMenu()
        {
            SatelliteMenuButtonItem[] menuItems;
            string connectedServices = (String.IsNullOrWhiteSpace(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED)) ? string.Empty : userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED));
            var    menuImage         = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "Menu.png");
            var    philipsHueImage   = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "HueOff.png");
            var    soundImage        = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "SoundOn.png");
            var    facebookImage     = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "Facebook" + ((SLComposeViewController.IsAvailable(SLServiceKind.Twitter) == true) &&
                                                                                                         (connectedServices.Contains("Facebook") == true) ?
                                                                                                         "Connected" : "Disconnected") + ".png");
            var twitterImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "Twitter" + ((SLComposeViewController.IsAvailable(SLServiceKind.Twitter) == true) &&
                                                                                                (connectedServices.Contains("Twitter") == true) ?
                                                                                                "Connected" : "Disconnected") + ".png");
            var menuFrame = new RectangleF(2, (float)View.Window.Frame.Height - 50, 48, 48);

            if (String.IsNullOrWhiteSpace(userDefaults.StringForKey(SOUND_STATUS_KEY)) == false)
            {
                gameLayer.SoundOn = (userDefaults.StringForKey(SOUND_STATUS_KEY) == "On");

                if ((gameLayer.SoundOn == true) &&
                    (ambientAudioWasPlaying == false))
                {
                    soundImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "SoundOn.png");
                    AVAudioSession.SharedInstance().SetActive(true, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation);
                    AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.SoloAmbient);
                }
                else
                {
                    gameLayer.SoundOn = false;

                    userDefaults.SetString("Off", SOUND_STATUS_KEY);
                    soundImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "SoundOff.png");
                    AVAudioSession.SharedInstance().SetActive(false, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation);
                    AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.Ambient, AVAudioSessionCategoryOptions.MixWithOthers);
                }
            }

            if (String.IsNullOrWhiteSpace(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED)) == true)
            {
                userDefaults.SetString(connectedServices, SOCIAL_NETWORKS_CONNECTED);
            }

            menuImage       = menuImage.Scale(new CGSize(96, 96));
            philipsHueImage = philipsHueImage.Scale(new CGSize(96, 96));
            soundImage      = soundImage.Scale(new CGSize(96, 96));
            facebookImage   = facebookImage.Scale(new CGSize(96, 96));
            twitterImage    = twitterImage.Scale(new CGSize(96, 96));
            menuItems       = new[] {
                new SatelliteMenuButtonItem(philipsHueImage, 1, "Philips Hue Off"),
                new SatelliteMenuButtonItem(soundImage, 2, "Sound " + (String.IsNullOrWhiteSpace(userDefaults.StringForKey(SOUND_STATUS_KEY)) ? "On"
                                                                       : userDefaults.StringForKey(SOUND_STATUS_KEY))),
                new SatelliteMenuButtonItem(facebookImage, 3, "Facebook " + ((SLComposeViewController.IsAvailable(SLServiceKind.Twitter) == true) &&
                                                                             (connectedServices.Contains("Facebook") == true) ? "Connected" : "Disconnected")),
                new SatelliteMenuButtonItem(twitterImage, 4, "Twitter " + ((SLComposeViewController.IsAvailable(SLServiceKind.Facebook) == true) &&
                                                                           (connectedServices.Contains("Twitter") == true) ? "Connected" : "Disconnected"))
            };

            satelliteMenu                   = new SatelliteMenuButton(View, menuImage, menuItems, menuFrame);
            satelliteMenu.Alpha             = 0.85f;
            satelliteMenu.CloseItemsOnClick = true;
            satelliteMenu.TouchUpInside    += (sender, e) =>
            {
                if (gameLayer.GamePaused == false)
                {
                    gameLayer.GamePaused = true;
                }
                else
                {
                    gameLayer.GamePaused = false;
                }
            };
            satelliteMenu.MenuItemClick += (sender, args) =>
            {
                if (args.MenuItem.Name == "Philips Hue On")
                {
                    ControlMenu("Hide");

                    selectorTableView.Hidden = false;
                }
                else if (args.MenuItem.Name == "Philips Hue Off")
                {
                    ControlMenu("Hide");
                    ChangePhilipsHueStatus();
                }
                else if (args.MenuItem.Name == "Sound On")
                {
                    gameLayer.SoundOn       = false;
                    args.MenuItem.Name      = "Sound Off";
                    args.MenuItem.ItemImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "SoundOff.png");

                    userDefaults.SetString("Off", SOUND_STATUS_KEY);

                    if (ambientAudioWasPlaying == true)
                    {
                        UIAlertController gameAudioAlert = UIAlertController.Create("Game Audio",
                                                                                    "Would you like to resume the audio that was playing before you started the game?",
                                                                                    UIAlertControllerStyle.Alert);

                        gameAudioAlert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, (connectionOK) =>
                        {
                            AVAudioSession.SharedInstance().SetActive(false, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation);
                            AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.Ambient, AVAudioSessionCategoryOptions.MixWithOthers);
                        }));

                        gameAudioAlert.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Default, (connectionCancel) =>
                        {
                            AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.Ambient, AVAudioSessionCategoryOptions.MixWithOthers);
                        }));

                        PresentViewController(gameAudioAlert, true, null);
                    }
                    else
                    {
                        AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.Ambient, AVAudioSessionCategoryOptions.MixWithOthers);
                    }
                }
                else if (args.MenuItem.Name == "Sound Off")
                {
                    gameLayer.SoundOn       = true;
                    args.MenuItem.Name      = "Sound On";
                    args.MenuItem.ItemImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "SoundOn.png");

                    userDefaults.SetString("On", SOUND_STATUS_KEY);
                    AVAudioSession.SharedInstance().SetActive(true, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation);
                    AVAudioSession.SharedInstance().SetCategory(AVAudioSessionCategory.SoloAmbient);
                }
                else if (args.MenuItem.Name == "Twitter Disconnected")
                {
                    if (SLComposeViewController.IsAvailable(SLServiceKind.Twitter) == false)
                    {
                        if (UIApplication.SharedApplication.CanOpenUrl(new NSUrl("prefs:root=General&path=TWITTER")) == true)
                        {
                            UIApplication.SharedApplication.OpenUrl(new NSUrl("prefs:root=General&path=TWITTER"));
                        }
                        else
                        {
                            UIApplication.SharedApplication.OpenUrl(new NSUrl("App-Prefs:root=TWITTER"));
                        }
                    }
                    else
                    {
                        args.MenuItem.Name      = "Twitter Connected";
                        args.MenuItem.ItemImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "TwitterConnected.png");

                        userDefaults.SetString(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED) + ",Twitter", SOCIAL_NETWORKS_CONNECTED);
                    }
                }
                else if (args.MenuItem.Name == "Twitter Connected")
                {
                    args.MenuItem.Name      = "Twitter Disconnected";
                    args.MenuItem.ItemImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "TwitterDisconnected.png");

                    userDefaults.SetString(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED).Replace("Twitter", string.Empty).Trim(','), SOCIAL_NETWORKS_CONNECTED);
                }
                else if (args.MenuItem.Name == "Facebook Disconnected")
                {
                    if (SLComposeViewController.IsAvailable(SLServiceKind.Twitter) == false)
                    {
                        if (UIApplication.SharedApplication.CanOpenUrl(new NSUrl("prefs:root=General&path=FACEBOOK")) == true)
                        {
                            UIApplication.SharedApplication.OpenUrl(new NSUrl("prefs:root=General&path=FACEBOOK"));
                        }
                        else
                        {
                            UIApplication.SharedApplication.OpenUrl(new NSUrl("App-Prefs:root=FACEBOOK"));
                        }
                    }
                    else
                    {
                        args.MenuItem.Name      = "Facebook Connected";
                        args.MenuItem.ItemImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "FacebookConnected.png");

                        userDefaults.SetString(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED) + ",Facebook", SOCIAL_NETWORKS_CONNECTED);
                    }
                }
                else if (args.MenuItem.Name == "Facebook Connected")
                {
                    args.MenuItem.Name      = "Facebook Disconnected";
                    args.MenuItem.ItemImage = UIImage.FromFile(IMAGES_FOLDER + currentMod + "/" + "FacebookDisconnected.png");

                    userDefaults.SetString(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED).Replace("Facebook", string.Empty).Trim(','), SOCIAL_NETWORKS_CONNECTED);
                }
            };

            View.AddSubview(satelliteMenu);
        }
コード例 #8
0
        public void InitSateliteMenu()
        {
            var image = MenuIcon.MakeImage ();
            var yPos = View.Frame.Height - image.Size.Height - 10;
            var frame = new RectangleF (10, yPos, image.Size.Width, image.Size.Height);

            var items = GetMenuItems ();

            SateliteButton = new SatelliteMenuButton (View, image, items, frame);
            SateliteButton.CloseItemsOnClick = false;

            SateliteButton.MenuItemClick += (_, args) => {
                Console.WriteLine ("{0} was clicked!", args.MenuItem.Name);

                if(args.MenuItem.Name == "Scanner"){
                    Scanner scanner = new Scanner(this);
                    scanner.Scannit();
                }
                if(args.MenuItem.Name == "Items"){
            //					if(UserInterfaceIdiomIsPhone){
                        ItemCatalogue cat = new ItemCatalogue();
                        //PresentViewControllerAsync(cat, true);
                        ancestor.NavigationController.PushViewController(cat,true);
            //					}else{
            //						ItemMasterView itemMaster = new ItemMasterView();
            //						ancestor.NavigationController.PushViewController(itemMaster,true);
            //					}
                }
                if(args.MenuItem.Name == "Big Items"){
            //					if(UserInterfaceIdiomIsPhone){
                        BigItemsScreen biggies = new BigItemsScreen();
                        ancestor.NavigationController.PushViewController(biggies, true);
            //					}else{
            //						BigItemMasterView bigMaster = new BigItemMasterView();
            //						ancestor.NavigationController.PushViewController(bigMaster,true);
            //					}
                }
                if(args.MenuItem.Name == "Containers"){
            //					if(UserInterfaceIdiomIsPhone){
                        ContainerScreen containers = new ContainerScreen();
                        ancestor.NavigationController.PushViewController(containers,true);
            //					}else{
            //						ContainerMasterView containerMaster = new ContainerMasterView();
            //						ancestor.NavigationController.PushViewController(containerMaster,true);
            //					}
                }

                if(args.MenuItem.Name == "Gallery"){
                    GalleryViewController tagGallery = new GalleryViewController();
                    ancestor.NavigationController.PushViewController(tagGallery,true);
                }

                if(args.MenuItem.Name == "Locations"){
            //					if(UserInterfaceIdiomIsPhone){
                    StorageCatalogue sc = new StorageCatalogue();
                    ancestor.NavigationController.PushViewController(sc,true);
            //					}else{
            //						LagerMasterView lmv = new LagerMasterView();
            //						ancestor.NavigationController.PushViewController(lmv,true);
            //					}
                }

                if(args.MenuItem.Name == "Dashboard"){
                    DashBoardViewController dash = new DashBoardViewController();
                    ancestor.NavigationController.PushViewController(dash,true);
                }

            };
            this.View.BackgroundColor = UIColor.Clear;
            View.AddSubview (SateliteButton);
            View.UserInteractionEnabled = true;
        }