2026-02-12 22:39:28 +08:00
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace Ink_Canvas.Helpers
|
|
|
|
|
{
|
2026-04-12 13:40:54 +08:00
|
|
|
public class ComPPTLinkManager : BasePPTLinkManager
|
2026-02-12 22:39:28 +08:00
|
|
|
{
|
|
|
|
|
private readonly PPTManager _inner;
|
|
|
|
|
|
|
|
|
|
public ComPPTLinkManager()
|
|
|
|
|
{
|
|
|
|
|
_inner = new PPTManager();
|
|
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
_inner.SlideShowBegin += wn => OnSlideShowBegin(wn);
|
|
|
|
|
_inner.SlideShowNextSlide += wn => OnSlideShowNextSlide(wn);
|
|
|
|
|
_inner.SlideShowEnd += pres => OnSlideShowEnd(pres);
|
|
|
|
|
_inner.PresentationOpen += pres => OnPresentationOpen(pres);
|
|
|
|
|
_inner.PresentationClose += pres => OnPresentationClose(pres);
|
|
|
|
|
_inner.PPTConnectionChanged += connected => OnPPTConnectionChanged(connected);
|
|
|
|
|
_inner.SlideShowStateChanged += inSlideShow => OnSlideShowStateChanged(inSlideShow);
|
2026-02-12 22:39:28 +08:00
|
|
|
}
|
|
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
#region BasePPTLinkManager 属性重写
|
|
|
|
|
public override bool IsConnected => _inner.IsConnected;
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool IsInSlideShow => _inner.IsInSlideShow;
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool IsSupportWPS
|
2026-02-12 22:39:28 +08:00
|
|
|
{
|
|
|
|
|
get => _inner.IsSupportWPS;
|
|
|
|
|
set => _inner.IsSupportWPS = value;
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool SkipAnimationsWhenNavigating
|
2026-02-22 10:50:11 +08:00
|
|
|
{
|
|
|
|
|
get => _inner.SkipAnimationsWhenNavigating;
|
|
|
|
|
set => _inner.SkipAnimationsWhenNavigating = value;
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override int SlidesCount => _inner.SlidesCount;
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override object PPTApplication
|
|
|
|
|
{
|
|
|
|
|
get => _inner.PPTApplication;
|
|
|
|
|
protected set { }
|
|
|
|
|
}
|
2026-02-12 22:39:28 +08:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 生命周期管理
|
2026-04-12 13:40:54 +08:00
|
|
|
public override void StartMonitoring() => _inner.StartMonitoring();
|
|
|
|
|
|
|
|
|
|
public override void StopMonitoring() => _inner.StopMonitoring();
|
|
|
|
|
|
|
|
|
|
public override void ReloadConnection()
|
2026-02-14 14:39:15 +08:00
|
|
|
{
|
2026-02-18 22:00:44 +08:00
|
|
|
LogHelper.WriteLogToFile("COM PPT 执行热重载:强制断开并重新连接", LogHelper.LogType.Event);
|
|
|
|
|
_inner.StopMonitoring();
|
2026-02-14 14:39:15 +08:00
|
|
|
}
|
2026-02-12 22:39:28 +08:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 放映控制
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool TryStartSlideShow() => _inner.TryStartSlideShow();
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool TryEndSlideShow() => _inner.TryEndSlideShow();
|
2026-02-12 22:39:28 +08:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 导航控制
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool TryNavigateToSlide(int slideNumber) => _inner.TryNavigateToSlide(slideNumber);
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool TryNavigateNext() => _inner.TryNavigateNext();
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool TryNavigatePrevious() => _inner.TryNavigatePrevious();
|
2026-02-12 22:39:28 +08:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 查询
|
2026-04-12 13:40:54 +08:00
|
|
|
public override int GetCurrentSlideNumber() => _inner.GetCurrentSlideNumber();
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override string GetPresentationName() => _inner.GetPresentationName();
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override bool TryShowSlideNavigation() => _inner.TryShowSlideNavigation();
|
2026-02-12 22:39:28 +08:00
|
|
|
|
2026-04-12 13:40:54 +08:00
|
|
|
public override object GetCurrentActivePresentation() => _inner.GetCurrentActivePresentation();
|
2026-02-12 22:39:28 +08:00
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region IDisposable
|
2026-04-12 13:40:54 +08:00
|
|
|
public override void Dispose()
|
2026-02-12 22:39:28 +08:00
|
|
|
{
|
|
|
|
|
_inner?.Dispose();
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|