示例#1
0
        protected void OnPortraitViewSizeChanged(Object sender, EventArgs args)
        {
            View view = (View)sender;

            // view height returned will be for the full size of the grid, not the cell!
            GlobalSingletonHelpers.fixLabelHeight(generalVoting, view.Width, view.Height * (4.0 / 20.0), GlobalStatusSingleton.MIN_FONT_SIZE, 24);
        }
示例#2
0
        static async Task <string> requestLeaderboardAsync(long category_id)
        {
            Debug.WriteLine("DHB:LeaderboardPage:requestLeaderboardAsync start for id:" + category_id);
            string result = LOAD_FAILURE;

            try {
                HttpClient         client             = new HttpClient();
                string             categoryURL        = GlobalStatusSingleton.activeURL + LEADERBOARD + CATEGORY + System.Convert.ToString(category_id);
                HttpRequestMessage leaderboardRequest = new HttpRequestMessage(HttpMethod.Get, categoryURL);
                leaderboardRequest.Headers.Add("Authorization", GlobalSingletonHelpers.getAuthToken());

                HttpResponseMessage catResult = await client.SendAsync(leaderboardRequest);

                if (catResult.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    result = await catResult.Content.ReadAsStringAsync();
                }
                else
                {
                    // no ok back from the server! gahh.
                    Debug.WriteLine("DHB:LeaderboardPage:requestLeaderboardAsync invalid result code: " + catResult.StatusCode.ToString());
                }
            } catch (System.Net.WebException err) {
                Debug.WriteLine("DHB:LeaderboardPage:requestLeaderboardAsync:WebException");
                Debug.WriteLine(err.ToString());
            } catch (Exception e) {
                Debug.WriteLine("DHB:LeaderboardPage:Exception");
                Debug.WriteLine(e.ToString());
            }
            Debug.WriteLine("DHB:LeaderboardPage:requestLeaderboardAsync end");
            return(result);
        }
示例#3
0
        // should only be triggered from an CameraCategorySelectionView:OnCategoryLoad call!!!
        public async void OnEventsLoadRequest(object sender, EventArgs args)
        {
            string jsonQuery = "";
            string result    = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Get, "event", jsonQuery);

            if (!result.Equals("fail"))
            {
                IList <EventJSON> evts = JsonConvert.DeserializeObject <IList <EventJSON> >(result);
                if (evts != null)
                {
                    lock (openCategorys) {
                        foreach (EventJSON evt in evts)
                        {
                            AddEvent(evt);
                        }
                    }
                }
            }
            else
            {
                Debug.WriteLine("DHB:CameraCategorySelectionView:OnEventsLoadRequest event apicall failed!");
                // build a test panel...
                //CameraEventTitleElement cete = new CameraEventTitleElement { eventName = "Dummy Example", accessKey = "mace rule", eventId = 111, };
                //openCategorys.Add(cete);
            }
        }
示例#4
0
        // why doesn't badges code handle this?
        public virtual async void TokenReceived(object sender, EventArgs e)
        {
            //coreProfile.usernameLabel.Text = GlobalStatusSingleton.username;
            string jsonQuery = "";
            string result    = "fail";

            while (result.Equals("fail"))
            {
                result = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Get, BADGES, jsonQuery);

                if (result.Equals("fail"))
                {
                    await Task.Delay(10000);
                }
            }
            if (!result.Equals("fail"))
            {
                BadgesResponseJSON badges = JsonConvert.DeserializeObject <BadgesResponseJSON>(result);
                if (badges != null)
                {
                    coreProfile.SetBadgesData(badges);
                    badgesPage.SetBadgesData(badges);
                }
            }
            else
            {
                Debug.WriteLine("DHB:CameraCategorySelectionView:OnEventsLoadRequest event apicall failed!");
            }
        }
