public ModSegmentView(BridgepourModModel bridgepourModModel, ModInstallerTabViewModel modInstallerTabViewModel, IBridgepourService bridgepourService, bool isLoaded) { InitializeComponent(); ViewModel = new ModSegmentViewModel(bridgepourModModel, bridgepourService); ViewModel.OnModDownload += async() => await modInstallerTabViewModel.RefreshModList(true); ViewModel.CanDownload = !isLoaded; SetFonts(); modName.Parent = kryptonPanel1; author.Parent = kryptonPanel1; description.Parent = kryptonPanel1; this.WhenActivated(d => { d(this.OneWayBind(ViewModel, vm => vm.CanDownload, v => v.downloadMod.Enabled)); d(this.OneWayBind(ViewModel, vm => vm.CanRemove, v => v.removeMod.Enabled)); d(this.OneWayBind(ViewModel, vm => vm.BridgepourModModel.Author, v => v.author.Text)); d(this.OneWayBind(ViewModel, vm => vm.BridgepourModModel.Description, v => v.description.Text)); d(this.OneWayBind(ViewModel, vm => vm.BridgepourModModel.Name, v => v.modName.Text)); d(this.downloadMod.Events() .Click .Select(ea => Unit.Default) .InvokeCommand(ViewModel.DownloadModCommand)); d(this.removeMod.Events() .Click .Select(ea => Unit.Default) .InvokeCommand(ViewModel.RemoveModCommand)); }); }
public ModSegmentViewModel(BridgepourModModel bridgepourModModel, IBridgepourService bridgepourService) { _bridgepourModModel = bridgepourModModel; _bridgepourService = bridgepourService; DownloadModCommand = ReactiveCommand.Create(DownloadMod); RemoveModCommand = ReactiveCommand.Create(RemoveMod); }
public void SetModDetails(BridgepourModModel bridgepourMod) { ViewModel !.SetModInfo( bridgepourMod.Author, bridgepourMod.Description, bridgepourMod.Name, bridgepourMod.RibbonColor, bridgepourMod.RibbonText, bridgepourMod.Status, bridgepourMod.Url); }