Pārlūkot izejas kodu

Exposed Panel property in non-generic IMasterDetailPanelPage interface

frogsoftware 1 gadu atpakaļ
vecāks
revīzija
9a3d670d1c

+ 1 - 1
inabox.wpf/MasterDetailPanel/MasterDetailPage.cs

@@ -24,7 +24,7 @@ public abstract class MasterDetailPage<TMaster> : IMasterDetailPage<TMaster>
     
     
     protected abstract IDataModelSource Refresh();
     protected abstract IDataModelSource Refresh();
     
     
-    public abstract IDataModelSource DataModelSource();
+    public abstract IDataModelSource? DataModelSource();
     
     
     public TMaster? Master { get; set; }
     public TMaster? Master { get; set; }
 }
 }

+ 11 - 5
inabox.wpf/MasterDetailPanel/MasterDetailPanelPage.cs

@@ -4,21 +4,27 @@ using InABox.DynamicGrid;
 
 
 namespace InABox.Wpf;
 namespace InABox.Wpf;
 
 
-public abstract class MasterDetailPanelPage<TMaster,TPanel> : MasterDetailPage<TMaster>
-    where TPanel : class, IBasePanel, IMasterDetailControl<TMaster>, new()
+public interface IMasterDetailPanelPage
 {
 {
+    IBasePanel? Panel { get; }
+}
 
 
-    public MasterDetailPanelPage(DynamicTabItem tab) : base(tab) { }
+public abstract class MasterDetailPanelPage<TMaster,TPanel> : MasterDetailPage<TMaster>, IMasterDetailPanelPage
+    where TPanel : class, IBasePanel, IMasterDetailControl<TMaster>, new()
+{
+    protected MasterDetailPanelPage(DynamicTabItem tab) : base(tab) { }
     
     
     public TPanel? Panel { get; set; }
     public TPanel? Panel { get; set; }
 
 
+    IBasePanel? IMasterDetailPanelPage.Panel => Panel;
+    
     public override Dictionary<string, object[]>? Selected() => Panel?.Selected();
     public override Dictionary<string, object[]>? Selected() => Panel?.Selected();
 
 
-    protected abstract void DoRefresh(TPanel panel);
+    protected abstract void DoRefresh(TPanel? panel);
 
 
     public override IDataModelSource DataModelSource() => CheckPanel();
     public override IDataModelSource DataModelSource() => CheckPanel();
     
     
-    protected override IDataModelSource Refresh()
+    protected override IDataModelSource? Refresh()
     {
     {
         
         
         CheckPanel();
         CheckPanel();