protected override void OnItemDoubleClick(AcObjectNew obj) { if (obj is WeatherObject weather) { QuickDrive.Show(weatherId: weather.Id); } }
private static string _selectNextTrackLayoutId; // TODO protected override void OnItemDoubleClick(AcObjectNew obj) { if (obj is TrackObjectBase track) { QuickDrive.Show(track: track); } }
Uri IAcObjectsUriProvider.GetUri(AcObjectNew obj) { switch (obj?.GetType().Name) { case nameof(CarObject): return(UriExtension.Create( SettingsHolder.Content.OldLayout ? "/Pages/Selected/SelectedCarPage.xaml?Id={0}" : "/Pages/Selected/SelectedCarPage_New.xaml?Id={0}", obj.Id)); case nameof(TrackObject): case nameof(TrackObjectBase): case nameof(TrackExtraLayoutObject): return(UriExtension.Create("/Pages/Selected/SelectedTrackPage.xaml?Id={0}", obj.Id)); case nameof(ShowroomObject): return(UriExtension.Create("/Pages/Selected/SelectedShowroomPage.xaml?Id={0}", obj.Id)); case nameof(WeatherObject): return(UriExtension.Create("/Pages/Selected/SelectedWeatherPage.xaml?Id={0}", obj.Id)); case nameof(ReplayObject): return(UriExtension.Create("/Pages/Selected/SelectedReplayPage.xaml?Id={0}", obj.Id)); case nameof(FontObject): return(UriExtension.Create("/Pages/Selected/SelectedFontPage.xaml?Id={0}", obj.Id)); case nameof(DriverModelObject): return(UriExtension.Create("/Pages/Selected/SelectedDriverModelPage.xaml?Id={0}", obj.Id)); case nameof(PpFilterObject): return(UriExtension.Create("/Pages/Selected/SelectedPpFilterPage.xaml?Id={0}", obj.Id)); case nameof(PythonAppObject): return(UriExtension.Create("/Pages/Selected/SelectedPythonAppPage.xaml?Id={0}", obj.Id)); case nameof(UserChampionshipObject): return(UriExtension.Create("/Pages/Selected/SelectedUserChampionship.xaml?Id={0}", obj.Id)); case nameof(CarSkinObject): return(UriExtension.Create("/Pages/Selected/SelectedCarSkinPage.xaml?Id={0}&CarId={1}", obj.Id, ((CarSkinObject)obj).CarId)); case nameof(CarSetupObject): return(UriExtension.Create("/Pages/Selected/SelectedCarSetupPage.xaml?Id={0}&CarId={1}", obj.Id, ((CarSetupObject)obj).CarId)); case nameof(TrackSkinObject): return(UriExtension.Create("/Pages/Selected/SelectedTrackSkinPage.xaml?Id={0}&TrackId={1}", obj.Id, ((TrackSkinObject)obj).TrackId)); case nameof(RemoteCarSetupObject): return(UriExtension.Create("/Pages/Selected/SelectedRemoteCarSetupPage.xaml?Id={0}&CarId={1}&RemoteSource={2}", obj.Id, ((RemoteCarSetupObject)obj).CarId, ((RemoteCarSetupObject)obj).Source)); case nameof(ServerPresetObject): return(UriExtension.Create("/Pages/ServerPreset/SelectedPage.xaml?Id={0}", obj.Id)); } throw new NotImplementedException("Not supported type: " + obj?.GetType().Name); }
public static Uri GetUri(AcObjectNew obj) { if (_provider == null) { throw new Exception(@"Provider is missing"); } return(_provider.GetUri(obj)); }
private static string _selectNextTrackLayoutId; // TODO protected override void OnItemDoubleClick(AcObjectNew obj) { var track = obj as TrackObjectBase; if (track == null) { return; } QuickDrive.Show(track: track); }
protected override void OnItemDoubleClick(AcObjectNew obj) { var championship = obj as UserChampionshipObject; if (championship == null) { return; } UserChampionships.NavigateToChampionshipPage(championship); }
protected override void OnItemDoubleClick(AcObjectNew obj) { var weather = obj as WeatherObject; if (weather == null) { return; } QuickDrive.Show(weather: weather); }
public async Task CloneAsync(string oldId, string newId, bool newEnabled) { if (!Directories.Actual) { return; } if (oldId == null) { throw new ArgumentNullException(nameof(oldId)); } // find object which is being renamed var wrapper = GetWrapperById(oldId); var obj = wrapper?.Value as T; if (obj == null) { throw new ArgumentException(ToolsStrings.AcObject_IdIsWrong, nameof(oldId)); } // files to move var currentLocation = obj.Location; string newLocation; try { newLocation = Directories.GetLocation(newId, newEnabled); } catch (Exception) { throw new InformativeException(ToolsStrings.Common_CannotDo, ToolsStrings.AcObject_DisablingNotSupported_Commentary); } if (FileUtils.Exists(newLocation)) { throw new ToggleException(ToolsStrings.AcObject_PlaceIsTaken); } var currentAttached = GetAttachedFiles(currentLocation).NonNull().ToList(); var newAttached = GetAttachedFiles(newLocation).NonNull().ToList(); if (newAttached.Any(FileUtils.Exists)) { throw new ToggleException(ToolsStrings.AcObject_PlaceIsTaken); } // let’s move! try { await CloneOverrideAsync(oldId, newId, currentLocation, newLocation, currentAttached.Zip(newAttached, Tuple.Create), newEnabled); AcObjectNew.MoveRatings <T>(oldId, newId, true); } catch (InformativeException) { throw; } catch (Exception e) { throw new ToggleException(e.Message); } }
protected override void OnItemDoubleClick(AcObjectNew obj) { if (obj is ReplayObject replay) { GameWrapper.StartReplayAsync(new Game.StartProperties(new Game.ReplayProperties { Name = replay.Id, TrackId = replay.TrackId, TrackConfiguration = replay.TrackConfiguration, WeatherId = replay.WeatherId })); } }
public async Task RenameAsync([NotNull] string oldId, [NotNull] string newId, bool newEnabled) { if (!Directories.Actual) { return; } if (oldId == null) { throw new ArgumentNullException(nameof(oldId)); } if (GetWrapperById(newId)?.Value.Enabled == newEnabled) { throw new ToggleException("Object with the same ID already exists."); } // find object which is being renamed var wrapper = GetWrapperById(oldId); var obj = wrapper?.Value as T; if (obj == null) { throw new ArgumentException(ToolsStrings.AcObject_IdIsWrong, nameof(oldId)); } // files to move var currentLocation = obj.Location; var newLocation = Directories.GetLocation(newId, newEnabled); if (FileUtils.Exists(newLocation)) { throw new ToggleException(ToolsStrings.AcObject_PlaceIsTaken); } var currentAttached = GetAttachedFiles(currentLocation).NonNull().ToList(); var newAttached = GetAttachedFiles(newLocation).NonNull().ToList(); if (newAttached.Any(FileUtils.Exists)) { throw new ToggleException(ToolsStrings.AcObject_PlaceIsTaken); } // let’s move! try { await MoveOverrideAsync(oldId, newId, currentLocation, newLocation, currentAttached.Zip(newAttached, Tuple.Create), newEnabled); AcObjectNew.MoveRatings <T>(oldId, newId, false); } catch (InformativeException) { throw; } catch (Exception e) { throw new ToggleException(e.Message); } }
public AcListPage() { SelectMode = false; _selectedWrapper = new DelayedPropertyWrapper <AcItemWrapper>(async v => { CurrentObject = v?.Loaded(); if (v != null && SettingsHolder.Content.ScrollAutomatically) { await Task.Delay(1); _list?.ScrollIntoView(_list.SelectedItem); } }); }
protected override void OnItemDoubleClick(AcObjectNew obj) { if (!(obj is ServerPresetObject server)) { return; } if (server.IsRunning) { server.StopServerCommand.Execute(); } else { server.RunServerCommand.ExecuteAsync().Ignore(); } }
protected override void OnItemDoubleClick(AcObjectNew obj) { var replay = obj as ReplayObject; if (replay == null) { return; } GameWrapper.StartReplayAsync(new Game.StartProperties(new Game.ReplayProperties { Name = replay.Id, TrackId = replay.TrackId, TrackConfiguration = replay.TrackConfiguration, WeatherId = replay.WeatherId })); }
protected override void OnItemDoubleClick(AcObjectNew obj) { var server = obj as ServerPresetObject; if (server == null) { return; } if (server.IsRunning) { server.StopServerCommand.Execute(); } else { server.RunServerCommand.Execute(); } }
private void OnSelectedItemChanged(AcObjectNew newValue) { if (InnerItemsSource == null) { return; } if (InnerItemsSource.CurrentItem != newValue) { InnerItemsSource.MoveCurrentToOrNull(newValue); UpdateSelected(); } if (SelectionMode != SelectionMode.Single && _listBox != null) { _ignoreSelectionChange = true; _listBox.SelectedItems.Clear(); _listBox.SelectedItems.Add(InnerItemsSource.CurrentItem); _ignoreSelectionChange = false; } }
public static void SetGenericObject(DependencyObject obj, AcObjectNew value) { obj.SetValue(GenericObjectProperty, value); }
public AcItemWrapper(AcObjectNew value) { _isLoaded = true; _value = value; }
public AcObjectEventArgs(AcObjectNew obj) { AcObject = obj; }