public static void OnSelectConversion(object sender, EventArgs e) { ZwImageButton clickedBtn = (ZwImageButton)sender; lblSelectedConversion.Text = clickedBtn.conversionName; lblSelectedConversion.TextColor = Color.Black; resultValue.Text = ""; if (selectedButton != null) { selectedButton.isClicked = false; } selectedButton = clickedBtn; selectedButton.isClicked = true; // Now load the Units pickers unitLeftPicker.Items.Clear(); unitRightPicker.Items.Clear(); KonVersionGroup group = clickedBtn.conversionGroup; List <KonVertUnit> grpUnitList = group.konVertUnits; foreach (KonVertUnit aKVU in grpUnitList) { unitLeftPicker.Items.Add(aKVU.ToString()); unitRightPicker.Items.Add(aKVU.ToString()); } }
public static void OnArrowClick(object sender, EventArgs e) { KonVertUnit tmpKVU; if (selectedButton == null) { lblSelectedConversion.TextColor = Color.Red; return; } TheKonVersion = new KonVersion(selectedButton.conversionGroup.myVersionGroupID, TheSet); tmpKVU = getUnitFromPicker(unitLeftPicker); if (tmpKVU == null) { //unitLeftPicker.TextColor = Color.Red; lblSelectedConversion.TextColor = Color.Red; resultValue.Text = "Select Left Unit"; return; } TheKonVersion.myVertUnitLeftID = tmpKVU.myVersionUnitID; tmpKVU = getUnitFromPicker(unitRightPicker); if (tmpKVU == null) { //unitRightPicker.TextColor = Color.Red; lblSelectedConversion.TextColor = Color.Red; resultValue.Text = "Select Left Unit"; return; } TheKonVersion.myVertUnitRightID = tmpKVU.myVersionUnitID; resultValue.Text = ""; ZwImageButton myBtn = (ZwImageButton)sender; if (String.Compare(myBtn.conversionName, "Left2Right") == 0) { TheKonVersion.myLeft2Right = true; TheKonVersion.myLeftNumber = Decimal.Parse(convertValue.Text); } else { TheKonVersion.myLeft2Right = false; TheKonVersion.myRightNumber = Decimal.Parse(convertValue.Text); } TheKonVersion.performKonversion(TheKonVersion.myLeft2Right); resultValue.Text = TheKonVersion.ToString(); }
public static void OnImageTapped(object sender, EventArgs e) { // check for whether selecting conversion or selecting direction ZwImageButton tappedButton = (ZwImageButton)sender; if (String.Compare(tappedButton.conversionName, "Left2Right") == 0) { OnArrowClick(sender, e); return; } if (String.Compare(tappedButton.conversionName, "Right2Left") == 0) { OnArrowClick(sender, e); return; } OnSelectConversion(sender, e); }
private static void loadValuesFromKonversion(KonVersion aKV) { if (aKV == null) { return; } string txt = aKV.ToString(); if (String.Compare(txt.ToLower(), "unsafe") == 0) { return; } string kGpID = aKV.myVersionGroupID; for (int i = 0; i < conversionButtons.Count; i++) { ZwImageButton aZwIB = conversionButtons[i]; if (String.Compare(aZwIB.conversionGroup.myVersionGroupID, kGpID) == 0) { OnSelectConversion(aZwIB, null); // now make sure the button actually shows on the screen if (i >= leftButtonIdx && i < leftButtonIdx + 5) { // it is showing now } else { // force to middle int intTry = i - 2; if (intTry < 0) { intTry = 0; } if (intTry > conversionButtons.Count - 1) { intTry = conversionButtons.Count - 4; } loadGrid(intTry); } // get the right Picker KonVertUnits bool foundLeft = false; bool foundRight = false; foreach (string pStr in unitLeftPicker.Items) { if (!foundLeft && string.Compare(pStr, aKV.LeftUnit.ToString()) == 0) { unitLeftPicker.SelectedItem = pStr; foundLeft = true; } if (!foundRight && string.Compare(pStr, aKV.RightUnit.ToString()) == 0) { unitRightPicker.SelectedItem = pStr; foundRight = true; } if (foundLeft && foundRight) { break; } } if (aKV.myLeft2Right) { convertValue.Text = aKV.myLeftNumber.ToString(); } else { convertValue.Text = aKV.myRightNumber.ToString(); } resultValue.Text = aKV.ToString(); return; } } }
public static StackLayout buildMainScreen() { // build array of ZwImageButtons based on read in Set if (ZwCX.TheSet == null) { return(null); } conversionButtons = new List <ZwImageButton>(); var leftSwipeGesture = new SwipeGestureRecognizer { Direction = SwipeDirection.Left }; leftSwipeGesture.Swiped += OnConversionGridSwiped; var rightSwipeGesture = new SwipeGestureRecognizer { Direction = SwipeDirection.Right }; rightSwipeGesture.Swiped += OnConversionGridSwiped; var imageTapGesture = new TapGestureRecognizer { }; imageTapGesture.Tapped += OnImageTapped; Assembly avoidReCalc = typeof(MainPage).GetTypeInfo().Assembly; foreach (KonVersionGroup aKVG in TheSet.KonVersionGroups) { ZwImageButton aGrpButton = new ZwImageButton { conversionGroup = aKVG, Source = ImageSource.FromResource(ZwTools.imageLoc + aKVG.myVersionGroupID.ToLower() + ZwTools.imageTag, avoidReCalc), isClicked = false, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, conversionName = aKVG.myDisplayText, Margin = new Thickness(0, 0, 0, 0) }; aGrpButton.GestureRecognizers.Add(imageTapGesture); //aGrpButton.Clicked += OnSelectConversion; aGrpButton.GestureRecognizers.Add(leftSwipeGesture); aGrpButton.GestureRecognizers.Add(rightSwipeGesture); conversionButtons.Add(aGrpButton); } // Full body on screeen StackLayout myBody = new StackLayout { Margin = new Thickness(0), Padding = new Thickness(5, 5, 5, 5), VerticalOptions = LayoutOptions.Start, BackgroundColor = Color.Cyan //BackgroundColor = Color.Transparent }; StackLayout SwipeConversion = new StackLayout { Margin = new Thickness(0), Padding = new Thickness(0), VerticalOptions = LayoutOptions.Start, BackgroundColor = Color.Yellow //BackgroundColor = Color.Transparent }; Heading = new StackLayout { Orientation = StackOrientation.Horizontal, Spacing = 0, BackgroundColor = Color.Black }; Heading.Children.Add(HeadImage); Heading.Children.Add(HeadLbl); ConversionsGrid = new Grid { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Padding = new Thickness(0), Margin = new Thickness(0, 0, 0, 0), BackgroundColor = Color.AntiqueWhite }; ConversionsGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); ConversionsGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); ConversionsGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); ConversionsGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); ConversionsGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); ConversionsGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Auto) }); loadGrid(0); // should be 0 to start, will set leftButtonIdx ConversionsGrid.GestureRecognizers.Add(leftSwipeGesture); ConversionsGrid.GestureRecognizers.Add(rightSwipeGesture); SwipeConversion.GestureRecognizers.Add(leftSwipeGesture); SwipeConversion.GestureRecognizers.Add(rightSwipeGesture); lblConversionCaption.GestureRecognizers.Add(leftSwipeGesture); lblConversionCaption.GestureRecognizers.Add(rightSwipeGesture); lblSelectedConversion.GestureRecognizers.Add(leftSwipeGesture); lblSelectedConversion.GestureRecognizers.Add(rightSwipeGesture); SwipeConversion.Children.Add(Heading); SwipeConversion.Children.Add(ConversionsGrid); SwipeConversion.Children.Add(lblConversionCaption); SwipeConversion.Children.Add(lblSelectedConversion); StackLayout workSpace = buildWorkSpace(); myBody.Children.Add(SwipeConversion); myBody.Children.Add(workSpace); return(myBody); }