This commit is contained in:
h z
2024-07-12 14:32:16 +01:00
parent 5548a7243b
commit 1df3c08a9e
20 changed files with 119 additions and 148 deletions

View File

@@ -7,7 +7,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Manual;
public abstract partial class ModuleManual : Panel, ISceneConcept
public abstract partial class ModuleManual : Panel, ISceneConcept, IModuleManual
{
private bool InitFlag { get; set; }
@@ -17,14 +17,14 @@ public abstract partial class ModuleManual : Panel, ISceneConcept
InitFlag = true;
}
private Label? ModuleDescriptionTitle { get; set; }
private RichTextLabel? ModuleDescription { get; set; }
private Label? ModuleConfigurationTitle { get; set; }
private TextureButton? Close { get; set; }
private TabContainer? ConfigurationTabs { get; set; }
private IBaseModule? Module { get; set; }
private Label ModuleDescriptionTitle { get; set; }
private RichTextLabel ModuleDescription { get; set; }
private Label ModuleConfigurationTitle { get; set; }
private TextureButton Close { get; set; }
private TabContainer ConfigurationTabs { get; set; }
private IBaseModule Module { get; set; }
private List<IModuleManualTab> Tabs { get; set; } = new();
private LineEdit? LabelString { get; set; }
private LineEdit LabelString { get; set; }
public override void _Ready()
{
if(!InitFlag)
@@ -38,58 +38,47 @@ public abstract partial class ModuleManual : Panel, ISceneConcept
LabelString = GetNode<LineEdit>("LabelString");
LabelString.Text = Module.LabelString;
Tabs = new List<IModuleManualTab>();
PortMaintenanceTab mainTab = GlobalProvider
.AssetMapper<PortMaintenanceTab>.Scene
.Instantiate<PortMaintenanceTab>();
mainTab.Init(Module);
PortMaintenanceTab mainTab =
GlobalProvider.ProcessProvider.BuildPortMaintenanceTab(Module) as PortMaintenanceTab;
Tabs.Add(mainTab);
ConfigurationTabs.AddChild(mainTab);
if (Module is IPolymorphismModule polyModule)
{
ModulePolymorphismTab polyTab = GlobalProvider
.AssetMapper<ModulePolymorphismTab>.Scene
.Instantiate<ModulePolymorphismTab>();
polyTab.Init(polyModule);
ModulePolymorphismTab polyTab =
GlobalProvider.ProcessProvider.BuildModulePolymorphismTab(polyModule) as ModulePolymorphismTab;
Tabs.Add(polyTab);
ConfigurationTabs.AddChild(polyTab);
}
if (Module is IParameterizedModule paraModule)
{
ModuleParameterTab paraTab = GlobalProvider
.AssetMapper<ModuleParameterTab>.Scene
.Instantiate<ModuleParameterTab>();
paraTab.Init(paraModule);
ModuleParameterTab paraTab =
GlobalProvider.ProcessProvider.BuildModuleParameterTab(paraModule) as ModuleParameterTab;
Tabs.Add(paraTab);
ConfigurationTabs.AddChild(paraTab);
}
if (Module is ICommunicateModule comModule)
{
CommunicatorPairTab pairTab = GlobalProvider
.AssetMapper<CommunicatorPairTab>.Scene
.Instantiate<CommunicatorPairTab>();
pairTab.Init(comModule);
CommunicatorPairTab pairTab =
GlobalProvider.ProcessProvider.BuildCommunicatorPairTab(comModule) as CommunicatorPairTab;
Tabs.Add(pairTab);
ConfigurationTabs.AddChild(pairTab);
}
if (Module is ProgrammableModule programmableModule)
if (Module is IProgrammableModule progModule)
{
ProgrammableModuleSettingTab progTab =GlobalProvider
.AssetMapper<ProgrammableModuleSettingTab>.Scene
.Instantiate<ProgrammableModuleSettingTab>();
progTab.Init(programmableModule);
ProgrammableModuleSettingTab progTab =
GlobalProvider.ProcessProvider.BuildProgrammableModuleSettingTab(progModule) as ProgrammableModuleSettingTab;
Tabs.Add(progTab);
ConfigurationTabs.AddChild(progTab);
}
if (Module is IErrorHandlerModule errorHandlerModule)
if (Module is IErrorHandlerModule errModule)
{
ErrorHandlerTab errTab = GlobalProvider
.AssetMapper<ErrorHandlerTab>.Scene
.Instantiate<ErrorHandlerTab>();
errTab.Init(errorHandlerModule);
ErrorHandlerTab errTab = GlobalProvider.ProcessProvider.BuildErrorHandlerTab(errModule) as ErrorHandlerTab;
Tabs.Add(errTab);
ConfigurationTabs.AddChild(errTab);
}