From fb32fb41f5f01060b6610b3317aa503fae384010 Mon Sep 17 00:00:00 2001 From: jkpete <1031139173@qq.com> Date: Fri, 20 Jun 2025 17:45:25 +0800 Subject: [PATCH] fixed page adapter page --- Example/SaveSystem/Script/ViewSaveSystem.cs | 2 +- .../Templete/Godot/UI/EGodotEditParam.cs | 2 +- .../Templete/Godot/UI/EGodotRowData.cs | 2 +- .../Templete/Godot/UI/EGodotTable.cs | 75 ++++++++++++------- .../Templete/Godot/UI/EGodotTableRowData.cs | 15 ++-- 5 files changed, 58 insertions(+), 38 deletions(-) diff --git a/Example/SaveSystem/Script/ViewSaveSystem.cs b/Example/SaveSystem/Script/ViewSaveSystem.cs index 5430181..4fc371d 100644 --- a/Example/SaveSystem/Script/ViewSaveSystem.cs +++ b/Example/SaveSystem/Script/ViewSaveSystem.cs @@ -15,7 +15,7 @@ namespace EGFramework.Examples.Test{ { Container container = this.GetNode("TabContainer"); - DataStudent dataStudent = new DataStudent("S", 18); + DataStudent dataStudent = new DataStudent(null, 18); DataStudent dataStudent2 = new DataStudent("F", 20); List dataStudents = new List(); dataStudents.Add(dataStudent); diff --git a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotEditParam.cs b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotEditParam.cs index e5d13f9..b4ba9d2 100644 --- a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotEditParam.cs +++ b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotEditParam.cs @@ -18,7 +18,7 @@ namespace EGFramework.UI public override void Init(KeyValuePair editValue) { base.Init(editValue); - if (editValue.Value is string) + if (editValue.Value is string || editValue.Value is null) { this.ParamEdit = new LineEdit(); ParamEdit.Name = "ParamEdit"; diff --git a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotRowData.cs b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotRowData.cs index 2314a8c..f302de0 100644 --- a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotRowData.cs +++ b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotRowData.cs @@ -59,7 +59,7 @@ namespace EGFramework.UI this.List.AddChild(new Label() { Name = kv.Key, - Text = kv.Value.ToString(), + Text = kv.Value?.ToString(), HorizontalAlignment = HorizontalAlignment.Center, SizeFlagsHorizontal = Control.SizeFlags.ExpandFill }); diff --git a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotTable.cs b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotTable.cs index d075542..754925a 100644 --- a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotTable.cs +++ b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotTable.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; +using System.Security.Cryptography.X509Certificates; using Godot; namespace EGFramework.UI{ @@ -11,7 +12,7 @@ namespace EGFramework.UI{ public partial class EGodotTable : BoxContainer, IEGFramework, IEGodotTable { public BoxContainer FunctionContainer { set; get; } - public EGodotTableRowData Title { set; get; } + public EGodotRowData Title { set; get; } public BoxContainer RowDataContainer { set; get; } public ScrollContainer RowDataScroll { set; get; } public BoxContainer PageContainer { set; get; } @@ -21,6 +22,9 @@ namespace EGFramework.UI{ private EGodotTablePageAdapter PageAdapter { set; get; } private bool IsSearched { set; get; } + public Color MainColor { set; get; } = new Color(); + public Color MinorColor { set; get; } = new Color(); + /// /// The max data count for one page. /// @@ -59,7 +63,8 @@ namespace EGFramework.UI{ { if (Title == null) { - Title = this.CreateNode("TitleContainer"); + Title = this.CreateNode("TitleContainer"); + titleData.Add("Operate", ""); Title.Init(titleData); } else @@ -75,6 +80,10 @@ namespace EGFramework.UI{ { EGodotTableRowData rowData = this.CreateNode("row" + dataPointer); rowData.Init(row); + rowData.OnModify.Register(data=> + { + this.EGEditDialog(data,rowData.OnDataEdit,"Modify"); + }); dataPointer++; } } @@ -84,6 +93,43 @@ namespace EGFramework.UI{ { PageContainer = this.CreateNode("PageContainer"); PageContainer.Vertical = false; + PageContainer.Alignment = AlignmentMode.End; + + + Label labelCount = PageContainer.CreateNode