TellmePdmsPluging/NetInterfaceReferenceFiles/Aveva.ApplicationFramework/Aveva.ApplicationFramework.PresentationHierarchy.html
root 3082148d7e 实现PDMS模型状态API并移除硬编码数据
## 主要改进
- 实现 /api/status/model 接口,返回真实PDMS模型状态信息
- 使用MDB.CurrentMDB、Project.CurrentProject等AVEVA API获取真实数据
- 移除硬编码的CurrentSession、PositionInfo、PdmsSpecific等复杂结构
- 简化数据模型,只保留核心的真实数据字段

## 技术实现
- 通过DbSession获取真实的用户名、会话开始时间和持续时间
- 通过WorldMembers()获取真实的模型元素统计
- 修复DateTime类型的null合并运算符编译错误
- 清理不使用的方法和类定义

## API返回数据
现在返回的数据主要包含真实的PDMS信息:
- ModelLoaded: MDB连接状态检查
- ProjectName: 真实的设计数据库名称
- MdsName: 真实的MDB名称
- UserName: 真实的数据库会话用户
- StartTime: 真实的会话创建时间
- TotalElements: 真实的模型元素数量统计

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 10:36:02 +08:00

180 lines
20 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html dir="LTR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
<title>Aveva.ApplicationFramework.PresentationHierarchy</title>
<xml>
</xml>
<link rel="stylesheet" type="text/css" href="MSDN.css" />
</head>
<body topmargin="0" id="bodyID" class="dtBODY">
<object id="obj_cook" classid="clsid:59CC0C20-679B-11D2-88BD-0800361A1803" style="display:none;">
</object>
<div id="nsbanner">
<div id="bannerrow1">
<table class="bannerparthead" cellspacing="0">
<tr id="hdr">
<td class="runninghead">Common Application Framework</td>
<td class="product">
</td>
</tr>
</table>
</div>
<div id="TitleRow">
<h1 class="dtH1">Aveva.ApplicationFramework.Presentation Hierarchy</h1>
</div>
</div>
<div id="nstext" valign="bottom">
<div>
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ButtonTool.html">Aveva.ApplicationFramework.Presentation.ButtonTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ComboBoxTool.html">Aveva.ApplicationFramework.Presentation.ComboBoxTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.Command.html">Aveva.ApplicationFramework.Presentation.Command</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandBar.html">Aveva.ApplicationFramework.Presentation.CommandBar</a>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.TaskBar.html">Aveva.ApplicationFramework.Presentation.TaskBar</a>
</div>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandBarManager.html">Aveva.ApplicationFramework.Presentation.CommandBarManager</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemComponentModelISupportInitializeClassTopic.htm">System.ComponentModel.ISupportInitialize</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandBarsCollection.html">Aveva.ApplicationFramework.Presentation.CommandBarsCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandExecutor.html">Aveva.ApplicationFramework.Presentation.CommandExecutor</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandManager.html">Aveva.ApplicationFramework.Presentation.CommandManager</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandsCollection.html">Aveva.ApplicationFramework.Presentation.CommandsCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandTypesCollection.html">Aveva.ApplicationFramework.Presentation.CommandTypesCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ContainerTool.html">Aveva.ApplicationFramework.Presentation.ContainerTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.DockedWindow.html">Aveva.ApplicationFramework.Presentation.DockedWindow</a> ---- <a href="Aveva.ApplicationFramework.Presentation.IWindow.html">Aveva.ApplicationFramework.Presentation.IWindow</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.DragDropDirector.html">Aveva.ApplicationFramework.Presentation.DragDropDirector</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.DropTarget.html">Aveva.ApplicationFramework.Presentation.DropTarget</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.FontListTool.html">Aveva.ApplicationFramework.Presentation.FontListTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.HtmlHelp.html">Aveva.ApplicationFramework.Presentation.HtmlHelp</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.IApplicationInfo.html">Aveva.ApplicationFramework.Presentation.IApplicationInfo</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.IStatusBarPanel.html">Aveva.ApplicationFramework.Presentation.IStatusBarPanel</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.IWindow.html">Aveva.ApplicationFramework.Presentation.IWindow</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.LabelTool.html">Aveva.ApplicationFramework.Presentation.LabelTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ListTool.html">Aveva.ApplicationFramework.Presentation.ListTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.MdiWindow.html">Aveva.ApplicationFramework.Presentation.MdiWindow</a> ---- <a href="Aveva.ApplicationFramework.Presentation.IWindow.html">Aveva.ApplicationFramework.Presentation.IWindow</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.MdiWindowListTool.html">Aveva.ApplicationFramework.Presentation.MdiWindowListTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.MenuTool.html">Aveva.ApplicationFramework.Presentation.MenuTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.PopupColorPickerTool.html">Aveva.ApplicationFramework.Presentation.PopupColorPickerTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.PopupContainerTool.html">Aveva.ApplicationFramework.Presentation.PopupContainerTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ResourceManager.html">Aveva.ApplicationFramework.Presentation.ResourceManager</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ResourceSet.html">Aveva.ApplicationFramework.Presentation.ResourceSet</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.RootToolsCollection.html">Aveva.ApplicationFramework.Presentation.RootToolsCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.SplashScreen.html">Aveva.ApplicationFramework.Presentation.SplashScreen</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.StateButtonTool.html">Aveva.ApplicationFramework.Presentation.StateButtonTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.StatusBar.html">Aveva.ApplicationFramework.Presentation.StatusBar</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.StatusBarPanelsCollection.html">Aveva.ApplicationFramework.Presentation.StatusBarPanelsCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.StatusBarTextPanel.html">Aveva.ApplicationFramework.Presentation.StatusBarTextPanel</a> ---- <a href="Aveva.ApplicationFramework.Presentation.IStatusBarPanel.html">Aveva.ApplicationFramework.Presentation.IStatusBarPanel</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.TaskPaneTool.html">Aveva.ApplicationFramework.Presentation.TaskPaneTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.TextBoxTool.html">Aveva.ApplicationFramework.Presentation.TextBoxTool</a> ---- <a href="Aveva.ApplicationFramework.Presentation.ITool.html">Aveva.ApplicationFramework.Presentation.ITool</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ThemeColours.html">Aveva.ApplicationFramework.Presentation.ThemeColours</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ToolsCollection.html">Aveva.ApplicationFramework.Presentation.ToolsCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ValueList.html">Aveva.ApplicationFramework.Presentation.ValueList</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ValueListItem.html">Aveva.ApplicationFramework.Presentation.ValueListItem</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.WindowManager.html">Aveva.ApplicationFramework.Presentation.WindowManager</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.WindowsCollection.html">Aveva.ApplicationFramework.Presentation.WindowsCollection</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a></div>
<div class="Hierarchy">
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsArrayListClassTopic.htm">System.Collections.ArrayList</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsICollectionClassTopic.htm">System.Collections.ICollection</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm">System.Collections.IEnumerable</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemCollectionsIListClassTopic.htm">System.Collections.IList</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemICloneableClassTopic.htm">System.ICloneable</a><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.CommandList.html">Aveva.ApplicationFramework.Presentation.CommandList</a></div></div>
<div class="Hierarchy">
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDelegateClassTopic.htm">System.Delegate</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemICloneableClassTopic.htm">System.ICloneable</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemRuntimeSerializationISerializableClassTopic.htm">System.Runtime.Serialization.ISerializable</a><div class="Hierarchy"><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemMulticastDelegateClassTopic.htm">System.MulticastDelegate</a><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.CommandBarEventHandler.html">Aveva.ApplicationFramework.Presentation.CommandBarEventHandler</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.CommandEventHandler.html">Aveva.ApplicationFramework.Presentation.CommandEventHandler</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.DropTargetEventHandler.html">Aveva.ApplicationFramework.Presentation.DropTargetEventHandler</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.ToolEventHandler.html">Aveva.ApplicationFramework.Presentation.ToolEventHandler</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.WindowEventHandler.html">Aveva.ApplicationFramework.Presentation.WindowEventHandler</a></div></div></div>
<div class="Hierarchy">
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemEventArgsClassTopic.htm">System.EventArgs</a>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandBarEventArgs.html">Aveva.ApplicationFramework.Presentation.CommandBarEventArgs</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CommandEventArgs.html">Aveva.ApplicationFramework.Presentation.CommandEventArgs</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.DropTargetEventArgs.html">Aveva.ApplicationFramework.Presentation.DropTargetEventArgs</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.ToolEventArgs.html">Aveva.ApplicationFramework.Presentation.ToolEventArgs</a>
</div>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.WindowEventArgs.html">Aveva.ApplicationFramework.Presentation.WindowEventArgs</a>
</div>
<div class="Hierarchy">
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemComponentModelCancelEventArgsClassTopic.htm">System.ComponentModel.CancelEventArgs</a>
<div class="Hierarchy">
<a href="Aveva.ApplicationFramework.Presentation.CancelClosingEventArgs.html">Aveva.ApplicationFramework.Presentation.CancelClosingEventArgs</a>
</div>
</div>
</div>
<div class="Hierarchy">
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemValueTypeClassTopic.htm">System.ValueType</a>
<div class="Hierarchy">
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemEnumClassTopic.htm">System.Enum</a> ---- <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIComparableClassTopic.htm">System.IComparable</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIConvertibleClassTopic.htm">System.IConvertible</a>, <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIFormattableClassTopic.htm">System.IFormattable</a><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.CommandState.html">Aveva.ApplicationFramework.Presentation.CommandState</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.CustomizationType.html">Aveva.ApplicationFramework.Presentation.CustomizationType</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.DockedPosition.html">Aveva.ApplicationFramework.Presentation.DockedPosition</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.DockGroupStyle.html">Aveva.ApplicationFramework.Presentation.DockGroupStyle</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.DropDownArrowStyle.html">Aveva.ApplicationFramework.Presentation.DropDownArrowStyle</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.NavigationButtonStyle.html">Aveva.ApplicationFramework.Presentation.NavigationButtonStyle</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.PanelSizingMode.html">Aveva.ApplicationFramework.Presentation.PanelSizingMode</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.PopupStyle.html">Aveva.ApplicationFramework.Presentation.PopupStyle</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.StandardImage.html">Aveva.ApplicationFramework.Presentation.StandardImage</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.UpdateOptions.html">Aveva.ApplicationFramework.Presentation.UpdateOptions</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.ValueListDisplayStyle.html">Aveva.ApplicationFramework.Presentation.ValueListDisplayStyle</a></div><div class="Hierarchy"><a href="Aveva.ApplicationFramework.Presentation.ValueListSortStyle.html">Aveva.ApplicationFramework.Presentation.ValueListSortStyle</a></div></div>
</div>
</div>
<h4 class="dtH4">See Also</h4>
<p>
<a href="Aveva.ApplicationFramework.Presentation.html">Aveva.ApplicationFramework.Presentation Namespace
</a>
</p>
<hr />
<div id="footer">©AVEVA Solutions Ltd 2007</div>
</div>
</body>
</html>