示例#5
0
        public CameraClosedCategorySelectionCell()
        {
            if (cameraImage == null)
            {
                cameraImage = GlobalSingletonHelpers.loadSKBitmapFromResourceName(CAMERA_IMAGE_NAME, this.GetType().GetTypeInfo().Assembly);
            }
            rowSplitter = new Grid {
                ColumnSpacing = 0, RowSpacing = 0, Margin = 1,
            };
            for (int i = 0; i < 10; i++)
            {
                rowSplitter.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(1, GridUnitType.Star)
                });
            }

            categoryName.SetBinding(Label.TextProperty, "categoryName");
            categoryName.MinimumHeightRequest = 32;
            rowSplitter.Children.Add(categoryName, 0, 0);
            Grid.SetColumnSpan(categoryName, 10);

            cameraButton = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName(CAMERA_IMAGE_NAME, this.GetType().GetTypeInfo().Assembly))
            {
                HorizontalOptions = LayoutOptions.End,
                VerticalOptions   = LayoutOptions.Center,
                Margin            = 3,
            };
            rowSplitter.Children.Add(cameraButton, 9, 0);  // col, row
            rowSplitter.HeightRequest = 32;
            this.View = rowSplitter;
        }
示例#6
0
        public static async Task <byte[]> requestImageAsync(long pid)
        {
            Debug.WriteLine("DHB:ImageScrollingPage:requestImageAsync start pid:" + pid);
            byte[] result = null;// "fail";

            try {
                HttpClient client     = new HttpClient();
                string     previewURL = GlobalStatusSingleton.activeURL + PREVIEW + "/" + pid;

                HttpRequestMessage previewRequest = new HttpRequestMessage(HttpMethod.Get, previewURL);
                previewRequest.Headers.Add("Authorization", GlobalSingletonHelpers.getAuthToken());

                HttpResponseMessage previewResult = await client.SendAsync(previewRequest);

                if (previewResult.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    //result = await previewResult.Content.ReadAsStringAsync();
                    result = await previewResult.Content.ReadAsByteArrayAsync();
                }
                else
                {
                    // no ok back from the server! gahh.
                    Debug.WriteLine("DHB:ImageScrollingPage:requestSubmissionsAsync invalid result code: " + previewResult.StatusCode.ToString());
                }
            } catch (System.Net.WebException err) {
                Debug.WriteLine("DHB:ImageScrollingPage:requestSubmissionsAsync:WebException");
                Debug.WriteLine(err.ToString());
            } catch (Exception e) {
                Debug.WriteLine("DHB:ImageScrollingPage:Exception");
                Debug.WriteLine(e.ToString());
            }
            Debug.WriteLine("DHB:ImageScrollingPage:requestImageAsync end pid:" + pid);
            return(result);
        }
示例#7
0
        public static async Task <bool> SendLogData(string logInfo)
        {
            Debug.WriteLine("DHB:GlobalSingletonHelpers:SendLogData start");
            string result = "fail";

            try {
                // only send log data if we are authenticated.
                if (GlobalStatusSingleton.authToken != null)
                {
                    HttpClient client = new HttpClient();

                    client.BaseAddress = new Uri(GlobalStatusSingleton.activeURL);
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "log");
                    LoggingJSON        log     = new LoggingJSON();
                    log.msg = logInfo;
                    string jsonQuery = JsonConvert.SerializeObject(log);
                    request.Content = new StringContent(jsonQuery, Encoding.UTF8, "application/json");
                    request.Headers.Add("Authorization", GlobalSingletonHelpers.getAuthToken());

                    HttpResponseMessage sendResult = await client.SendAsync(request);

                    if (sendResult.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        // do I need these?
                        result = await sendResult.Content.ReadAsStringAsync();
                    }
                }
            } catch (Exception e) {
                // we're doing nothing in the fail case.
                Debug.WriteLine(e.ToString());
            }
            return(true);
        }
        public async void OnCreateEvent(object Sender, EventArgs args)
        {
            await createEvent.FadeTo(0, 175);

            await createEvent.FadeTo(1, 175);

            CreateEventJSON create = new CreateEventJSON {
                categories     = buildCategoryNames(),
                eventName      = newEventName.Text,
                gamesExcluded  = buildGamesExcluded(),
                numPlayers     = this.numPlayers,
                startTime      = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm"),
                uploadDuration = (int)this.uploadDuration,
                votingDuration = (int)this.votingDuration,
            };
            string jsonQuery = JsonConvert.SerializeObject(create);
            string result    = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Post, "newevent", jsonQuery);

            if (result.Equals("fail"))
            {
                createEvent.Text = "Tap to retry create";
            }
            else
            {
                CreateEventResponseJSON cerj = JsonConvert.DeserializeObject <CreateEventResponseJSON>(result);
                //MasterPage mp = ((MasterPage)Application.Current.MainPage);
                //mp.thePages.judgingPage.fireLoadChallenge();
                //cameraPage.latestPassphrase = cerj.accessKey;
                cameraPage.AddEvent(cerj);
                cameraPage.switchToSelectView();
            }
        }
        protected void buildRankImages()
        {
            voteBoxes = new List <iiBitmapView>();
            for (int i = 0; i < 4; i++)
            {
                iiBitmapView vBox = new iiBitmapView {
                    Bitmap              = GlobalSingletonHelpers.loadSKBitmapFromResourceName(JudgingContentPage.VOTE_BOX_FILENAME, assembly),
                    HorizontalOptions   = LayoutOptions.FillAndExpand,
                    VerticalOptions     = LayoutOptions.FillAndExpand,
                    MinimumWidthRequest = 60,
                    Margin              = 2,
                };
                voteBoxes.Add(vBox);
            }

            rankImages = new List <iiBitmapView>();
            foreach (string filename in JudgingContentPage.rankFilenames)
            {
                iiBitmapView img = new iiBitmapView {
                    Bitmap              = GlobalSingletonHelpers.loadSKBitmapFromResourceName(filename, assembly),
                    HorizontalOptions   = LayoutOptions.FillAndExpand,
                    VerticalOptions     = LayoutOptions.FillAndExpand,
                    MinimumWidthRequest = 60,
                    Margin              = 2,
                };
                //img.GestureRecognizers.Add(tap);
                rankImages.Add(img);
            }
        }
