public void SaveSetting(UzorData data) { creatingPageGrid.Children.Remove(newUzorSettingView); var v = new UzorEditElementView(data, this.mainGrid); v.IsNewUzor = true; // only for set cropMask as standart figure v.PageForAlert = this.pageForAlert; //uzorDataList.Add(v.UzorView.ThisData); uzorEditElementViewList.Add(v); creatingPageGrid.Children.Add(v, 0, 1); if (newUzorSettingView.IsSquareUzorMode) { this.saveTopPanel = new UzorEditorSaveTopPanel(); saveTopPanel.SaveButton.Clicked += v.SaveButton_Click; saveTopPanel.BackButton.Clicked += BackButton_Clicked; creatingPageGrid.Children.Add(saveTopPanel, 0, 0); v.cropButton.IsVisible = false; v.cropButtonShadow.IsVisible = false; isSquareMode = true; //v.cropSlider.IsVisible = false; } else { this.stepsPanel = new UzorEditorStepsTopPanel(); this.longUzorData = new LongUzorData(); longUzorData.UzorElements = new UzorData[2] { data, null }; stepsPanel.NextButton.Clicked += NextButton_Clicked; stepsPanel.BeforeButton.Clicked += BeforeButton_Clicked; creatingPageGrid.Children.Add(stepsPanel, 0, 0); this.stepsPanel.StepLabel.Text = this.stepNumber + "/" + this.maxStepValue; } // gridCreatingPage.Children.Add(new NewUzorSetting(SaveSetting)); creatingPageGrid.RowDefinitions[0].Height = 60; if (Preferences.Get("TipViewShow", true)) { Device.StartTimer(TimeSpan.FromSeconds(1), () => { var t = new TipsViewer(this.mainGrid, !newUzorSettingView.IsSquareUzorMode); this.mainGrid.Children.Add(t); return(false); }); } }
public UzorCreatingPage(UzorData data, MainPage p) // for editing a previously created Uzor { InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); var v = new UzorEditElementView(data, this.mainGrid); this.pageForAlert = p; uzorEditElementViewList.Add(v); creatingPageGrid.Children.Add(v, 0, 1); this.saveTopPanel = new UzorEditorSaveTopPanel(); saveTopPanel.SaveButton.Clicked += saveChanges_Clicked; saveTopPanel.BackButton.Clicked += cancelChanges_Clicked; saveTopPanel.BackButton.Text = AppResource.Cancel; saveTopPanel.SaveButton.Text = AppResource.Ok; saveTopPanel.BackButton.IsEnabled = false; // canceling does not working creatingPageGrid.Children.Add(saveTopPanel, 0, 0); creatingPageGrid.RowDefinitions[0].Height = 60; v.cropButton.IsVisible = true; }
private async void NextButton_Clicked(object sender, EventArgs e) { if (stepNumber < maxStepValue) { if (this.longUzorData.UzorElements[stepNumber - 1].CropMaskIsEmpty()) { uzorEditElementViewList[stepNumber - 1].sliderPanel.IsVisible = true; uzorEditElementViewList[stepNumber - 1].sliderPanelShadow.IsVisible = true; uzorEditElementViewList[stepNumber - 1].cropSlider.Value = uzorEditElementViewList[stepNumber - 1].Data.FieldSize / 2 - 1; uzorEditElementViewList[stepNumber - 1].IsNewUzor = false; uzorEditElementViewList[stepNumber - 1].cropIndicator.Crop = (int)uzorEditElementViewList[stepNumber - 1].cropSlider.Value; if (uzorEditElementViewList[stepNumber - 1].mirrorIndicator.IsVisible) { uzorEditElementViewList[stepNumber - 1].MirrorButtonClick(null, null); } uzorEditElementViewList[stepNumber - 1].UzorView.DrawView(); if (nextButtonPressed) { uzorEditElementViewList[stepNumber - 1].sliderPanel.ScaleTo(1.1); } nextButtonPressed = true; return; } nextButtonPressed = false; if (this.longUzorData.UzorElements[stepNumber] == null) // expand array of UzorElements and creating new View { var current = this.longUzorData.UzorElements[0]; var nextUzorData = new UzorData(current.Name, current.DataOfCreation, current.GetMaskSize()); nextUzorData.Layers[0].FrontColor = new PixelColor(current.Layers[0].FrontColor.R, current.Layers[0].FrontColor.G, current.Layers[0].FrontColor.B, current.Layers[0].FrontColor.A); nextUzorData.Layers[0].BackColor = new PixelColor(current.Layers[0].BackColor.R, current.Layers[0].BackColor.G, current.Layers[0].BackColor.B, current.Layers[0].BackColor.A); this.longUzorData.UzorElements[stepNumber - 1 + 1] = nextUzorData; var v = new UzorEditElementView(nextUzorData, this.mainGrid); uzorEditElementViewList.Add(v); uzorEditElementViewList[uzorEditElementViewList.Count - 1].UzorView.BecomeSquare(); } this.creatingPageGrid.Children.Remove(uzorEditElementViewList[stepNumber - 1]); stepNumber++; this.creatingPageGrid.Children.Add(uzorEditElementViewList[stepNumber - 1], 0, 1); this.stepsPanel.StepLabel.Text = this.stepNumber + "/" + this.maxStepValue; if (stepNumber == maxStepValue) { // TODO: replace icon } /*************** CRUTCHES ***************/ uzorEditElementViewList[stepNumber - 1].UzorView.MinimumHeightRequest = 0; uzorEditElementViewList[stepNumber - 1].BatchBegin(); /*** UzorView does not change its size ***/ } else { longUzorData.SidePattern = SideUzorGenerator.GetNewSideUzor(longUzorData.UzorElements[0].FieldSize); longUzorData.SidePattern.Layers[0].FrontColor = longUzorData.UzorElements[0].Layers[0].FrontColor; longUzorData.SidePattern.Layers[0].FrontColor = new PixelColor(longUzorData.UzorElements[0].Layers[0].FrontColor.R, longUzorData.UzorElements[0].Layers[0].FrontColor.G, longUzorData.UzorElements[0].Layers[0].FrontColor.B, longUzorData.UzorElements[0].Layers[0].FrontColor.A); LongUzorEditorPage longUzorPage = new LongUzorEditorPage(longUzorData, pageForAlert, true); longUzorPage.Closed += longUzorEditorPage_Closed; if (!pushModalAsyncWorked) { pushModalAsyncWorked = true; await Navigation.PushModalAsync(new NavigationPage(longUzorPage), true); } } }