You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.9 KiB
62 lines
1.9 KiB
using KGIS.Framework.Views; |
|
using Kingo.Plugin.MapView.Views; |
|
using Kingo.PluginServiceInterface; |
|
using System; |
|
using System.Collections.Generic; |
|
using System.Linq; |
|
using System.Text; |
|
using System.Threading.Tasks; |
|
|
|
namespace Kingo.Plugin.MapView.Services |
|
{ |
|
public class AttrTableHelper : IAttrTableHelper |
|
{ |
|
public List<IAttrTableView> AllView { get; set; } |
|
public IAttrTableView CurrentView { get; set; } |
|
|
|
public void InitView(string pTitle, object m_hookHelper, List<AttributeViewParameter> pViewParam) |
|
{ |
|
CurrentView = null; |
|
if (AllView == null) |
|
AllView = new List<IAttrTableView>(); |
|
|
|
CurrentView = AllView.FirstOrDefault(f => (f is IDockPanel) && (f as IDockPanel).Title == pTitle); |
|
if (CurrentView == null) |
|
{ |
|
CurrentView = new ViewAttrTable(m_hookHelper, pViewParam); |
|
CurrentView.CloseViewHandler += (s, e) => |
|
{ |
|
AllView.Remove(s as IAttrTableView); |
|
CurrentView = null; |
|
}; |
|
CurrentView.Title = pTitle; |
|
AllView.Add(CurrentView); |
|
} |
|
CurrentView.ShowPanel(); |
|
} |
|
|
|
public void SelectRowPrevOrNextRow(string pPrevOrNext) |
|
{ |
|
if (CurrentView == null) |
|
return; |
|
try |
|
{ |
|
switch (pPrevOrNext) |
|
{ |
|
case "Prev": |
|
CurrentView.SelectPrevRow(); |
|
break; |
|
case "Next": |
|
CurrentView.SelectNextRow(); |
|
break; |
|
default: |
|
break; |
|
} |
|
} |
|
catch (Exception ex) |
|
{ |
|
throw ex; |
|
} |
|
} |
|
} |
|
}
|
|
|