示例#10
0
        public UpperProfileSection()
        {
            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            lightbulbs = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.ImageMetaIcons.reward.png", assembly));
            mostBulbsInOneDay.SizeChanged += fixFontSizes;
            buildUI();
        }
示例#11
0
        public LightbulbProgessBar() : base()
        {
            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            offBulb = GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.ImageMetaIcons.reward_inactive.png", assembly);
            onBulb  = GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.ImageMetaIcons.reward.png", assembly);
            Bitmap  = new SKBitmap(offBulb.Width, offBulb.Height);
        }
示例#12
0
        public CameraClosedCategoryElement(CategoryJSON inCategory)
        {
            category = inCategory;

            PropertyInfo o = GlobalSingletonHelpers.GetProperty(this, "categoryName");

            o.SetValue(this, category.description);
        }
示例#13
0
        public ProfileNavRow(IProvideProfileNavigation parent)
        {
            this.parent = parent;

            RowSpacing      = 0;
            ColumnSpacing   = 0;
            BackgroundColor = GlobalStatusSingleton.backgroundColor;

            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            mySubmissionsOff           = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.play_inactive.png", assembly));
            mySubmissionsOn            = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.play.png", assembly));
            mySubmissionsOff.IsVisible = false;  // default to my entries page.

            myLikesOff          = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.ImageMetaIcons.unliked.png", assembly));
            myLikesOn           = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.ImageMetaIcons.liked.png", assembly));
            myLikesOn.IsVisible = false;

            myEventsOff          = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.events_inactive.png", assembly));
            myEventsOn           = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.events.png", assembly));
            myEventsOn.IsVisible = false;

            myBadgesOff          = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.contests_inactive.png", assembly));
            myBadgesOn           = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.contest.png", assembly));
            myBadgesOn.IsVisible = false;

            hideButton           = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.upCaret.png", assembly));
            showButton           = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.downCaret.png", assembly));
            showButton.IsVisible = false;  // default to showing profile

            TapGestureRecognizer tapGesture = new TapGestureRecognizer();

            tapGesture.Tapped += OnClicked;
            mySubmissionsOff.GestureRecognizers.Add(tapGesture);
            myLikesOff.GestureRecognizers.Add(tapGesture);
            myEventsOff.GestureRecognizers.Add(tapGesture);
            myBadgesOff.GestureRecognizers.Add(tapGesture);
            showButton.GestureRecognizers.Add(tapGesture);
            hideButton.GestureRecognizers.Add(tapGesture);

            // on buttons behave differently...
            TapGestureRecognizer tapGestureOn = new TapGestureRecognizer();

            tapGestureOn.Tapped += OnClickedWhenOn;
            mySubmissionsOn.GestureRecognizers.Add(tapGestureOn);
            myLikesOn.GestureRecognizers.Add(tapGestureOn);
            myEventsOn.GestureRecognizers.Add(tapGestureOn);
            myBadgesOn.GestureRecognizers.Add(tapGestureOn);

            horizLine = new BoxView {
                HeightRequest = 1.0, BackgroundColor = GlobalStatusSingleton.highlightColor, HorizontalOptions = LayoutOptions.FillAndExpand,
            };
            horizLine2 = new BoxView {
                HeightRequest = 1.0, BackgroundColor = GlobalStatusSingleton.highlightColor, HorizontalOptions = LayoutOptions.FillAndExpand,
            };
            buildUI();
            NavHighlightIndex = 0;
        }
