refactor: Move toolbar buttons to ToolStrip3 for design consistency

- Replaced Panel + Button controls with ToolStrip + ToolStripButton
- Unified toolbar design with toolStrip2 style
- Simplified WireToolbarButtonEvents() method
- Updated UpdateImageEditButton() and DisableImageEditButton() for ToolStripButton
- Image edit button now properly enables/disables based on selected node type

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
backuppc
2025-10-30 11:40:11 +09:00
parent f13a33f82e
commit 3758dd7a0a
3 changed files with 195 additions and 148 deletions

View File

@@ -41,6 +41,19 @@ namespace AGVMapEditor.Forms
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btNodeRemove = new System.Windows.Forms.ToolStripButton();
this._propertyGrid = new System.Windows.Forms.PropertyGrid();
this.toolStrip3 = new System.Windows.Forms.ToolStrip();
this.btnSelect = new System.Windows.Forms.ToolStripButton();
this.btnMove = new System.Windows.Forms.ToolStripButton();
this.btnAddNode = new System.Windows.Forms.ToolStripButton();
this.btnAddLabel = new System.Windows.Forms.ToolStripButton();
this.btnAddImage = new System.Windows.Forms.ToolStripButton();
this.btnEditImage = new System.Windows.Forms.ToolStripButton();
this.btnConnect = new System.Windows.Forms.ToolStripButton();
this.btnDelete = new System.Windows.Forms.ToolStripButton();
this.btnDeleteConnection = new System.Windows.Forms.ToolStripButton();
this.separator1 = new System.Windows.Forms.ToolStripSeparator();
this.btnToggleGrid = new System.Windows.Forms.ToolStripButton();
this.btnFitMap = new System.Windows.Forms.ToolStripButton();
this.toolStrip2 = new System.Windows.Forms.ToolStrip();
this.btnNew = new System.Windows.Forms.ToolStripButton();
this.btnOpen = new System.Windows.Forms.ToolStripButton();
@@ -52,11 +65,13 @@ namespace AGVMapEditor.Forms
this.statusStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPageNodes.SuspendLayout();
this.tabPage1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.toolStrip3.SuspendLayout();
this.toolStrip2.SuspendLayout();
this.SuspendLayout();
//
@@ -87,6 +102,10 @@ namespace AGVMapEditor.Forms
this.splitContainer1.Panel1.Controls.Add(this.tabControl1);
this.splitContainer1.Panel1.Controls.Add(this._propertyGrid);
this.splitContainer1.Panel1MinSize = 300;
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.toolStrip3);
this.splitContainer1.Size = new System.Drawing.Size(1200, 726);
this.splitContainer1.SplitterDistance = 300;
this.splitContainer1.TabIndex = 2;
@@ -140,7 +159,7 @@ namespace AGVMapEditor.Forms
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(292, 310);
this.tabPage1.Size = new System.Drawing.Size(292, 309);
this.tabPage1.TabIndex = 1;
this.tabPage1.Text = "연결 관리";
this.tabPage1.UseVisualStyleBackColor = true;
@@ -152,7 +171,7 @@ namespace AGVMapEditor.Forms
this.lstNodeConnection.ItemHeight = 12;
this.lstNodeConnection.Location = new System.Drawing.Point(3, 3);
this.lstNodeConnection.Name = "lstNodeConnection";
this.lstNodeConnection.Size = new System.Drawing.Size(286, 279);
this.lstNodeConnection.Size = new System.Drawing.Size(286, 278);
this.lstNodeConnection.TabIndex = 2;
//
// toolStrip1
@@ -161,7 +180,7 @@ namespace AGVMapEditor.Forms
this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btNodeRemove});
this.toolStrip1.Location = new System.Drawing.Point(3, 282);
this.toolStrip1.Location = new System.Drawing.Point(3, 281);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(286, 25);
this.toolStrip1.TabIndex = 3;
@@ -184,6 +203,100 @@ namespace AGVMapEditor.Forms
this._propertyGrid.Size = new System.Drawing.Size(300, 391);
this._propertyGrid.TabIndex = 6;
//
// toolStrip3
//
this.toolStrip3.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btnSelect,
this.btnMove,
this.btnAddNode,
this.btnAddLabel,
this.btnAddImage,
this.btnEditImage,
this.btnConnect,
this.btnDelete,
this.btnDeleteConnection,
this.separator1,
this.btnToggleGrid,
this.btnFitMap});
this.toolStrip3.Location = new System.Drawing.Point(0, 0);
this.toolStrip3.Name = "toolStrip3";
this.toolStrip3.Size = new System.Drawing.Size(896, 25);
this.toolStrip3.TabIndex = 0;
this.toolStrip3.Text = "toolStrip3";
//
// btnSelect
//
this.btnSelect.Name = "btnSelect";
this.btnSelect.Size = new System.Drawing.Size(58, 22);
this.btnSelect.Text = "선택 (S)";
//
// btnMove
//
this.btnMove.Name = "btnMove";
this.btnMove.Size = new System.Drawing.Size(58, 22);
this.btnMove.Text = "이동 (M)";
//
// btnAddNode
//
this.btnAddNode.Name = "btnAddNode";
this.btnAddNode.Size = new System.Drawing.Size(76, 22);
this.btnAddNode.Text = "노드 추가 (A)";
//
// btnAddLabel
//
this.btnAddLabel.Name = "btnAddLabel";
this.btnAddLabel.Size = new System.Drawing.Size(76, 22);
this.btnAddLabel.Text = "라벨 추가 (L)";
//
// btnAddImage
//
this.btnAddImage.Name = "btnAddImage";
this.btnAddImage.Size = new System.Drawing.Size(94, 22);
this.btnAddImage.Text = "이미지 추가 (I)";
//
// btnEditImage
//
this.btnEditImage.Enabled = false;
this.btnEditImage.Name = "btnEditImage";
this.btnEditImage.Size = new System.Drawing.Size(71, 22);
this.btnEditImage.Text = "이미지 편집";
this.btnEditImage.Click += new System.EventHandler(this.BtnToolbarEditImage_Click);
//
// btnConnect
//
this.btnConnect.Name = "btnConnect";
this.btnConnect.Size = new System.Drawing.Size(58, 22);
this.btnConnect.Text = "연결 (C)";
//
// btnDelete
//
this.btnDelete.Name = "btnDelete";
this.btnDelete.Size = new System.Drawing.Size(58, 22);
this.btnDelete.Text = "삭제 (D)";
//
// btnDeleteConnection
//
this.btnDeleteConnection.Name = "btnDeleteConnection";
this.btnDeleteConnection.Size = new System.Drawing.Size(82, 22);
this.btnDeleteConnection.Text = "연결삭제 (X)";
//
// separator1
//
this.separator1.Name = "separator1";
this.separator1.Size = new System.Drawing.Size(6, 25);
//
// btnToggleGrid
//
this.btnToggleGrid.Name = "btnToggleGrid";
this.btnToggleGrid.Size = new System.Drawing.Size(47, 22);
this.btnToggleGrid.Text = "그리드";
//
// btnFitMap
//
this.btnFitMap.Name = "btnFitMap";
this.btnFitMap.Size = new System.Drawing.Size(59, 22);
this.btnFitMap.Text = "맵 맞춤";
//
// toolStrip2
//
this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -275,6 +388,7 @@ namespace AGVMapEditor.Forms
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.tabControl1.ResumeLayout(false);
@@ -284,6 +398,8 @@ namespace AGVMapEditor.Forms
this.tabPage1.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.toolStrip3.ResumeLayout(false);
this.toolStrip3.PerformLayout();
this.toolStrip2.ResumeLayout(false);
this.toolStrip2.PerformLayout();
this.ResumeLayout(false);
@@ -313,5 +429,18 @@ namespace AGVMapEditor.Forms
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripButton btnSave;
private System.Windows.Forms.ToolStripButton btnSaveAs;
private System.Windows.Forms.ToolStrip toolStrip3;
private System.Windows.Forms.ToolStripButton btnSelect;
private System.Windows.Forms.ToolStripButton btnMove;
private System.Windows.Forms.ToolStripButton btnAddNode;
private System.Windows.Forms.ToolStripButton btnAddLabel;
private System.Windows.Forms.ToolStripButton btnAddImage;
private System.Windows.Forms.ToolStripButton btnEditImage;
private System.Windows.Forms.ToolStripButton btnConnect;
private System.Windows.Forms.ToolStripButton btnDelete;
private System.Windows.Forms.ToolStripButton btnDeleteConnection;
private System.Windows.Forms.ToolStripSeparator separator1;
private System.Windows.Forms.ToolStripButton btnToggleGrid;
private System.Windows.Forms.ToolStripButton btnFitMap;
}
}

