diff --git a/Cs_HMI/AGVLogic/AGVMapEditor/Controls/ImageEditorCanvas.cs b/Cs_HMI/AGVLogic/AGVMapEditor/Controls/ImageEditorCanvas.cs
index ad153f8..d469179 100644
--- a/Cs_HMI/AGVLogic/AGVMapEditor/Controls/ImageEditorCanvas.cs
+++ b/Cs_HMI/AGVLogic/AGVMapEditor/Controls/ImageEditorCanvas.cs
@@ -45,6 +45,8 @@ namespace AGVMapEditor.Controls
this.DoubleBuffered = true;
this.BackColor = Color.White;
this.AutoScroll = true;
+
+
}
#region Properties
diff --git a/Cs_HMI/AGVLogic/AGVMapEditor/Forms/ImageEditorForm.cs b/Cs_HMI/AGVLogic/AGVMapEditor/Forms/ImageEditorForm.cs
index 74272cc..fca92fb 100644
--- a/Cs_HMI/AGVLogic/AGVMapEditor/Forms/ImageEditorForm.cs
+++ b/Cs_HMI/AGVLogic/AGVMapEditor/Forms/ImageEditorForm.cs
@@ -25,6 +25,11 @@ namespace AGVMapEditor.Forms
{
LoadImageFromNode(imageNode);
}
+
+ this.KeyPreview = true;
+ this.KeyDown += (s1, e1) => {
+ if (e1.KeyCode == Keys.Escape) this.Close();
+ };
}
private void SetupUI()
diff --git a/Cs_HMI/AGVLogic/AGVMapEditor/Models/NodePropertyWrapper.cs b/Cs_HMI/AGVLogic/AGVMapEditor/Models/NodePropertyWrapper.cs
index f52b300..412b0ed 100644
--- a/Cs_HMI/AGVLogic/AGVMapEditor/Models/NodePropertyWrapper.cs
+++ b/Cs_HMI/AGVLogic/AGVMapEditor/Models/NodePropertyWrapper.cs
@@ -154,6 +154,19 @@ namespace AGVMapEditor.Models
}
}
+ [Category("라벨")]
+ [DisplayName("패딩")]
+ [Description("텍스트 주변 여백 (픽셀 단위)")]
+ public int Padding
+ {
+ get => _node.Padding;
+ set
+ {
+ _node.Padding = Math.Max(0, Math.Min(50, value));
+ _node.ModifiedDate = DateTime.Now;
+ }
+ }
+
[Category("위치")]
[DisplayName("X 좌표")]
[Description("맵에서의 X 좌표")]
diff --git a/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Events.cs b/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Events.cs
index 6b3290b..5a0e4fd 100644
--- a/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Events.cs
+++ b/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Events.cs
@@ -743,10 +743,10 @@ namespace AGVNavigationCore.Controls
{
var backgroundBrush = new SolidBrush(node.BackColor);
var backgroundRect = new Rectangle(
- textPoint.X - 2,
- textPoint.Y - 2,
- (int)textSize.Width + 4,
- (int)textSize.Height + 4
+ textPoint.X - node.Padding,
+ textPoint.Y - node.Padding,
+ (int)textSize.Width + (node.Padding * 2),
+ (int)textSize.Height + (node.Padding * 2)
);
g.FillRectangle(backgroundBrush, backgroundRect);
g.DrawRectangle(Pens.Black, backgroundRect);
@@ -759,11 +759,12 @@ namespace AGVNavigationCore.Controls
// 선택된 노드 강조
if (node == _selectedNode)
{
+ var selectionPadding = node.Padding + 2;
var selectionRect = new Rectangle(
- textPoint.X - 4,
- textPoint.Y - 4,
- (int)textSize.Width + 8,
- (int)textSize.Height + 8
+ textPoint.X - selectionPadding,
+ textPoint.Y - selectionPadding,
+ (int)textSize.Width + (selectionPadding * 2),
+ (int)textSize.Height + (selectionPadding * 2)
);
g.DrawRectangle(_selectedNodePen, selectionRect);
}
@@ -771,11 +772,12 @@ namespace AGVNavigationCore.Controls
// 호버된 노드 강조
if (node == _hoveredNode)
{
+ var hoverPadding = node.Padding + 4;
var hoverRect = new Rectangle(
- textPoint.X - 6,
- textPoint.Y - 6,
- (int)textSize.Width + 12,
- (int)textSize.Height + 12
+ textPoint.X - hoverPadding,
+ textPoint.Y - hoverPadding,
+ (int)textSize.Width + (hoverPadding * 2),
+ (int)textSize.Height + (hoverPadding * 2)
);
g.DrawRectangle(new Pen(Color.Orange, 2), hoverRect);
}
@@ -908,22 +910,25 @@ namespace AGVNavigationCore.Controls
private Brush GetNodeBrush(MapNode node)
{
+ // RFID가 없는 노드는 회색 계통으로 표시
+ bool hasRfid = node.HasRfid();
+
switch (node.Type)
{
case NodeType.Normal:
- return _normalNodeBrush;
+ return hasRfid ? _normalNodeBrush : new SolidBrush(Color.LightGray);
case NodeType.Rotation:
- return _rotationNodeBrush;
+ return hasRfid ? _rotationNodeBrush : new SolidBrush(Color.DarkGray);
case NodeType.Docking:
- return _dockingNodeBrush;
+ return hasRfid ? _dockingNodeBrush : new SolidBrush(Color.Gray);
case NodeType.Charging:
- return _chargingNodeBrush;
+ return hasRfid ? _chargingNodeBrush : new SolidBrush(Color.Silver);
case NodeType.Label:
return new SolidBrush(Color.Purple);
case NodeType.Image:
return new SolidBrush(Color.Brown);
default:
- return _normalNodeBrush;
+ return hasRfid ? _normalNodeBrush : new SolidBrush(Color.LightGray);
}
}
diff --git a/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs b/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs
index e79563c..efb0df7 100644
--- a/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs
+++ b/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs
@@ -105,7 +105,7 @@ namespace AGVNavigationCore.Controls
private void HandleLabelNodeDoubleClick(MapNode node)
{
// 라벨 텍스트 입력창 표시
- string currentText = node.Name ?? "새 라벨";
+ string currentText = node.LabelText ?? "새 라벨";
string newText = Microsoft.VisualBasic.Interaction.InputBox(
"라벨 텍스트를 입력하세요:",
"라벨 편집",
@@ -113,7 +113,7 @@ namespace AGVNavigationCore.Controls
if (!string.IsNullOrWhiteSpace(newText) && newText != currentText)
{
- node.Name = newText.Trim();
+ node.LabelText = newText.Trim();
MapChanged?.Invoke(this, EventArgs.Empty);
Invalidate();
}
diff --git a/Cs_HMI/AGVLogic/AGVNavigationCore/Models/MapNode.cs b/Cs_HMI/AGVLogic/AGVNavigationCore/Models/MapNode.cs
index 64e2600..4d26d06 100644
--- a/Cs_HMI/AGVLogic/AGVNavigationCore/Models/MapNode.cs
+++ b/Cs_HMI/AGVLogic/AGVNavigationCore/Models/MapNode.cs
@@ -138,6 +138,11 @@ namespace AGVNavigationCore.Models
///
public bool ShowBackground { get; set; } = false;
+ ///
+ /// 라벨 패딩 (NodeType.Label인 경우 사용, 픽셀 단위)
+ ///
+ public int Padding { get; set; } = 8;
+
///
/// 이미지 파일 경로 (편집용, 저장시엔 사용되지 않음)
///
@@ -343,6 +348,7 @@ namespace AGVNavigationCore.Models
ForeColor = ForeColor,
BackColor = BackColor,
ShowBackground = ShowBackground,
+ Padding = Padding,
ImagePath = ImagePath,
ImageBase64 = ImageBase64,
Scale = Scale,
diff --git a/Cs_HMI/Data/NewMap.agvmap b/Cs_HMI/Data/NewMap.agvmap
index 1ca0c86..06febbe 100644
--- a/Cs_HMI/Data/NewMap.agvmap
+++ b/Cs_HMI/Data/NewMap.agvmap
@@ -26,6 +26,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -59,6 +60,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -92,6 +94,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -127,6 +130,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -160,6 +164,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -193,6 +198,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -226,6 +232,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -259,6 +266,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -291,6 +299,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -325,6 +334,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -358,6 +368,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -391,6 +402,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -423,6 +435,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -455,6 +468,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -489,6 +503,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -522,6 +537,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -555,6 +571,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -588,6 +605,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -620,6 +638,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -629,7 +648,7 @@
{
"NodeId": "LBL001",
"Name": "Amkor Technology Korea",
- "Position": "58, 64",
+ "Position": "102, 42",
"Type": 4,
"DockDirection": 0,
"ConnectedNodes": [],
@@ -637,7 +656,7 @@
"StationId": "",
"StationType": null,
"CreatedDate": "2025-09-11T11:08:22.4048927+09:00",
- "ModifiedDate": "2025-09-15T11:22:15.1196535+09:00",
+ "ModifiedDate": "2025-10-30T17:14:35.0184087+09:00",
"IsActive": true,
"DisplayColor": "Purple",
"RfidId": "",
@@ -645,11 +664,12 @@
"RfidDescription": "",
"LabelText": "Amkor Technology Korea",
"FontFamily": "Arial",
- "FontSize": 12.0,
+ "FontSize": 20.0,
"FontStyle": 0,
- "ForeColor": "Black",
- "BackColor": "255, 255, 192",
+ "ForeColor": "White",
+ "BackColor": "DarkSlateGray",
"ShowBackground": true,
+ "Padding": 5,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -680,6 +700,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "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",
"Scale": "0.7, 0.7",
"Opacity": 1.0,
@@ -713,6 +734,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -746,6 +768,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -779,6 +802,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -813,6 +837,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -847,6 +872,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -881,6 +907,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -914,6 +941,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -946,6 +974,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -978,6 +1007,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -1010,6 +1040,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -1042,6 +1073,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -1075,6 +1107,7 @@
"ForeColor": "Black",
"BackColor": "Transparent",
"ShowBackground": false,
+ "Padding": 0,
"ImageBase64": "",
"Scale": "1, 1",
"Opacity": 1.0,
@@ -1082,6 +1115,6 @@
"DisplayText": "N031 - [030]"
}
],
- "CreatedDate": "2025-10-30T09:37:03.9172219+09:00",
+ "CreatedDate": "2025-10-30T17:14:37.0561243+09:00",
"Version": "1.0"
}
\ No newline at end of file