示例#14
0
        public void SetBadgesData(BadgesResponseJSON badges)
        {
            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            if (badges.firstphoto == true)
            {
                upload1 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedal_01.png", assembly));
            }
            else
            {
                upload1 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedals_inactive.png", assembly));
            }
            if (badges.upload7 == true)
            {
                upload7 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedal_02.png", assembly));
            }
            else
            {
                upload7 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedals_inactive.png", assembly));
            }
            if (badges.upload30 == true)
            {
                upload30 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedal_03.png", assembly));
            }
            else
            {
                upload30 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedals_inactive.png", assembly));
            }
            if (badges.upload100 == true)
            {
                upload100 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedal_04.png", assembly));
            }
            else
            {
                upload100 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.uploadMedals_inactive.png", assembly));
            }

            if (badges.vote30 == true)
            {
                vote30 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.voteMedal_01.png", assembly));
            }
            else
            {
                vote30 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.voteMedal_inactive.png", assembly));
            }
            if (badges.vote100 == true)
            {
                vote100 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.voteMedal_01.png", assembly));
            }
            else
            {
                vote100 = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.Medals.voteMedal_inactive.png", assembly));
            }
            Device.BeginInvokeOnMainThread(() => {
                buildUI();
            });
        }
示例#15
0
 public iiBitmapView()
 {
     if (BLANK_BITMAP == null)
     {
         BLANK_BITMAP = GlobalSingletonHelpers.loadSKBitmapFromResourceName(LOADING_IMG_NAME, this.GetType().GetTypeInfo().Assembly);
     }
     this.PaintSurface += OnCanvasViewPaintSurface;
     //Bitmap = BLANK_BITMAP;
 }
示例#16
0
 protected void buildBackground(double verticalExtent = GlobalStatusSingleton.PATTERN_FULL_COVERAGE)
 {
     if (backgroundImg == null)
     {
         int w = (int)Width;
         int h = (int)Height;
         // don't switch w or h here.  we are building the correct image for the current w,h setting.
         backgroundImg = GlobalSingletonHelpers.buildBackground(backgroundPatternFilename, this.GetType().GetTypeInfo().Assembly, w, h, verticalExtent);
     }
 }
示例#17
0
        public int buildPortraitView()
        {
            int result = 1;

            // all my elements are already members...
            if (portraitView == null)
            {
                portraitView = new Grid {
                    ColumnSpacing = 1, RowSpacing = 1
                };
                //for (int i = 0; i < 16; i++) {
                //portraitView.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
                //}
                portraitView.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(16, GridUnitType.Star)
                });
            }

            // ok. How do I build the rows in leaderboards
            if ((listOfLeaderboards != null) && (listOfLeaderboards.Count > 0))
            {
                foreach (KeyValuePair <CategoryJSON, IList <LeaderboardJSON> > kvpCatBoard in listOfLeaderboards)
                {
                    LeaderboardElement le = buildLeaderboardElement(kvpCatBoard.Key, kvpCatBoard.Value);
                    if (le != null)
                    {
                        leaderboards.Add(le);
                    }
                }
                // bleh. this returns a new, not observablecollection object.
                //leaderboards.OrderByDescending(a => a.categoryId);
                GlobalSingletonHelpers.SortAndReverse(leaderboards);
                //printOrder();
            }

            int deviceDependentRowHeight = 450;

            if (Device.Idiom == TargetIdiom.Tablet)
            {
                deviceDependentRowHeight = (90 + (3 * 270));
            }
            // want to fill a listview instead of a scroller holding a stack.
            myListView = new ListView {
                RowHeight = deviceDependentRowHeight, ItemsSource = leaderboards, ItemTemplate = myDataTemplate,
            };

            portraitView.Children.Add(myListView, 0, 0);
            Grid.SetRowSpan(myListView, 16);

            //Debug.WriteLine("DHB:LeaderboardPage:buildPortraitView final mem status:" + PlatformSpecificCalls.GetMemoryStatus());
            Debug.WriteLine("DHB:LeaderboardPage:buildPortraitView end");
            return(result);
        }
