public void LoadSnap() { (ArmA_UI_Editor.UI.MainWindow.TryGet()).Docker.OnSnapFocusChange += Docker_OnSnapFocusChange; var EditingSnaps = ArmA_UI_Editor.UI.MainWindow.TryGet().Docker.FindSnaps <EditingSnap>(true); if (EditingSnaps.Count > 0) { this.CurrentEditingSnap = EditingSnaps[0]; } }
private void EditingSnap_OnUiElementsChanged(object sender, EventArgs e) { EditingSnap snap = sender as EditingSnap; var list = snap.GetUiElements(); lbContent.Tag = new TAG_lbContent { EditingSnap = snap, Tuple = list }; lbContent.ItemsSource = list; }
private void Docker_OnSnapFocusChange(object sender, SnapDocker.OnSnapFocusChangeEventArgs e) { if (e.SnapWindowNew == null) { if (e.SnapWindowLast != null && e.SnapWindowLast.Window == this.CurrentEditingSnap) { this.CurrentEditingSnap = null; } } else if (e.SnapWindowNew.Window is EditingSnap) { this.CurrentEditingSnap = e.SnapWindowNew.Window as EditingSnap; } }
private void SubscribeEditingSnap(EditingSnap snap) { if (lbContent.Tag != null) { UnSubscribeEditingSnap(((TAG_lbContent)lbContent.Tag).EditingSnap); } var list = snap.GetUiElements(); snap.OnUiElementsChanged += EditingSnap_OnUiElementsChanged; lbContent.Tag = new TAG_lbContent { EditingSnap = snap, Tuple = list }; lbContent.ItemsSource = list; }
private void UnSubscribeEditingSnap(EditingSnap snap) { if (lbContent.Tag == null) { return; } TAG_lbContent tag = (TAG_lbContent)lbContent.Tag; if (snap != tag.EditingSnap) { return; } tag.EditingSnap.OnUiElementsChanged -= EditingSnap_OnUiElementsChanged; lbContent.ItemsSource = null; lbContent.Tag = null; }
private void Docker_OnSnapFocusChange(object sender, SnapDocker.OnSnapFocusChangeEventArgs e) { if (e.SnapWindowNew != null && e.SnapWindowNew.Window is EditingSnap) { if (CurrentEditingSnap != null) { CurrentEditingSnap.OnSelectedFocusChanged -= CurrentEditingSnap_OnSelectedFocusChanged; } CurrentEditingSnap = e.SnapWindowNew.Window as EditingSnap; CurrentEditingSnap.OnSelectedFocusChanged += CurrentEditingSnap_OnSelectedFocusChanged; } else if (e.SnapWindowLast != null && e.SnapWindowLast.Window is EditingSnap) { if (CurrentEditingSnap != null) { CurrentEditingSnap.OnSelectedFocusChanged -= CurrentEditingSnap_OnSelectedFocusChanged; } CurrentEditingSnap = null; } }
public DialogPropertiesSnap() { InitializeComponent(); _CurrentEditingSnap = null; }