private void ButtonDeleteFace_OnClick(object sender, RoutedEventArgs e) { try { var streamDeckButton = _streamDeckPanel.SelectedButton; var streamDeckButtonName = streamDeckButton.StreamDeckButtonName; streamDeckButton.Face.Dispose(); //todo this must be properly made streamDeckButton.Face = null; //todo this must be properly made if (streamDeckButton.HasConfig) { _streamDeckPanel.SelectedLayer.AddButton(streamDeckButton); } else { _streamDeckPanel.SelectedLayer.RemoveButton(streamDeckButton); } UCStreamDeckButtonFace.Clear(); _streamDeckPanel.ClearFace(streamDeckButtonName); EventHandlers.NotifyToSyncConfiguration(this, _streamDeckPanel.BindingHash); SetFormState(); } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }
private void ButtonDeleteAction_OnClick(object sender, RoutedEventArgs e) { try { var streamDeckButton = _streamDeckPanel.SelectedButton; if (streamDeckButton.ActionForPress != null && streamDeckButton.ActionForPress.ActionType == EnumStreamDeckActionType.LayerNavigation && streamDeckButton.Face != null) { streamDeckButton.Face.Dispose(); streamDeckButton.Face = null; UCStreamDeckButtonFace.Clear(); } streamDeckButton.ActionForPress = null; streamDeckButton.ActionForRelease = null; if (streamDeckButton.HasConfig) { _streamDeckPanel.SelectedLayer.AddButton(streamDeckButton); } else { _streamDeckPanel.SelectedLayer.RemoveButton(streamDeckButton); } UCStreamDeckButtonAction.Clear(); EventHandlers.NotifyToSyncConfiguration(this, _streamDeckPanel.BindingHash); SetFormState(); } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }
private void ButtonAcceptButtonChanges_OnClick(object sender, RoutedEventArgs e) { try { try { var streamDeckButton = _streamDeckPanel.SelectedButton; streamDeckButton.ActionForPress = UCStreamDeckButtonAction.GetStreamDeckButtonAction(true); streamDeckButton.ActionForRelease = UCStreamDeckButtonAction.GetStreamDeckButtonAction(false); streamDeckButton.Face = UCStreamDeckButtonFace.GetStreamDeckButtonFace(streamDeckButton.StreamDeckButtonName); if (streamDeckButton.HasConfig) { _streamDeckPanel.SelectedLayer.AddButton(streamDeckButton); } else { _streamDeckPanel.SelectedLayer.RemoveButton(streamDeckButton); } UCStreamDeckButtonAction.StateSaved(); UCStreamDeckButtonFace.StateSaved(); EventHandlers.NotifyToSyncConfiguration(this, _streamDeckPanel.BindingHash); SetFormState(); } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }
public void SetFormState() { try { var selectedButtonNumber = _streamDeckUI.SelectedButtonNumber; _streamDeckUI.SetButtonGridStatus(_streamDeck.HasLayers); UCStreamDeckButtonAction.Visibility = selectedButtonNumber != 0 ? Visibility.Visible : Visibility.Hidden; UCStreamDeckButtonFace.Visibility = selectedButtonNumber != 0 ? Visibility.Visible : Visibility.Hidden; UCStreamDeckButtonAction.SetFormState(); UCStreamDeckButtonFace.SetFormState(); ButtonAcceptButtonChanges.IsEnabled = UCStreamDeckButtonAction.IsDirty || UCStreamDeckButtonFace.IsDirty; ButtonCancelAction.IsEnabled = UCStreamDeckButtonAction.IsDirty && UCStreamDeckButtonAction.HasConfig; ButtonDeleteAction.IsEnabled = UCStreamDeckButtonAction.HasConfig; ButtonCancelFace.IsEnabled = UCStreamDeckButtonFace.IsDirty && UCStreamDeckButtonFace.HasConfig; ButtonDeleteFace.IsEnabled = UCStreamDeckButtonFace.HasConfig; ComboBoxLayers.IsEnabled = !(UCStreamDeckButtonAction.IsDirty || UCStreamDeckButtonFace.IsDirty); ButtonNewLayer.IsEnabled = ComboBoxLayers.IsEnabled; ButtonDeleteLayer.IsEnabled = ComboBoxLayers.IsEnabled && ComboBoxLayers.Text != null; } catch (Exception ex) { Common.ShowErrorMessageBox(471473, ex); } }
public StreamDeckUserControl(GamingPanelEnum panelType, HIDSkeleton hidSkeleton, TabItem parentTabItem, IGlobalHandler globalHandler, DCSBIOS dcsbios) { InitializeComponent(); ParentTabItem = parentTabItem; //no worky worky for this library hidSkeleton.HIDReadDevice.Removed += DeviceRemovedHandler; _streamDeckPanel = new StreamDeckPanel(panelType, hidSkeleton); _streamDeckPanel.Attach((IGamingPanelListener)this); globalHandler.Attach(_streamDeckPanel); GlobalHandler = globalHandler; _dcsbios = dcsbios; UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel); UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel); StackPanelButtonUI.Children.Clear(); switch (panelType) { case GamingPanelEnum.StreamDeckMini: { var child = new UserControlStreamDeckUIMini(_streamDeckPanel); _uiButtonGrid = child; StackPanelButtonUI.Children.Add(child); break; } case GamingPanelEnum.StreamDeck: { var child = new UserControlStreamDeckUINormal(_streamDeckPanel); _uiButtonGrid = child; StackPanelButtonUI.Children.Add(child); break; } case GamingPanelEnum.StreamDeckXL: { var child = new UserControlStreamDeckUIXL(_streamDeckPanel); _uiButtonGrid = child; StackPanelButtonUI.Children.Add(child); break; } } EventHandlers.AttachStreamDeckListener(UCStreamDeckButtonAction); EventHandlers.AttachStreamDeckListener(UCStreamDeckButtonFace); EventHandlers.AttachStreamDeckListener(_uiButtonGrid); EventHandlers.AttachStreamDeckConfigListener(_uiButtonGrid); EventHandlers.AttachStreamDeckListener(this); UCStreamDeckButtonAction.GlobalHandler = GlobalHandler; UCStreamDeckButtonFace.GlobalHandler = GlobalHandler; UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel); UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel); }
public StreamDeckUserControl(GamingPanelEnum panelType, HIDSkeleton hidSkeleton, TabItem parentTabItem) { InitializeComponent(); ParentTabItem = parentTabItem; _streamDeckPanel = new StreamDeckPanel(panelType, hidSkeleton); UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel); UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel); StackPanelButtonUI.Children.Clear(); switch (panelType) { case GamingPanelEnum.StreamDeckMini: { var child = new UserControlStreamDeckUIMini(_streamDeckPanel); _uiButtonGrid = child; StackPanelButtonUI.Children.Add(child); break; } case GamingPanelEnum.StreamDeck: case GamingPanelEnum.StreamDeckV2: case GamingPanelEnum.StreamDeckMK2: { var child = new UserControlStreamDeckUINormal(_streamDeckPanel); _uiButtonGrid = child; StackPanelButtonUI.Children.Add(child); break; } case GamingPanelEnum.StreamDeckXL: { var child = new UserControlStreamDeckUIXL(_streamDeckPanel); _uiButtonGrid = child; StackPanelButtonUI.Children.Add(child); break; } } SDEventHandler.AttachStreamDeckListener(UCStreamDeckButtonAction); SDEventHandler.AttachStreamDeckListener(UCStreamDeckButtonFace); SDEventHandler.AttachStreamDeckListener(_uiButtonGrid); SDEventHandler.AttachStreamDeckConfigListener(_uiButtonGrid); SDEventHandler.AttachStreamDeckListener(this); SDEventHandler.AttachActionTypeChangedListener(UCStreamDeckButtonFace); AppEventHandler.AttachGamingPanelListener(this); UCStreamDeckButtonFace.SetStreamDeckPanel(_streamDeckPanel); UCStreamDeckButtonAction.SetStreamDeckPanel(_streamDeckPanel); }