示例#18
0
        protected static async Task <string> requestApiCallAsync()
        {
            Debug.WriteLine("DHB:EventsHistory_Profile:requestApiCallAsync start");
            string result = "fail";

            //result = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Get, "events/prev/10000", "");
            result = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Get, "events/next/0", "");

            //result = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Get, "events/next", "");
            //result = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Get, "events/next/0/100", "");
            return(result);
        }
示例#19
0
        public void OnPhotoSubmit(object sender, EventArgs args)
        {
            // buildMyImages();  // this is a SLOOOOW function. just add the latest image
            byte[] raw   = ((CameraContentPage)sender).latestTakenImgBytes;
            Image  final = GlobalSingletonHelpers.buildFixedRotationImageFromBytes(raw, ExifLib.ExifOrientation.Undefined, 720, 720);

            if (final != null)
            {
                //myImages.Add(final);
            }
            raw = null;
            buildUI();
        }
示例#20
0
 public void OnRowTapped(object sender, SelectedItemChangedEventArgs args)
 {
     if (args.SelectedItem is string)
     {
         //cameraPage.eventDrillDown((CameraEventTitleElement)args.SelectedItem);
         CategoryJSON theCat = GlobalSingletonHelpers.getCategoryByDescription(categories, (string)args.SelectedItem);
         if (theCat != null)
         {
             callingPage.switchToCategoryImgView(theCat);
         }
     }
     eventCategories.SelectedItem = null;
 }
示例#21
0
 public SKBitmap combineLightbulbs(SKBitmap outputBmp, SKBitmap lowerImage, SKBitmap upperImage, double pctScale)
 {
     using (var canvas = new SKCanvas(outputBmp)) {
         //canvas.Clear(new SKColor(242,242,242)); // this works.
         canvas.Clear(GlobalSingletonHelpers.SKColorFromXamarinColor(GlobalStatusSingleton.backgroundColor));
         int    y         = (int)(pctScale * (double)lowerImage.Height);
         SKRect lwrRegion = SKRect.Create(0, 0, lowerImage.Width, y);
         canvas.DrawBitmap(lowerImage, lwrRegion, lwrRegion);
         SKRect uprRegion = SKRect.Create(0, y + 1, upperImage.Width, upperImage.Height - y);
         canvas.DrawBitmap(upperImage, uprRegion, uprRegion);
     }
     return(outputBmp);
 }
示例#22
0
        private int buildUI()
        {
            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            if (portraitView == null)
            {
                portraitView = new Grid {
                    ColumnSpacing = 1, RowSpacing = 1, BackgroundColor = GlobalStatusSingleton.backgroundColor
                };
                for (int i = 0; i < 16; i++)
                {
                    portraitView.RowDefinitions.Add(new RowDefinition {
                        Height = new GridLength(1, GridUnitType.Star)
                    });
                }
                portraitView.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(1, GridUnitType.Star)
                });

                backButton = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.backbutton.png", assembly))
                {
                    HorizontalOptions = LayoutOptions.Start,
                    Margin            = 4,
                };
                TapGestureRecognizer backTap = new TapGestureRecognizer();
                backTap.Tapped += OnBackPressed;
                backButton.GestureRecognizers.Add(backTap);

                //eventCategories = new ListView { ItemsSource = catNames, ItemTemplate = myDataTemplate, };
                eventCategories = new ListView {
                    ItemsSource = catNames,
                };
                eventCategories.ItemSelected += OnRowTapped;
            }
            else
            {
                // flush the old children.
                portraitView.Children.Clear();
                portraitView.IsEnabled = true;
            }
            portraitView.Children.Add(eventName, 0, 0);
            portraitView.Children.Add(backButton, 0, 0);
            portraitView.Children.Add(eventCreator, 0, 2);
            portraitView.Children.Add(eventMaxPlayers, 0, 3);
            portraitView.Children.Add(eventStartDate, 0, 4);
            portraitView.Children.Add(categoryHeader, 0, 5);
            portraitView.Children.Add(eventCategories, 0, 6);
            Grid.SetRowSpan(eventCategories, 8);
            Content = portraitView;
            return(1);
        }
        private void buildBackCaret()
        {
            backCaret = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.backbutton.png", assembly))
            {
                Margin            = 4,
                HorizontalOptions = LayoutOptions.Start,
            };
            TapGestureRecognizer back = new TapGestureRecognizer();

            back.Tapped += (e, a) => {
                callingPage.switchToEventView();
            };
            backCaret.GestureRecognizers.Add(back);
        }