View File

@@ -119,113 +119,32 @@ namespace AGVMapEditor.Forms
// 스플리터 패널에 맵 캔버스 추가
splitContainer1.Panel2.Controls.Add(_mapCanvas);
// 편집 모드 툴바 초기화
InitializeEditModeToolbar();
// 툴바 버튼 이벤트 연결
WireToolbarButtonEvents();
}
private void InitializeEditModeToolbar()
/// <summary>
/// 툴바 버튼 이벤트 핸들러 연결
/// </summary>
private void WireToolbarButtonEvents()
{
// 툴바 패널 생성
var toolbarPanel = new Panel();
toolbarPanel.Height = 35;
toolbarPanel.Dock = DockStyle.Top;
toolbarPanel.BackColor = SystemColors.Control;
// 선택 모드 버튼
var btnSelect = new Button();
btnSelect.Text = "선택 (S)";
btnSelect.Size = new Size(70, 28);
btnSelect.Location = new Point(5, 3);
// 편집 모드 버튼들
btnSelect.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.Select;
// 이동 모드 버튼
var btnMove = new Button();
btnMove.Text = "이동 (M)";
btnMove.Size = new Size(70, 28);
btnMove.Location = new Point(80, 3);
btnMove.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.Move;
// 노드 추가 버튼
var btnAddNode = new Button();
btnAddNode.Text = "노드 추가 (A)";
btnAddNode.Size = new Size(80, 28);
btnAddNode.Location = new Point(155, 3);
btnAddNode.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.AddNode;
// 라벨 추가 버튼
var btnAddLabel = new Button();
btnAddLabel.Text = "라벨 추가 (L)";
btnAddLabel.Size = new Size(80, 28);
btnAddLabel.Location = new Point(240, 3);
btnAddLabel.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.AddLabel;
// 이미지 추가 버튼
var btnAddImage = new Button();
btnAddImage.Text = "이미지 추가 (I)";
btnAddImage.Size = new Size(90, 28);
btnAddImage.Location = new Point(325, 3);
btnAddImage.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.AddImage;
// 이미지 편집 버튼
var btnEditImage = new Button();
btnEditImage.Name = "btnToolbarEditImage";
btnEditImage.Text = "이미지 편집";
btnEditImage.Size = new Size(80, 28);
btnEditImage.Location = new Point(420, 3);
btnEditImage.Enabled = false; // 처음에는 비활성화
btnEditImage.Click += BtnToolbarEditImage_Click;
// 연결 모드 버튼
var btnConnect = new Button();
btnConnect.Text = "연결 (C)";
btnConnect.Size = new Size(70, 28);
btnConnect.Location = new Point(505, 3);
btnConnect.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.Connect;
// 삭제 모드 버튼
var btnDelete = new Button();
btnDelete.Text = "삭제 (D)";
btnDelete.Size = new Size(70, 28);
btnDelete.Location = new Point(580, 3);
btnDelete.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.Delete;
// 연결 삭제 버튼
var btnDeleteConnection = new Button();
btnDeleteConnection.Text = "연결삭제 (X)";
btnDeleteConnection.Size = new Size(80, 28);
btnDeleteConnection.Location = new Point(655, 3);
btnDeleteConnection.Click += (s, e) => _mapCanvas.CurrentEditMode = UnifiedAGVCanvas.EditMode.DeleteConnection;
// 구분선
var separator1 = new Label();
separator1.Text = "|";
separator1.Size = new Size(10, 28);
separator1.Location = new Point(740, 3);
separator1.TextAlign = ContentAlignment.MiddleCenter;
// 그리드 토글 버튼
var btnToggleGrid = new Button();
btnToggleGrid.Text = "그리드";
btnToggleGrid.Size = new Size(60, 28);
btnToggleGrid.Location = new Point(755, 3);
btnToggleGrid.Click += (s, e) => _mapCanvas.ShowGrid = !_mapCanvas.ShowGrid;
// 맵 맞춤 버튼
var btnFitMap = new Button();
btnFitMap.Text = "맵 맞춤";
btnFitMap.Size = new Size(70, 28);
btnFitMap.Location = new Point(820, 3);
btnFitMap.Click += (s, e) => _mapCanvas.FitToNodes();
// 툴바에 버튼들 추가
toolbarPanel.Controls.AddRange(new Control[]
{
btnSelect, btnMove, btnAddNode, btnAddLabel, btnAddImage, btnEditImage, btnConnect, btnDelete, btnDeleteConnection, separator1, btnToggleGrid, btnFitMap
});
// 스플리터 패널에 툴바 추가 (맨 위에)
splitContainer1.Panel2.Controls.Add(toolbarPanel);
toolbarPanel.BringToFront();
// 이미지 편집 버튼은 이미 Designer.cs에서 연결됨 (BtnToolbarEditImage_Click)
}
#endregion
@@ -260,6 +179,7 @@ namespace AGVMapEditor.Forms
{
_selectedNode = node;
UpdateNodeProperties();
UpdateImageEditButton(); // 이미지 노드 선택 시 이미지 편집 버튼 활성화
}
private void OnNodeMoved(object sender, MapNode node)
@@ -972,11 +892,8 @@ namespace AGVMapEditor.Forms
/// </summary>
private void UpdateImageEditButton()
{
var btn = this.Controls.Find("btnToolbarEditImage", true).FirstOrDefault() as Button;
if (btn != null)
{
btn.Enabled = (_selectedNode != null && _selectedNode.Type == NodeType.Image);
}
// ToolStripButton으로 변경됨
btnEditImage.Enabled = (_selectedNode != null && _selectedNode.Type == NodeType.Image);
}
/// <summary>
@@ -984,11 +901,8 @@ namespace AGVMapEditor.Forms
/// </summary>
private void DisableImageEditButton()
{
var btn = this.Controls.Find("btnToolbarEditImage", true).FirstOrDefault() as Button;
if (btn != null)
{
btn.Enabled = false;
}
// ToolStripButton으로 변경됨
btnEditImage.Enabled = false;
}
/// <summary>

