1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using InABox.Core;
- using InABox.DynamicGrid;
- namespace InABox.Wpf;
- public abstract class MasterDetailPage<TMaster> : IMasterDetailPage<TMaster>
- {
- public event DataModelUpdateEvent? OnUpdateDataModel;
- protected MasterDetailPage(DynamicTabItem tab)
- {
- Tab = tab;
- }
-
- public DynamicTabItem Tab { get; set; }
- public abstract Dictionary<string, object[]>? Selected();
- public IDataModelSource? Refresh(TMaster? master)
- {
- Master = master;
- return Refresh();
- }
-
- protected abstract IDataModelSource? Refresh();
-
- public abstract IDataModelSource? DataModelSource();
- public virtual void CreateToolbarButtons(IPanelHost host)
- {
- }
-
- public TMaster? Master { get; set; }
- protected void UpdateDataModel(string sectionName, DataModel model)
- {
- OnUpdateDataModel?.Invoke(sectionName, model);
- }
- public virtual void Heartbeat(TimeSpan time)
- {
- }
- public virtual void Shutdown(CancelEventArgs? cancel)
- {
- }
- }
|