示例#24
0
        public CameraEnterPhotoView(CameraContentPage parent)
        {
            if (Device.Idiom == TargetIdiom.Tablet)
            {
                heightAdjustment = 20.0;
            }
            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            /* try in buildUI to see if that makes a difference for ios...
             * backButton = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.backbutton.png", assembly)) {
             *  HorizontalOptions = LayoutOptions.Start,
             *  Margin = 4,
             * };
             * TapGestureRecognizer backTap = new TapGestureRecognizer();
             * backTap.Tapped += OnBackPressed;
             * backButton.GestureRecognizers.Add(backTap);
             */
            // the above is not working on ios and it makes no sense as it works in Android. grrrr.
            // this didn't help.
            //if (Device.OS == TargetPlatform.iOS) {
            //  challengeLabelP.GestureRecognizers.Add(backTap);
            //}
            //Debug.WriteLine("DHB:CameraEnterPhotoView:CameraEnterPhotoView in ctor ok");

            alertBulb = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.alert.png", assembly))
            {
                HorizontalOptions = LayoutOptions.End,
                Margin            = 4,
                IsVisible         = false,
            };

            this.cameraPage       = parent;
            submitCurrentPictureP = new Button {
                Text = "Enter this photo!",
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                TextColor         = Color.White,
                BackgroundColor   = GlobalStatusSingleton.ButtonColor,
                FontSize          = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                IsVisible         = false,
                //IsEnabled = false,
            };
            submitCurrentPictureP.Clicked += this.OnSubmitCurrentPicture;
            latestTakenImgP = new iiBitmapView();

            this.animate          += new EventHandler(AnimationEvent);
            tagsEntry.TextChanged += tagTextChanged;
            submitOnTagEntryBegin += OnTagEntryBeginSubmit;
        }
示例#25
0
        private void debug_checkImgSquare()
        {
            SKBitmap test = GlobalSingletonHelpers.buildFixedRotationSKBitmapFromBytes(GlobalStatusSingleton.mostRecentImgBytes);

            //SKBitmap test2 = GlobalSingletonHelpers.buildFixedRotationSKBitmapFromBytes(GlobalStatusSingleton.latestImg);
            if (test != null)
            {
                Debug.WriteLine("DHB:CameraEnterPhotoView:debug_checkImgSquare: w:" + test.Width + ", h:" + test.Height);
            }
            else
            {
                Debug.WriteLine("DHB:CameraEnterPhotoView:debug_checkImgSquare: test null??!?");
            }
            bool fake = false;
        }
示例#26
0
        public async void SetBadgesData(BadgesResponseJSON badges)
        {
            Assembly assembly  = this.GetType().GetTypeInfo().Assembly;
            int      ampersand = GlobalStatusSingleton.username.IndexOf("@");

            usernameLabel.Text     = GlobalStatusSingleton.username.Substring(0, ampersand);
            lightbulbCount.Text    = badges.totalBulbs.ToString();
            mostBulbsInOneDay.Text = MOST_BULBS + badges.maxDailyBulbs.ToString();

            if (badges.pid != -1)
            {
                profilePicBitmap = await GlobalSingletonHelpers.loadBitmapAsync(assembly, badges.pid);

                profilePic.Bitmap = profilePicBitmap;
            }
        }
        public CameraCreateCategoryView(CameraContentPage parent)
        {
            cameraPage = parent;

            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            backButton = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.backbutton.png", assembly))
            {
                Margin = 4,
            };
            TapGestureRecognizer tapped = new TapGestureRecognizer();

            tapped.Tapped += OnBackPressed;
            backButton.GestureRecognizers.Add(tapped);

            // make sure categoryNames is seeded with at least one entry box.
            Entry newCategory = new Entry {
                Placeholder             = "Category Name, e.g. Red",
                PlaceholderColor        = Color.Gray,
                TextColor               = Color.Black,
                FontSize                = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
                BackgroundColor         = Color.White,
                HorizontalTextAlignment = TextAlignment.Center,
                HorizontalOptions       = LayoutOptions.FillAndExpand,
                Margin = 1,
            };

            newCategory.TextChanged += PreventCommasInCategoryNames;

            categoryNames.Add(newCategory);
            addCategory = new iiBitmapView {
                Bitmap            = GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.votebox.png", assembly),
                HorizontalOptions = LayoutOptions.End,
                Margin            = 3,
            };
            TapGestureRecognizer catTapped = new TapGestureRecognizer();

            catTapped.Tapped += OnAddCategory;
            addCategory.GestureRecognizers.Add(catTapped);

            TapGestureRecognizer createTapped = new TapGestureRecognizer();

            createTapped.Tapped += OnCreateEvent;
            createEvent.GestureRecognizers.Add(createTapped);

            buildUI();
        }
