public void SetFormRoot(IFormRoot formRoot) { if (formRoot == _formRoot) { return; } if (_formRoot != null) { _cardSearch.UnsubscribeSuggestModelEvents(); _cardSearch.TextApplied -= cardSearchStringApplied; _cardSearch.TextChanged -= cardSearchStringChanged; _formRoot.UiModel.LanguageController.LanguageChanged -= languageChanged; _formRoot.ShowFilterPanelsChanged -= showFilterPanelsChanged; _formRoot.TooltipController.UnsetTooltips(this); } _formRoot = formRoot; if (formRoot != null) { _cardSearch.Ui = _deckEditorUi.Ui = _imagePreloading.Ui = _printing.Ui = _dragging.Ui = _drawing.Ui = _fields.Ui = _formRoot.UiModel; _cardSearch.SuggestModel = _formRoot.CardSuggestModel; _deckListControl.SetUi(_formRoot.UiModel, _formRoot.TooltipController, _formRoot.DeckSuggestModel); _cardSearch.SubscribeSuggestModelEvents(); _cardSearch.TextApplied += cardSearchStringApplied; _cardSearch.TextChanged += cardSearchStringChanged; _formRoot.UiModel.LanguageController.LanguageChanged += languageChanged; _formRoot.ShowFilterPanelsChanged += showFilterPanelsChanged; setupTooltips(); _formRoot.TooltipController.SubscribeToEvents(); // calls probeCardCreating handler resetLayouts(); } }
public CopyPasteSubsystem( CardRepository cardRepo, DeckSerializationSubsystem serialization, CollectionEditorModel collection, DeckEditorModel deckEditor, IFormRoot formRoot, FormMain targetForm, params Control[] targetControls) { _cardRepo = cardRepo; _serialization = serialization; _collection = collection; _deckEditor = deckEditor; _formRoot = formRoot; _targetForm = targetForm; _targetControls = targetControls; }