도면에서 표 추출
This commit is contained in:
82
MainWindow.Visualization.cs
Normal file
82
MainWindow.Visualization.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Windows;
|
||||
using DwgExtractorManual.Models;
|
||||
using DwgExtractorManual.Views;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
|
||||
namespace DwgExtractorManual
|
||||
{
|
||||
/// <summary>
|
||||
/// MainWindow의 시각화 관련 기능을 담당하는 partial class
|
||||
/// </summary>
|
||||
public partial class MainWindow
|
||||
{
|
||||
// 시각화 데이터 저장
|
||||
private static List<TableCellVisualizationData> _visualizationDataCache = new List<TableCellVisualizationData>();
|
||||
|
||||
/// <summary>
|
||||
/// 테이블 셀 시각화 데이터를 저장합니다.
|
||||
/// </summary>
|
||||
public static void SaveVisualizationData(TableCellVisualizationData data)
|
||||
{
|
||||
_visualizationDataCache.Add(data);
|
||||
Debug.WriteLine($"[VISUALIZATION] 시각화 데이터 저장: {data.FileName}, 셀 수: {data.Cells.Count}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 저장된 시각화 데이터를 가져옵니다.
|
||||
/// </summary>
|
||||
public static List<TableCellVisualizationData> GetVisualizationData()
|
||||
{
|
||||
Debug.WriteLine($"[VISUALIZATION] 시각화 데이터 조회: {_visualizationDataCache.Count}개 항목");
|
||||
return new List<TableCellVisualizationData>(_visualizationDataCache);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 시각화 데이터를 초기화합니다.
|
||||
/// </summary>
|
||||
public static void ClearVisualizationData()
|
||||
{
|
||||
Debug.WriteLine($"[VISUALIZATION] 시각화 데이터 초기화 (기존 {_visualizationDataCache.Count}개 항목 삭제)");
|
||||
_visualizationDataCache.Clear();
|
||||
Debug.WriteLine("[VISUALIZATION] 시각화 데이터 초기화 완료");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 테이블 셀 시각화 창을 엽니다.
|
||||
/// </summary>
|
||||
private void BtnVisualizeCells_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
LogMessage("🎨 테이블 셀 시각화 창을 여는 중...");
|
||||
|
||||
var visualizationData = GetVisualizationData();
|
||||
LogMessage($"[DEBUG] 조회된 시각화 데이터: {visualizationData.Count}개");
|
||||
|
||||
if (visualizationData.Count == 0)
|
||||
{
|
||||
MessageBox.Show("시각화할 데이터가 없습니다.\n먼저 'DWG추출(Height정렬)' 버튼을 눌러 데이터를 추출해주세요.",
|
||||
"데이터 없음", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
LogMessage("⚠️ 시각화할 데이터가 없습니다. 먼저 추출을 진행해주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
var visualizationWindow = new TableCellVisualizationWindow(visualizationData);
|
||||
visualizationWindow.Owner = this;
|
||||
visualizationWindow.Show();
|
||||
|
||||
LogMessage($"✅ 시각화 창 열기 완료 - {visualizationData.Count}개 파일 데이터");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogMessage($"❌ 시각화 창 열기 중 오류: {ex.Message}");
|
||||
MessageBox.Show($"시각화 창을 여는 중 오류가 발생했습니다:\n{ex.Message}",
|
||||
"오류", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user