示例#28
0
        public PageHeader()
        {
            Assembly assembly = this.GetType().GetTypeInfo().Assembly;

            settingsButton = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.settings_inactive.png", assembly))
            {
                HorizontalOptions = LayoutOptions.End,
                Margin            = 4,
                IsVisible         = false, // starts invis.
            };
            settingsButton_active = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.settings.png", assembly))
            {
                HorizontalOptions = LayoutOptions.End,
                Margin            = 4,
                IsVisible         = false, // starts invis.
            };

            TapGestureRecognizer tapped = new TapGestureRecognizer();

            tapped.Tapped += ((e, s) => {
                MasterPage mp = ((MasterPage)Application.Current.MainPage);
                settingsButton_active.IsVisible = true;
                settingsButton.IsVisible = false;
                mp.thePages.profilePage.gotoSettingsPage();
            });
            settingsButton.GestureRecognizers.Add(tapped);

            backCaret = new iiBitmapView(GlobalSingletonHelpers.loadSKBitmapFromResourceName("ImageImprov.IconImages.backbutton.png", assembly))
            {
                HorizontalOptions = LayoutOptions.Start,
                Margin            = 4,
                IsVisible         = false, // starts invis.
            };

            TapGestureRecognizer goBack = new TapGestureRecognizer();

            goBack.Tapped += ((a, b) => {
                if (backButtonDelegate != null)
                {
                    backButtonDelegate(a, b);
                }
            });
            backCaret.GestureRecognizers.Add(goBack);

            this.Content = buildTextLogo();
        }
示例#29
0
        private static async void saveDataOnExitAsync(ZoomPage saveData)
        {
            await Task.Delay(500);

            Debug.WriteLine("DHB:ZoomPage:saveDataOnExitAsync this should print second");
            PhotoUpdateJSON pJSON = new PhotoUpdateJSON();

            pJSON.flag = saveData.flaggedImg.IsVisible;
            pJSON.like = saveData.likedImg.IsVisible;
            //pJSON.tags = saveData.tagEntry.Text;   @todo parse and set tags.
            string jsonQuery = JsonConvert.SerializeObject(pJSON);

            if (jsonQuery != null)
            {
                string apiCall = "update/photo/" + saveData.pid;
                string result  = await GlobalSingletonHelpers.requestFromServerAsync(HttpMethod.Put, apiCall, jsonQuery);
            }
        }
示例#30
0
        public LeaderboardElement(string title, long categoryId, IList <SKBitmap> bitmaps, IList <LeaderboardJSON> photoMeta)
        {
            //public MyRowElement(string title, string msg, Color textColor) {
            this.title      = title;
            this.categoryId = categoryId;
            int i        = 0;
            int maxIndex = (9 < bitmaps.Count) ? 9 : bitmaps.Count;

            while (i < maxIndex)
            {
                PropertyInfo o = GlobalSingletonHelpers.GetProperty(this, "bitmap" + i);
                o.SetValue(this, bitmaps[i]);

                string       nameStr = "bmp" + i + "Meta";
                PropertyInfo p       = GlobalSingletonHelpers.GetProperty(this, nameStr);
                p.SetValue(this, LeaderboardJSON.Convert(photoMeta[i]));

                i++;
            }
        }