public ReadingPage() { BackgroundColor = Color.FromHex("#0b87a8"); var BackGroundImage_ = new ImageUpload("arkaplan") { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, }; var BooksGrid = new ExGrid(5, 2); for (int i = 0; i < 5; i++) { for (int j = 0; j < 2; j++) { var Book_ = new Book("ChildrenImagination") { TappedCommand = CallBook }; BooksGrid.Children.Add(Book_, j, i); } } var ScrollView_ = new ScrollView() { Content = BooksGrid }; var ContentGrid = new ExGrid(); ContentGrid.Children.Add(BackGroundImage_, 0, 0); ContentGrid.Children.Add(ScrollView_, 0, 0); Content = ContentGrid; }
public ActivityStatusPage() { try { datePicker.DateSelected += async(sender, e) => { Device.BeginInvokeOnMainThread((async() => { await CreateDisplay(e.NewDate); })); }; var mainGrid = new ExGrid(); exPickersValue.Add(0, "Yapılmadı"); exPickersValue.Add(1, "Yapıldı"); var scrollView = new ScrollView(); var bodyGrid = new ExGrid() { Padding = new Thickness(15, 15, 15, 15) }; this.Title = "Günlük Aktivite İlerlemelerim"; var activityIndicatorLabel = new ExLabel { Text = "Günlük aktivite durumları getiriliyor...", TextColor = Color.Black }; var activityIndicatorExFrame = new ExFrame() { CornerRadius = 10, VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.Center, BackgroundColor = Color.LightGray }; var activityIndicator = new ActivityIndicator() { Color = Color.DarkRed }; activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, new Binding("IsBusy", source: this)); var activityIndicatorStackLayout = new ExStackLayout() { VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center }; activityIndicatorStackLayout.Children.Add(activityIndicatorLabel); activityIndicatorStackLayout.Children.Add(activityIndicator); activityIndicatorExFrame.Content = activityIndicatorStackLayout; activityIndicatorExFrame.SetBinding(Frame.IsVisibleProperty, new Binding("IsBusy", source: this)); bodyGrid.Children.Add(mainExStackLayout); scrollView.Content = bodyGrid; mainGrid.Children.Add(activityIndicatorExFrame); mainGrid.Children.Add(scrollView); Content = mainGrid; Device.BeginInvokeOnMainThread((async() => { await CreateDisplay(DateTime.Today); })); } catch (Exception e) { DisplayAlert("Hata", e.Message, "Tamam"); } }
public MainPage() { BackgroundColor = Color.FromHex("#0b87a8"); var BackGroundImage_ = new ImageUpload("arkaplan") { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, }; var UserPanel = new ExButton("icon_user") { TappedCommand = UserCommand }; var QrPanel = new ExButton("icon_qr") { TappedCommand = ScannerCommand }; var StFirst = new ExStackLayout(); StFirst.Children.Add(UserPanel); StFirst.Children.Add(QrPanel); var ListeningPanel = new ExButton("icon_music") { TappedCommand = InsertFirebaseCommand }; var ReadingPanel = new ExButton("icon_reading") { TappedCommand = ReadingCommand }; var StSecond = new ExStackLayout(); StSecond.Children.Add(ListeningPanel); StSecond.Children.Add(ReadingPanel); var ExContent = new StackLayout() { HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, Children = { StFirst, StSecond } }; var ExGridContent = new ExGrid(); ExGridContent.Children.Add(BackGroundImage_, 0, 0); ExGridContent.Children.Add(ExContent, 0, 0); Content = ExGridContent; }
private void button1_Click(object sender, EventArgs e) { m_Grid = GridHelper.ReadGridFromGSLIB_FastForm(); //m_Grid = new fyGrid(1, 1, 1, 200, 200, 1, 0, 0, 0); //Random r = new Random(); //for (int i = 0; i < m_Grid.CellCount; i++) //{ // m_Grid.SetCell(i, r.Next(0, 10)); //} fy3DModelCanvas1.UpdatefyGrid(m_Grid); }
public fy3DModelPage(ExGrid Grid, double[] CameraFocalPoint, double[] CameraPoint, double[] CameraViewUp) { InitializeComponent(); m_PageMode = fy3DModelPageMode.Normal_Mode; m_CameraFocalPoint = CameraFocalPoint; m_CameraPoint = CameraPoint; m_CameraViewUp = CameraViewUp; m_ImageData = ConvertfyGrid2vtkImageData(Grid); //初始化渲染的颜色和透明度 InitializeColor_Normal(Grid); }
//切片模式_初始化颜色 private void InitializeColor_Slice(ExGrid Grid) { m_LookupTable = vtkLookupTable.New(); m_LookupTable.SetTableRange(Grid.Min, Grid.Max); //蓝色->红色 m_LookupTable.SetHueRange(0.667, 0); m_LookupTable.SetNumberOfColors(100); m_LookupTable.Build(); //线性插值透明度 m_PiecewiseFunction = vtkPiecewiseFunction.New(); m_PiecewiseFunction.AddPoint(Grid.Min, 1); m_PiecewiseFunction.AddPoint(Grid.Max, 1); }
/// <summary> /// 更新fyGrid /// </summary> /// <param name="Grid"></param> public void UpdatefyGrid(ExGrid Grid, double ValueOfNull = -9999.9999) { if (Grid == null) { MessageBox.Show("来自fy3DModelCanvas的警告\nfyGrid是Null!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //对Grid的null值进行处理 for (int i = 0; i < Grid.CellCount; i++) { //如果Cell是null,则赋予为ValueOfNull Grid.SetCell(i, Grid.GetCell(i) == null ? ValueOfNull : Grid.GetCell(i)); } m_Grid = Grid; //发出数据更新消息 UpdatefyGridEvent(); }
//把fyGrid转为vtkImageData private vtkImageData ConvertfyGrid2vtkImageData(ExGrid Grid) { vtkImageData ImageData = vtkImageData.New(); ImageData.SetScalarTypeToUnsignedChar(); ImageData.SetNumberOfScalarComponents(1); ImageData.SetDimensions(Grid.ICount, Grid.JCount, Grid.KCount); ImageData.SetSpacing(1, 1, 1); ImageData.AllocateScalars(); byte[] data = new byte[Grid.CellCount]; for (int i = 0; i < Grid.CellCount; i++) { data[i] = (byte)Grid.GetCell(i).Value; } System.Runtime.InteropServices.Marshal.Copy(data, 0, (IntPtr)ImageData.GetScalarPointer(), data.Length); return(ImageData); }
//镂空模式_初始化颜色 private void InitializeColor_HollowOut(ExGrid Grid) { m_LookupTable = vtkLookupTable.New(); m_LookupTable.SetTableRange(Grid.Min, Grid.Max); //蓝色->红色 m_LookupTable.SetHueRange(0.666667, 0); m_LookupTable.SetNumberOfColors(100); m_LookupTable.Build(); //设定标量值的颜色 m_ColorTransferFunction = vtkColorTransferFunction.New(); for (int i = 0; i < 100; i += 10) { var color = m_LookupTable.GetTableValue(i); double Range = Grid.Max - Grid.Min; m_ColorTransferFunction.AddRGBPoint(Grid.Min + i * Range / 100.0, color[0], color[1], color[2]); } m_ColorTransferFunction.Build(); //线性插值透明度 m_PiecewiseFunction = vtkPiecewiseFunction.New(); // [,) InitRanges(); foreach (var range in m_IntersectRanges) { double Min = range.Min; double Max = range.Max; ////由于VTK的特性,对Max进行修正 //如果透明 if (range.Transparent) { m_PiecewiseFunction.AddSegment(Min, Transparency_Yes, Max, Transparency_Yes); } //不透明 else { Min = Min + EPSILON; Max = Max - EPSILON; m_PiecewiseFunction.AddSegment(Min, Transparency_Not, Max, Transparency_Not); } } }
public fy3DModelPage(ExGrid Grid, double[] CameraFocalPoint, double[] CameraPoint, double[] CameraViewUp, int XPos, int YPos, int ZPos) { InitializeComponent(); m_PageMode = fy3DModelPageMode.Slice_Mode; m_CameraFocalPoint = CameraFocalPoint; m_CameraPoint = CameraPoint; m_CameraViewUp = CameraViewUp; m_XPos = XPos; m_YPos = YPos; m_ZPos = ZPos; m_ImageData = ConvertfyGrid2vtkImageData(Grid); InitializeColor_Slice(Grid); }
double EPSILON = 0.000000001; //最小值E public fy3DModelPage(ExGrid Grid, double[] CameraFocalPoint, double[] CameraPoint, double[] CameraViewUp, List <fyTransparentRange> TransparentRanges) { InitializeComponent(); m_PageMode = fy3DModelPageMode.HollowOut_Mode; m_CameraFocalPoint = CameraFocalPoint; m_CameraPoint = CameraPoint; m_CameraViewUp = CameraViewUp; m_ImageData = ConvertfyGrid2vtkImageData(Grid); m_Range = new fyTransparentRange(); m_Range.Min = Grid.Min; m_Range.Max = Grid.Max; m_UserRanges = TransparentRanges; //初始化渲染的颜色和透明度 InitializeColor_HollowOut(Grid); }
//普通模式_初始化颜色 private void InitializeColor_Normal(ExGrid Grid) { m_LookupTable = vtkLookupTable.New(); m_LookupTable.SetTableRange(Grid.Min, Grid.Max); //蓝色->红色 m_LookupTable.SetHueRange(0.667, 0); m_LookupTable.SetNumberOfColors(100); m_LookupTable.Build(); //设定标量值的颜色 m_ColorTransferFunction = vtkColorTransferFunction.New(); for (int i = 0; i < 100; i += 10) { var color = m_LookupTable.GetTableValue(i); double Range = Grid.Max - Grid.Min; m_ColorTransferFunction.AddRGBPoint(Grid.Min + i * Range / 100.0, color[0], color[1], color[2]); } m_ColorTransferFunction.Build(); //线性插值透明度 m_PiecewiseFunction = vtkPiecewiseFunction.New(); m_PiecewiseFunction.AddPoint(Grid.Min, 1); m_PiecewiseFunction.AddPoint(Grid.Max, 1); }
public ActivityPage() { Title = "Tüm Aktivitelerim"; var mainListView = new ExListView(); var activityIndicatorLabel = new ExLabel() { Text = "Aktiviteleriniz getiriliyor...", TextColor = Color.Black }; var activityIndicator = new ActivityIndicator() { Color = Color.DarkRed }; activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, new Binding("IsBusy", source: this)); var frame = new ExFrame() { CornerRadius = 10, VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.Center, BackgroundColor = Color.LightGray }; var activityIndicatorStackLayout = new ExStackLayout() { VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, // Padding = new Thickness(20, 20, 20, 20), }; activityIndicatorStackLayout.Children.Add(activityIndicatorLabel); activityIndicatorStackLayout.Children.Add(activityIndicator); frame.SetBinding(Frame.IsVisibleProperty, new Binding("IsBusy", source: this)); frame.Content = activityIndicatorStackLayout; mainListView.ItemSelected += async(sender, e) => { var selected = (Activity)e.SelectedItem; var listView = (ExListView)sender; if (selected != null) { await Navigation.PushAsync(new ActivityAddAndUpdatePage(selected)); listView.SelectedItem = null; } }; mainListView.ItemTemplate = App.ActivityPageDataTemplate; mainListView.SetBinding(ListView.ItemsSourceProperty, new Binding("activityList", source: typeof(App))); var mainGrid = new ExGrid(); var bodyGrid = new ExGrid(); bodyGrid.Children.Add(mainListView); mainGrid.Children.Add(bodyGrid); mainGrid.Children.Add(frame); Content = mainGrid; var newActivityToolbarItem = new ToolbarItem("Yeni", null, delegate { }, ToolbarItemOrder.Primary, 0); newActivityToolbarItem.Clicked += async(sender, e) => { await Navigation.PushAsync(new ActivityAddAndUpdatePage(null), true); }; this.ToolbarItems.Add(newActivityToolbarItem); var refreshListToolbarItem = new ToolbarItem("Yenile", null, delegate { }, ToolbarItemOrder.Primary, 1); this.ToolbarItems.Add(refreshListToolbarItem); refreshListToolbarItem.Clicked += async(sender, e) => { Device.BeginInvokeOnMainThread((async() => { await ListData(mainListView); })); }; Task.Factory.StartNew(async() => { await ListData(mainListView); }); }
public ActivityAddAndUpdatePage(Activity activity = null) { foreach (var activityType in (Enums.ActivityTypes[])Enum.GetValues(typeof(Enums.ActivityTypes))) { activityTypesDictionary.Add(activityType, Enums.GetEnumDescription(activityType)); } var mainGrid = new ExGrid() { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand, Padding = new Thickness(20, 0, 20, 0) }; //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) }); //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) }); //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) }); //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) }); TableSection tableSection = null; TableRoot tableRoot = null; if (activity == null) { tableSection = new TableSection("Aktivite Ekle"); tableRoot = new TableRoot("Aktivite Ekle"); } else { tableSection = new TableSection("Aktivite Güncelle"); tableRoot = new TableRoot("Aktivite Güncelle"); } var activityNameEntry = new ExEntry() { Placeholder = "Aktivite Adı", }; var activityNameEntryViewCell = new ViewCell(); if (activity != null) { var activityNameLabel = new ExLabel() { Text = "Aktivite Adı:", TextColor = Color.Blue, HorizontalTextAlignment = TextAlignment.Center }; activityNameEntryViewCell.View = new ExStackLayout() { Children = { activityNameLabel, activityNameEntry } }; } else { activityNameEntryViewCell.View = activityNameEntry; } tableSection.Add(activityNameEntryViewCell); var activityTypesPicker = new ExPicker() { Title = "Aktivite Türünü Seçiniz", TextColor = Color.Black, ItemsSource = activityTypesDictionary.Values.ToList() }; var activityTypesPickerViewCell = new ViewCell(); if (activity != null) { var activityTypesPickerLabel = new ExLabel() { Text = "Aktivite Türü:", TextColor = Color.Blue, HorizontalTextAlignment = TextAlignment.Center }; activityTypesPickerViewCell.View = new ExStackLayout() { Children = { activityTypesPickerLabel, activityTypesPicker } }; } else { activityTypesPickerViewCell.View = activityTypesPicker; } tableSection.Add(activityTypesPickerViewCell); var activityIsActivePicker = new ExPicker() { Title = "Aktivite Aktiflik Durumu", TextColor = Color.Black, ItemsSource = isActiveStatusDictionary.Values.ToList() }; if (activity != null) { var activityIsActivePickerLabel = new ExLabel() { Text = "Aktivite Aktiflik Durumu:", TextColor = Color.Blue, HorizontalTextAlignment = TextAlignment.Center }; isActiveStatusDictionary.Add(false, "Aktif Değil"); isActiveStatusDictionary.Add(true, "Aktif"); activityIsActivePicker.ItemsSource = isActiveStatusDictionary.Values.ToList(); activityIsActivePicker.SelectedItem = isActiveStatusDictionary .FirstOrDefault(p => p.Key == activity.IsActive).Value; var activityIsActivePickerViewCell = new ViewCell { View = new ExStackLayout() { Children = { activityIsActivePickerLabel, activityIsActivePicker } } }; tableSection.Add(activityIsActivePickerViewCell); activityNameEntry.Text = activity.ActivityName; activityTypesPicker.SelectedItem = Enums.GetEnumDescription(activity.ActivityTypes); } var saveButton = new Exbutton() { Text = "Kaydet", BackgroundColor = Color.FromHex("#449D44"), TextColor = Color.White, CornerRadius = 10, HorizontalOptions = LayoutOptions.FillAndExpand }; var saveButtonViewCell = new ViewCell { View = saveButton }; tableSection.Add(saveButtonViewCell); tableRoot.Add(tableSection); var tableView = new TableView(tableRoot) { Intent = TableIntent.Form, HasUnevenRows = true, RowHeight = -1, HeightRequest = -2 }; mainGrid.Children.Add(tableView); saveButton.Clicked += async(sender, e) => { if (activityNameEntry.Text.Length != 0) { if (activity == null) { if (!_manager.IsThereActivity(activityNameEntry.Text, null)) { var newActivity = new Activity() { ActivityName = activityNameEntry.Text, ActivityRegisterDate = DateTime.Today, IsActive = true }; newActivity.ActivityTypes = activityTypesDictionary.FirstOrDefault(p => p.Value == activityTypesPicker.SelectedItem.ToString()).Key; if (_manager.InsertActivity(newActivity) > 0) { App.activityList = _manager.GetAllActivity(); await DisplayAlert("Başarı", "Aktivite ekleme işlemi başarılı bir şekilde sonuçlandı.", "Tamam"); await Navigation.PopAsync(true); } else { await DisplayAlert("Hata", "Ekleme işlemi sırasında hata oluştu.", "Tamam"); } } else { await DisplayAlert("Hata", "Girilen aktivite adı zaten başka bir aktivite için kullanılıyor.", "Tamam"); } } else { if (!_manager.IsThereActivity(activityNameEntry.Text, activity.ActivityId)) { var regulatedActivity = new Activity() { ActivityTypes = activityTypesDictionary.FirstOrDefault(p => p.Value == activityTypesPicker.SelectedItem.ToString()).Key, ActivityName = activityNameEntry.Text, ActivityId = activity.ActivityId, ActivityRegisterDate = activity.ActivityRegisterDate, IsActive = isActiveStatusDictionary.FirstOrDefault(p => p.Value == activityIsActivePicker.SelectedItem.ToString()).Key }; if (regulatedActivity.ActivityTypes == activity.ActivityTypes && regulatedActivity.IsActive == activity.IsActive && regulatedActivity.ActivityName.Equals(activity.ActivityName)) { App.activityList = _manager.GetAllActivity(); await DisplayAlert("Başarı", "Aktivite güncelleme işlemi tamamlandı.", "Tamam"); await Navigation.PopAsync(true); } else { if (regulatedActivity.ActivityTypes != activity.ActivityTypes) { var returned = await DisplayAlert("Dikkat", "Aktivitenin türünü değiştirdiniz. Devam ederseniz bu aktivitenin geçmişe yönelik tüm" + "verileri sıfırlanacaktır. Devam etmek istiyor musunuz?", "Devam", "İptal"); if (returned == true) { var listActivityStatuses = _manager.GetAllActivityStatusesById(activity.ActivityId); foreach (var activityState in listActivityStatuses) { _manager.UpdateActivityStatus(activityState.ActivityStatusId, 0); } if (_manager.UpdateActivity(regulatedActivity) > 0) { App.activityList = _manager.GetAllActivity(); await DisplayAlert("Başarı", "Aktivite güncelleme işlemi tamamlandı.", "Tamam"); await Navigation.PopAsync(true); } else { await DisplayAlert("Hata", "Güncelleme işlemi sırasında hata oluştu.", "Tamam"); } } else { await DisplayAlert("Uyarı", "Aktivite güncelleme işlemi kendi isteğiniz ile iptal edildi.", "Tamam"); } } else { if (_manager.UpdateActivity(regulatedActivity) > 0) { App.activityList = _manager.GetAllActivity(); await DisplayAlert("Başarı", "Aktivite güncelleme işlemi tamamlandı.", "Tamam"); await Navigation.PopAsync(true); } else { await DisplayAlert("Hata", "Güncelleme işlemi sırasında hata oluştu.", "Tamam"); } } } } else { await DisplayAlert("Hata", "Girilen aktivite adı zaten başka bir aktivite için kullanılıyor.", "Tamam"); } } } else { await DisplayAlert("Hata", "Aktivite Adı girilmesi zorunludur.", "Tamam"); } }; Content = mainGrid; }
public VideoPage(VideoModel result) { UserDialogs.Instance.HideLoading(); BackgroundColor = Color.FromHex("#0b87a8"); var BackGroundImage_ = new ImageUpload("arkaplan"); VideoLayout = new StackLayout { VerticalOptions = LayoutOptions.FillAndExpand, Children = { new VideoPlayer() { Source = result.Link, AutoPlay = true, FillMode = FillMode.ResizeAspectFill, } } }; var UnderVideoLabel = new StackLayout { Children = { new ExLabel() { Text = "# " + result.Baslik, FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(ExLabel)), TextColor = Color.White, VerticalTextAlignment = TextAlignment.Center } } }; var LabelGrid = new ExGrid() { }; LabelGrid.Children.Add(new ColorWithOpacity(Color.FromHex("#1a1809")) ); LabelGrid.Children.Add(UnderVideoLabel); LabelLayout = new ExStackLayout { HeightRequest = 50, Children = { LabelGrid } }; ExerciseLayout = new ExStackLayout() { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, Children = { new Exercise("ExerciseTest", "Test"), new Exercise("ExerciseReading", "Reading"), } }; var PageLayout = new StackLayout { Orientation = StackOrientation.Vertical, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, Children = { VideoLayout, LabelLayout, ExerciseLayout } }; var GridContent = new ExGrid(); GridContent.Children.Add(BackGroundImage_, 0, 0); GridContent.Children.Add(PageLayout, 0, 0); Content = GridContent; }