public void SetPosition(OverlayItemPositionModel position) { this.PositionType = position.PositionType; this.Horizontal = position.Horizontal; this.Vertical = position.Vertical; this.Layer = position.Layer; }
public OverlayItemPositionViewModel(OverlayItemPositionModel position) { this.SimplePositionCommand = this.CreateCommand(() => { this.Horizontal = 50; this.Vertical = 50; this.PositionType = OverlayItemPositionType.Percentage; }); this.PercentagePositionCommand = this.CreateCommand(() => { this.Horizontal = 0; this.Vertical = 0; this.PositionType = OverlayItemPositionType.Percentage; }); this.PixelPositionCommand = this.CreateCommand(() => { this.Horizontal = 0; this.Vertical = 0; this.PositionType = OverlayItemPositionType.Pixel; }); this.TopLeftSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(25, 25); }); this.TopMiddleSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(50, 25); }); this.TopRightSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(75, 25); }); this.MiddleLeftSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(25, 50); }); this.MiddleMiddleSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(50, 50); }); this.MiddleRightSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(75, 50); }); this.BottomLeftSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(25, 75); }); this.BottomMiddleSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(50, 75); }); this.BottomRightSimplePositionCommand = this.CreateCommand(() => { this.SetSimplePosition(75, 75); }); this.SetPosition(position); }
private async void SaveButton_Click(object sender, RoutedEventArgs e) { await this.RunAsyncOperation((System.Func <Task>)(async() => { if (await this.viewModel.Validate()) { OverlayItemPositionModel position = this.ItemPosition.GetPosition(); if (position == null) { await DialogHelper.ShowMessage("A valid position for this overlay widget must be selected"); return; } OverlayItemModelBase overlayItem = overlayTypeEditor.GetItem(); if (overlayItem == null) { await DialogHelper.ShowMessage("There are missing details for the overlay item"); return; } overlayItem.Position = position; OverlayWidgetModel widget = new OverlayWidgetModel(this.viewModel.Name, this.viewModel.SelectedOverlayEndpoint, overlayItem, (int)this.viewModel.RefreshTime); if (this.viewModel.OverlayWidget != null) { await this.viewModel.OverlayWidget.Disable(); ChannelSession.Settings.OverlayWidgets.Remove(this.viewModel.OverlayWidget); overlayItem.ID = this.viewModel.OverlayWidget.Item.ID; } ChannelSession.Settings.OverlayWidgets.Add(widget); this.Close(); } })); }
private async void SaveButton_Click(object sender, RoutedEventArgs e) { await this.RunAsyncOperation((System.Func <Task>)(async() => { if (await this.viewModel.Validate()) { OverlayItemPositionModel position = this.position.GetPosition(); if (position == null) { await DialogHelper.ShowMessage(MixItUp.Base.Resources.InvalidPosition); return; } OverlayItemModelBase overlayItem = overlayTypeEditor.GetItem(); if (overlayItem == null) { await DialogHelper.ShowMessage(MixItUp.Base.Resources.OverlayMissingDetails); return; } overlayItem.Position = position; OverlayWidgetModel widget = new OverlayWidgetModel(this.viewModel.Name, this.viewModel.SelectedOverlayEndpoint, overlayItem, (int)this.viewModel.RefreshTime); if (this.viewModel.OverlayWidget != null) { await this.viewModel.OverlayWidget.Disable(); ChannelSession.Settings.OverlayWidgets.Remove(this.viewModel.OverlayWidget); overlayItem.ID = this.viewModel.OverlayWidget.Item.ID; } if (widget.Item is OverlayEndCreditsItemModel) { widget.IsEnabled = false; } ChannelSession.Settings.OverlayWidgets.Add(widget); this.Close(); } })); }
public override ActionBase GetAction() { string type = (string)this.TypeComboBox.SelectedItem; if (!string.IsNullOrEmpty(type)) { if (type.Equals(ShowHideWidgetOption)) { if (this.WidgetNameComboBox.SelectedIndex >= 0) { OverlayWidgetModel widget = (OverlayWidgetModel)this.WidgetNameComboBox.SelectedItem; return(new OverlayAction(widget.Item.ID, this.ShowHideWidgetCheckBox.IsChecked.GetValueOrDefault())); } } else { OverlayItemModelTypeEnum overlayType = EnumHelper.GetEnumValueFromString <OverlayItemModelTypeEnum>(type); if (this.OverlayNameComboBox.SelectedIndex < 0) { return(null); } string overlayName = (string)this.OverlayNameComboBox.SelectedItem; double duration; if (double.TryParse(this.DurationTextBox.Text, out duration) && duration > 0 && this.EntranceAnimationComboBox.SelectedIndex >= 0 && this.VisibleAnimationComboBox.SelectedIndex >= 0 && this.ExitAnimationComboBox.SelectedIndex >= 0) { OverlayItemEffectEntranceAnimationTypeEnum entrance = EnumHelper.GetEnumValueFromString <OverlayItemEffectEntranceAnimationTypeEnum>((string)this.EntranceAnimationComboBox.SelectedItem); OverlayItemEffectVisibleAnimationTypeEnum visible = EnumHelper.GetEnumValueFromString <OverlayItemEffectVisibleAnimationTypeEnum>((string)this.VisibleAnimationComboBox.SelectedItem); OverlayItemEffectExitAnimationTypeEnum exit = EnumHelper.GetEnumValueFromString <OverlayItemEffectExitAnimationTypeEnum>((string)this.ExitAnimationComboBox.SelectedItem); OverlayItemEffectsModel effects = new OverlayItemEffectsModel(entrance, visible, exit, duration); OverlayItemPositionModel position = this.ItemPosition.GetPosition(); OverlayItemModelBase item = null; if (overlayType == OverlayItemModelTypeEnum.Image) { item = this.ImageItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.Text) { item = this.TextItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.YouTube) { item = this.YouTubeItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.Video) { item = this.VideoItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.WebPage) { item = this.WebPageItem.GetItem(); } else if (overlayType == OverlayItemModelTypeEnum.HTML) { item = this.HTMLItem.GetItem(); } if (item != null) { item.Position = position; item.Effects = effects; return(new OverlayAction(overlayName, item)); } } } } return(null); }
public void SetPosition(OverlayItemPositionModel position) { this.viewModel.SetPosition(position); }
public OverlayItemPositionControl(OverlayItemPositionModel position) { InitializeComponent(); this.viewModel = new OverlayItemPositionViewModel(position); }