public void ControlTapped(object sender, GestureEventArgs e) { if (TapCommand != null) { TapCommand.Execute(TapCommandParameter); } }
void InitializeProperties() { var list = new List <PhotoItem>(); for (var i = 0; i < 20; i++) { list.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "AAA", }); } ItemsSource = new PhotoGroup(list); TapCommand.Subscribe(async item => { var photo = item as PhotoItem; await _pageDlg.DisplayAlertAsync("", $"Tap {photo.Title}", "OK"); }); LongTapCommand.Subscribe(async item => { var photo = item as PhotoItem; await _pageDlg.DisplayAlertAsync("", $"LongTap {photo.Title}", "OK"); }); RefreshCommand.Subscribe(async _ => { await Task.Delay(3000); IsRefreshing.Value = false; }); }
private void TapCalled(object sender, GestureEventArgs e) { if (TapCommand != null && TapCommand.CanExecute(sender)) { TapCommand.Execute(sender); } }
public TabHostView() { TabItemTappedCommand = new TapCommand(OnTabItemTapped); Tabs.CollectionChanged += OnTabsCollectionChanged; base.BackgroundColor = Color.Transparent; _grid = new Grid { RowSpacing = 0, ColumnSpacing = 0, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Fill, BackgroundColor = this.BackgroundColor, }; _frame = new Frame { Padding = 0, HasShadow = false, IsClippedToBounds = true, CornerRadius = this.CornerRadius, BackgroundColor = Color.Transparent, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Fill, BorderColor = SegmentedOutlineColor, }; UpdateTabType(); Shades = new List <Shade>(); }
public TabHostView() { RowSpacing = 0; ColumnSpacing = 0; TabItemTappedCommand = new TapCommand(OnTabItemTapped); ChildAdded += OnChildAdded; ChildRemoved += OnChildRemoved; }
public void OnTapped(float x = 0, float y = 0) { if (TapCommand != null) { TapCommand.Execute(TapCommandParameter); } else { RaiseTapEvent(x, y); } }
public TriggerTestViewModel(IPageDialogService pageDialog) { TapCommand.Subscribe(async _ => { await pageDialog.DisplayAlertAsync("", "Tap", "OK"); }); LongTapCommand.Subscribe(async _ => { await pageDialog.DisplayAlertAsync("", "LongTap", "OK"); }); }
public TabHostView() { TabItemTappedCommand = new TapCommand(OnTabItemTapped); Tabs.CollectionChanged += OnTabsCollectionChanged; _grid = new Grid { RowSpacing = 0, ColumnSpacing = 0, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Fill, }; UpdateTabType(); }
/// <summary> /// コンストラクタ /// </summary> /// <param name="dialogPageService"></param> public MainPageViewModel(IPageDialogService dialogPageService , INavigationService navigationService) { _dialogPageService = dialogPageService; _navigationService = navigationService; // スケジュール一覧に表示するスケジュールを取得し、項目のViewModelを作成する。 _manager = new ScheduleManager(); // スケジュール一覧の項目タップ処理を実装。 TapCommand.Subscribe(x => OnTapCommandAsync(x)); // リマインダ行タップコマンドの実装。 TapReminderCommand = new Command <ScheduleReminderViewModel>(async x => { Debug.WriteLine("TapReminderCommand"); await _navigationService.NavigateAsync("NavigationPage/ReminderEditPage", useModalNavigation: true); }); }
private void OnTapped(object sender, EventArgs e) { Device.BeginInvokeOnMainThread(async() => await this.ClickAnimation()); TapCommand?.Execute(TapCommandParameter); }
/// <summary> /// /// </summary> public AtomCalendar() { RowSpacing = 5; ColumnSpacing = 5; Padding = new Thickness(5); this.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); this.RowDefinitions.Add(new RowDefinition { }); this.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(2, GridUnitType.Star) }); this.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(8, GridUnitType.Star) }); this.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(5, GridUnitType.Star) }); this.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(2, GridUnitType.Star) }); listView = new AtomGridView(); /*listView.SetBinding(AtomListView.TapCommandProperty, new Binding() { * Source = this, * Path = nameof(TapCommand) * });*/ listView.TapCommand = new AtomCommand(o => { try { isDateChanging = true; this.SelectedDate = ((AtomDateModel)o).Value; } finally { isDateChanging = false; } TapCommand?.Execute(o); return(Task.CompletedTask); }); monthPicker = new AtomChooser() { ValuePath = "Value" }; DateTime start = new DateTime(2012, 1, 1); for (int i = 0; i < 12; i++) { monthList.Add(new AtomData <int>(start.ToString("MMMMMM"), i + 1)); start = start.AddMonths(1); } //monthPicker.SelectedIndexChanged += (s, e) => { // CurrentMonth = monthPicker.SelectedIndex + 1; //}; //monthPicker.SelectedIndex = CurrentMonth - 1; yearPicker = new AtomChooser() { ValuePath = "Value" }; yearPicker.LabelPath = monthPicker.LabelPath = "Label"; yearPicker.ItemTemplate = monthPicker.ItemTemplate = new DataTemplate(() => { Label label = new Label(); label.SetBinding(Label.TextProperty, new Binding() { Path = "Label" }); return(label); }); //yearPicker.SelectedIndexChanged += (s, e) => { // CurrentYear = int.Parse(yearPicker.Items[yearPicker.SelectedIndex]); //}; UpdateYears(); monthPicker.SetBinding(AtomChooser.ValueProperty, new Binding() { Source = this, Path = "CurrentMonth", Mode = BindingMode.TwoWay }); monthPicker.ShowSearch = false; monthPicker.ShowAsPopupButton = true; yearPicker.ShowSearch = false; yearPicker.ShowAsPopupButton = true; yearPicker.SetBinding(AtomChooser.ValueProperty, new Binding() { Source = this, Path = "CurrentYear", Mode = BindingMode.TwoWay }); yearPicker.ItemsSource = yearList; monthPicker.ItemsSource = monthList; // first row.. SetColumn(monthPicker, 1); SetColumn(yearPicker, 2); SetColumn(rightButton, 3); // second row SetColumnSpan(listView, 4); SetRow(listView, 1); this.Children.Add(leftButton); this.Children.Add(monthPicker); this.Children.Add(yearPicker); this.Children.Add(listView); this.Children.Add(rightButton); UpdateList(); leftButton.Command = new AtomCommand(() => { if (CurrentMonth == 1) { CurrentMonth = 12; CurrentYear = CurrentYear - 1; } else { CurrentMonth = CurrentMonth - 1; } return(Task.CompletedTask); }); rightButton.Command = new AtomCommand(() => { if (CurrentMonth == 12) { CurrentMonth = 1; CurrentYear = CurrentYear + 1; } else { CurrentMonth = CurrentMonth + 1; } return(Task.CompletedTask); }); }
private void OnTapped(object sender, EventArgs e) { this.ClickAnimation(); TapCommand?.Execute(TapCommandParameter); }
void InitializeProperties() { var list1 = new List <PhotoItem>(); for (var i = 0; i < 20; i++) { list1.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "AAA", }); } var list2 = new List <PhotoItem>(); for (var i = 10; i < 15; i++) { list2.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "BBB", }); } var list3 = new List <PhotoItem>(); for (var i = 5; i < 20; i++) { list3.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "CCC", }); } var list4 = new List <PhotoItem>(); for (var i = 1; i < 10; i++) { list4.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "DDD", }); } var noGroupList = new List <PhotoItem>(); for (var i = 0; i < 20; i++) { noGroupList.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "AAA", }); } ItemsSource2 = new PhotoGroup(noGroupList); var group1 = new PhotoGroup(list1) { Head = "SecA" }; var group2 = new PhotoGroup(list2) { Head = "SecB" }; var group3 = new PhotoGroup(list3) { Head = "SecC" }; ItemsSource.Add(group1); ItemsSource.Add(group2); ItemsSource.Add(group3); _additionalGroup = new PhotoGroup(list4) { Head = "SEC4" }; TapCommand.Subscribe(async item => { var photo = item as PhotoItem; await _pageDlg.DisplayAlertAsync("", $"Tap {photo.Title}", "OK"); }); LongTapCommand.Subscribe(async item => { var photo = item as PhotoItem; await _pageDlg.DisplayAlertAsync("", $"LongTap {photo.Title}", "OK"); }); var addItem = new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/1.jpg", Title = $"AddItem", Category = "AAA" }; var addPtn = 0; AddCommand.Subscribe(_ => { switch (addPtn) { case 0: group1.Add(addItem); break; case 1: group1.Insert(0, addItem); break; case 2: group1.Insert(group1.Count / 2, addItem); break; } addPtn++; if (addPtn > 2) { addPtn = 0; } }); var delPtn = 0; DelCommand.Subscribe(_ => { switch (delPtn) { case 0: group1.RemoveAt(0); break; case 1: group1.RemoveAt(group1.Count / 2); break; case 2: group1.RemoveAt(group1.Count - 1); break; } delPtn++; if (delPtn > 2) { delPtn = 0; } }); RepCommand.Subscribe(_ => { group1[0] = addItem; }); MoveCommand.Subscribe(_ => { group1.Move(0, 3); }); AddSecCommand.Subscribe(_ => { ItemsSource.Add(_additionalGroup); }); DelSecCommand.Subscribe(_ => { ItemsSource.RemoveAt(ItemsSource.Count - 1); }); }
public DemoPageViewModel(IPageDialogService pageDialog, IToast toast) { _toast = toast; _pageDlg = pageDialog; var list1 = new List <PhotoItem>(); for (var i = 0; i < 20; i++) { list1.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "AAA", }); } var list2 = new List <PhotoItem>(); for (var i = 10; i < 15; i++) { list2.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "BBB", }); } var list3 = new List <PhotoItem>(); for (var i = 5; i < 20; i++) { list3.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "CCC", }); } var group1 = new PhotoGroup(list1) { Head = "SectionA" }; var group2 = new PhotoGroup(list2) { Head = "SectionB" }; var group3 = new PhotoGroup(list3) { Head = "SectionC" }; ItemsSource.Add(group1); ItemsSource.Add(group2); ItemsSource.Add(group3); ItemsSourceH.Add(group1); ItemsSourceH.Add(group2); TapCommand.Subscribe(async item => { var photo = item as PhotoItem; await _pageDlg.DisplayAlertAsync("", $"Tap {photo.Title}", "OK"); }); LongTapCommand.Subscribe(async item => { var photo = item as PhotoItem; await _pageDlg.DisplayAlertAsync("", $"LongTap {photo.Title}", "OK"); }); RefreshCommand.Subscribe(async _ => { await Task.Delay(3000); IsRefreshing.Value = false; }); NextCommand.Subscribe(NextAction); var loadCount = 1; LoadMoreCommand.Subscribe(_ => { if (loadCount == 10) { SetEndLoadMore(true); return; } var list = new List <PhotoItem>(); for (var i = 5; i < 20; i++) { list.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "XXX", }); } var group = new PhotoGroup(list) { Head = $"SectionX{loadCount}" }; ItemsSource.Add(group); SetEndLoadMore(false); loadCount++; }); var loadHCount = 1; LoadMoreHCommand.Subscribe(_ => { if (loadHCount == 10) { SetEndLoadMoreH(true); return; } var list = new List <PhotoItem>(); for (var i = 5; i < 20; i++) { list.Add(new PhotoItem { PhotoUrl = $"https://kamusoft.jp/openimage/nativecell/{i + 1}.jpg", Title = $"Title {i + 1}", Category = "XXX", }); } var group = new PhotoGroup(list) { Head = $"SectionX{loadHCount}" }; ItemsSourceH.Add(group); SetEndLoadMoreH(false); loadHCount++; }); SetDemoItems(); }
public void ClientSocketHandlerDidReadMessage(AltClientSocketHandler handler, string message) { string[] separator = new string[] { requestSeparatorString }; string[] pieces = message.Split(separator, System.StringSplitOptions.None); AltUnityComponent altComponent; AltUnityObject altUnityObject; string methodParameters; UnityEngine.Vector2 size; PLayerPrefKeyType option; Command command = null; try { switch (pieces[0]) { case "findAllObjects": methodParameters = pieces[1] + requestSeparatorString + pieces[2]; command = new FindAllObjectsCommand(methodParameters); break; case "findObjectByName": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindObjectByNameCommand(methodParameters); break; case "findObjectWhereNameContains": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindObjectWhereNameContainsCommand(methodParameters); break; case "tapObject": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new TapCommand(altUnityObject); break; case "findObjectsByName": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindObjectsByNameCommand(methodParameters); break; case "findObjectsWhereNameContains": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindObjectsWhereNameContainsCommand(methodParameters); break; case "getCurrentScene": command = new GetCurrentSceneCommand(); break; case "findObjectByComponent": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3] + requestSeparatorString + pieces[4]; command = new FindObjectByComponentCommand(methodParameters); break; case "findObjectsByComponent": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3] + requestSeparatorString + pieces[4]; command = new FindObjectsByComponentCommand(methodParameters); break; case "getObjectComponentProperty": command = new GetComponentPropertyCommand(pieces[1], pieces[2]); break; case "setObjectComponentProperty": command = new SetObjectComponentPropertyCommand(pieces[1], pieces[2], pieces[3]); break; case "callComponentMethodForObject": command = new CallComponentMethodForObjectCommand(pieces[1], pieces[2]); break; case "closeConnection": UnityEngine.Debug.Log("Socket connection closed!"); _socketServer.StartListeningForConnections(); break; case "clickEvent": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new ClickEventCommand(altUnityObject); break; case "tapScreen": command = new ClickOnScreenAtXyCommand(pieces[1], pieces[2]); break; case "dragObject": UnityEngine.Vector2 positionVector2 = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[1]); altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[2]); command = new DragObjectCommand(positionVector2, altUnityObject); break; case "dropObject": UnityEngine.Vector2 positionDropVector2 = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[1]); altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[2]); command = new DropObjectCommand(positionDropVector2, altUnityObject); break; case "pointerUpFromObject": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new PointerUpFromObjectCommand(altUnityObject); break; case "pointerDownFromObject": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new PointerDownFromObjectCommand(altUnityObject); break; case "pointerEnterObject": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new PointerEnterObjectCommand(altUnityObject); break; case "pointerExitObject": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new PointerExitObjectCommand(altUnityObject); break; case "tilt": UnityEngine.Vector3 vector3 = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector3>(pieces[1]); command = new TiltCommand(vector3); break; case "movingTouch": UnityEngine.Vector2 start2 = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[1]); UnityEngine.Vector2 end2 = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[2]); command = new SetMovingTouchCommand(start2, end2, pieces[3]); break; case "loadScene": command = new Assets.AltUnityTester.AltUnityServer.Commands.LoadSceneCommand(pieces[1]); break; case "setTimeScale": float timeScale = Newtonsoft.Json.JsonConvert.DeserializeObject <float>(pieces[1]); command = new SetTimeScaleCommand(timeScale); break; case "getTimeScale": command = new GetTimeScaleCommand(); break; case "deletePlayerPref": command = new DeletePlayerPrefCommand(); break; case "deleteKeyPlayerPref": command = new DeleteKeyPlayerPrefCommand(pieces[1]); break; case "setKeyPlayerPref": option = (PLayerPrefKeyType)System.Enum.Parse(typeof(PLayerPrefKeyType), pieces[3]); command = new SetKeyPlayerPrefCommand(option, pieces[1], pieces[2]); break; case "getKeyPlayerPref": option = (PLayerPrefKeyType)System.Enum.Parse(typeof(PLayerPrefKeyType), pieces[2]); command = new GetKeyPlayerPrefCommand(option, pieces[1]); break; case "actionFinished": command = new ActionFinishedCommand(); break; case "getAllComponents": command = new GetAllComponentsCommand(pieces[1]); break; case "getAllFields": altComponent = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityComponent>(pieces[2]); command = new GetAllFieldsCommand(pieces[1], altComponent); break; case "getAllMethods": altComponent = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityComponent>(pieces[1]); command = new GetAllMethodsCommand(altComponent); break; case "getAllScenes": command = new GetAllScenesCommand(); break; case "getAllCameras": command = new GetAllCamerasCommand(); break; case "getScreenshot": size = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[1]); command = new GetScreenshotCommand(size, handler); break; case "hightlightObjectScreenshot": var id = System.Convert.ToInt32(pieces[1]); size = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[3]); command = new HighlightSelectedObjectCommand(id, pieces[2], size, handler); break; case "hightlightObjectFromCoordinatesScreenshot": var coordinates = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[1]); size = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[3]); command = new HightlightObjectFromCoordinatesCommand(coordinates, pieces[2], size, handler); break; case "pressKeyboardKey": var piece = pieces[1]; UnityEngine.KeyCode keycode = (UnityEngine.KeyCode)System.Enum.Parse(typeof(UnityEngine.KeyCode), piece); float power = Newtonsoft.Json.JsonConvert.DeserializeObject <float>(pieces[2]); float duration = Newtonsoft.Json.JsonConvert.DeserializeObject <float>(pieces[3]); command = new HoldButtonCommand(keycode, power, duration); break; case "moveMouse": UnityEngine.Vector2 location = Newtonsoft.Json.JsonConvert.DeserializeObject <UnityEngine.Vector2>(pieces[1]); duration = Newtonsoft.Json.JsonConvert.DeserializeObject <float>(pieces[2]); command = new MoveMouseCommand(location, duration); break; case "scrollMouse": var scrollValue = Newtonsoft.Json.JsonConvert.DeserializeObject <float>(pieces[1]); duration = Newtonsoft.Json.JsonConvert.DeserializeObject <float>(pieces[2]); command = new ScrollMouseCommand(scrollValue, duration); break; case "findObject": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindObjectCommand(methodParameters); break; case "findObjects": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindObjectsCommand(methodParameters); break; case "findActiveObjectByName": methodParameters = pieces[1] + requestSeparatorString + pieces[2] + requestSeparatorString + pieces[3]; command = new FindActiveObjectsByNameCommand(methodParameters); break; case "enableLogging": var enableLogging = bool.Parse(pieces[1]); command = new EnableLoggingCommand(enableLogging); break; case "getText": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new GetTextCommand(altUnityObject); break; case "setText": altUnityObject = Newtonsoft.Json.JsonConvert.DeserializeObject <AltUnityObject>(pieces[1]); command = new SetTextCommand(altUnityObject, pieces[2]); break; case "getPNGScreenshot": command = new GetScreenshotPNGCommand(handler); break; default: command = new UnknowStringCommand(); break; } } catch (Newtonsoft.Json.JsonException exception) { UnityEngine.Debug.Log(exception); handler.SendResponse(errorCouldNotParseJsonString); } if (command != null) { command.SendResponse(handler); } }