View File

@@ -120,6 +120,9 @@
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<metadata name="toolStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>462, 17</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>249, 17</value>
</metadata>
@@ -130,16 +133,16 @@
<data name="btNodeRemove.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -160,16 +163,16 @@
<data name="btnOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAILSURBVDhPpY9LaxNRGIa7cO/On+CqFdFmRHQpiCs3
ohtvIAW1WUiUQkXQLnoBIVAaRUQshVLBFotGBJfWRTW17dhEM5mkteklNMFm7pecubx+mWomQhBLYZ75
zjnwPu85bQD2RMvD3dDycDcEv9zbTr44c5mtfbzaxBWWf3dyWXjTfoDY/xfJgH0NgZjkbN/3aOnTV2dn
7VgVbMx219Znu+0/lOZ7rc3UnWLu9ZHzoWA6IvuuBXsjDmNlGMbqKMziFHxHIpcO39UIZWfvVAGP1cRp
LhMKXnKqxxQKJ6AXRqB+68N26iYqc1FI6X5ISw8g8XdRXewhYnSzMsRXnVoomIwwx9yClEmgujCE8ofb
MMufqVX93V6fcngDep44yVmhYOIYC97v2YQJuEYQdE0BdikBa70f5o8eGPnr0IWLcPUsxPFIk2CMq/mu
CVf9BEd6D/ZzCrWtZxR8CHP1HsxCFEbuEvTvZ6GlT8HVeIijzYKnnO0xFWw7iVp5nFofwVqj1pV6axf0
7AVomTNQv56AsnAYjvoF4pNmQSJi+Uyi8BjszWFYxT4Kx2CI1yh8jlpPQ+WPQ5k/BHnuIAlSqGcaglz8
aInJBVlffuHp+efQxMfQhDi07ADUzH2o6V4oSzEofBTK4g3YlRmfMnJDIAy03xKGOiaEwY4KTeufDAZT
ocxIQ7AXWh7+P2j7BY3RGzIVTOkAAAAAAElFTkSuQmCC
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIWSURBVDhPpY/PaxNBGIZ78O7NP8FTKmKbFdGjIJ68
iF78BSKozUGiFCqC9pA0IARKo4iIpVAq2GKxEcGj9VBNbRObaDabNDZNG5pgs7uzu7O7s7vzSlJNIgEh
9PDM980L3/PN9AHo2w9dQa90Bb3SPHLvBlOlxSts89O1Dq6y/PtT6+KC75C44Dv4D/EmB1oCKS5YnHsA
OMAb7PWOWcPW0pBdXhqy/lJZGTG3E/dKubfHLrQF836FuyasrSiM4jiMjUnQ0hy4I4N7Orirgbvq3t2p
Ax6zpXkh0xa8FojHVBjFGPTCBMj3UewmbqO2HICcDkFeewQ5dR/15DDqySAcswrpzaDWFsz6mUN3IGdi
qK9GUP14F7T6Bdwlf7Y3qtJ+ATikWcFsC2aOs+b/PQvwKOAazUGXirAqMZjlEOjPYRj5m9DFS3D1LKRp
f4dgSrC5S+GSz3DkD2C/5mDvvIBZfgy68QC0EICRuwz9xzlo6dNwtRSkyU7Bc8HyGAHbjcOuTsOqPIG5
GQItNrbegJ69CC1zFuTbSairR+GQr5CedQpifpMzGXZ1Ctb2OMzSKGgxCEO6Dj17Hlr6DEjqBNSVI1CW
D8MhCTRmWoJcdKDClIKir7/y9PxLaNJTaGIUWjYMknkIkh6BuhaEmgpATd6CVVvkueiA0hKIYd8dMdI/
I47118RIv/lfxppVFcO+iZZgP3QFvfIbjdEbMqg0Vh4AAAAASUVORK5CYII=
</value>
</data>
<data name="btnReopen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -185,15 +188,15 @@
<data name="btnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHlSURBVDhPpZJbSxtBGIb3VhQULVoqUunRtEpCEmmM
0UJi2ZiE1qYHg1ZKbUsP/9MLD+DfKGZDScJmd7M783RmY9LdpjelFy/DDPO837zfNwbwXxo/NAwrPL6W
iMv6835so7ZNHj+Ab+/g6yHyywHycwP58S3yw2uCh3fwDaMTZcbh70dglpDZLDKdRqRSiLU1gkKO4OgF
/fu3cfTdmEEUPmzA5SWyXkckk4jVVYJqFXlxgV8r4+/v4t1dwr42GRoMnqwqa5huF1otglqNoFIBS0Xv
dJBnZ/STj+i/LNIN0YhBmDeTQezthfDQJJSGlUl/ext3YQHv+VPaUQPdYflp/3de9eQhGErB3tYW7vw8
ztwcbrXwF4PjN4O8iQRBuRwz0NW9fB5ndpbe9DRuOTduIN7XCVZWCExzlFmvGqbdRl5d4ajJ2JOTuM/W
+Rk1ULNFqBH5T9LI8/NB1WYTb3MTd2MjhKUyEScn9JZu4pQycQNP/TA9X79RwTeLiNPTENZ5ezMzOLq5
CnbWUzg7WTqLN2gZxo+RgZb6HJaeb//VDl7i3iivPTWFPTGBvagaqCq3I3DMQEt9DstevoVXK+Du5nHN
XJjXKWVxiukxWCtmoKW6a+kOD6WzailQS40mfj+2+Xdh/ALnlbiDsb03NQAAAABJRU5ErkJggg==
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHbSURBVDhPpZFbSxtBGIbnVhQULbFUpKVH0yqRZKUx
RguJZWMSqk0PBm0oPdHD/8yFB/BvFDOhbMJmd7O785TZmJiDN6UXLwvDPM+373wCEP+TiQOEkNHxVcLR
yPH743CDZ4/h5wf4cYz6foT6VkV9eY/69JbgyX18IVo3C/rwrxqYeZRhoJJJwvV1wrU1gmyaoLZP99Fd
HH13RDAMH1fh4gJVqRAmEoSrqwSlEur8HL9cwD/cw3uwjH0l6Qt6v2zmI5h2G5pNgnKZoFgEKaHVQp2e
0k08pfs6RztChwRR31SK8OAggvuSKBqWku7ODu7iIt6rF1jDAv3C6uvhdd9SaQBGkRJvexs3FsNZWMAt
ZW8QfH7X6xuPExQKIwI93ctkcObn6czO4hbSk4LwY4VgZYXANAed9VfDWBbq8hLHMLCnp3FfbvBnWOBr
QW0f/3kSdXbWm9po4G1t4W5uRrCyLMJ6nc7ybZx8alTgCSH1fv1qEd/MEZ6cRLDu25mbw9GPW6/jbKzj
7Bq0lm7RFOL39RZAOEJIvd/um128+MNBX3tmBntqCnspFk22huARgY4thLTv3cErZ3H3MrhmOurr5A2c
XHICnhDoWEJI/cL96K46zV6a4/cnBP+av+eVuIOQwaWDAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -209,20 +212,21 @@
<data name="btnSaveAs.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
VycUwQAAAABJRU5ErkJggg==
</value>
</data>
</root>