153 lines
7.4 KiB
XML
153 lines
7.4 KiB
XML
<Window x:Class="DwgExtractorManual.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
Title="DWG 정보 추출기" Height="700" Width="900"
|
|
WindowStartupLocation="CenterScreen"
|
|
MinHeight="600" MinWidth="800">
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- 헤더 -->
|
|
<Border Grid.Row="0" Background="#2E3440" Padding="15">
|
|
<StackPanel>
|
|
<TextBlock Text="DWG 정보 추출기"
|
|
FontSize="24" FontWeight="Bold"
|
|
Foreground="White" HorizontalAlignment="Center"/>
|
|
<TextBlock Text="DWG 파일에서 표제란(Title Block) 정보를 추출하여 Excel 또는 데이터베이스에 저장"
|
|
FontSize="12" Foreground="LightGray"
|
|
HorizontalAlignment="Center" Margin="0,5,0,0"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<!-- 변환할 폴더 선택 -->
|
|
<GroupBox Grid.Row="1" Header="🗂️ 변환할 폴더 선택" Margin="15,10,15,5"
|
|
FontWeight="SemiBold" FontSize="14">
|
|
<Grid Margin="10">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox x:Name="txtSourceFolder" Grid.Column="0"
|
|
Height="35" VerticalContentAlignment="Center"
|
|
FontSize="12" IsReadOnly="True"
|
|
Background="WhiteSmoke" BorderBrush="DarkGray"/>
|
|
<Button x:Name="btnBrowseSource" Grid.Column="1"
|
|
Content="찾아보기" Width="90" Height="35"
|
|
Margin="10,0,0,0" Click="BtnBrowseSource_Click"
|
|
Background="#5E81AC" Foreground="White"
|
|
FontWeight="SemiBold" BorderThickness="0"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<!-- 결과 저장 폴더 선택 -->
|
|
<GroupBox Grid.Row="2" Header="💾 결과 저장 폴더 선택" Margin="15,5,15,5"
|
|
FontWeight="SemiBold" FontSize="14">
|
|
<Grid Margin="10">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox x:Name="txtResultFolder" Grid.Column="0"
|
|
Height="35" VerticalContentAlignment="Center"
|
|
FontSize="12" IsReadOnly="True"
|
|
Background="WhiteSmoke" BorderBrush="DarkGray"/>
|
|
<Button x:Name="btnBrowseResult" Grid.Column="1"
|
|
Content="찾아보기" Width="90" Height="35"
|
|
Margin="10,0,0,0" Click="BtnBrowseResult_Click"
|
|
Background="#5E81AC" Foreground="White"
|
|
FontWeight="SemiBold" BorderThickness="0"/>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<!-- 출력 형식 선택 -->
|
|
<GroupBox Grid.Row="3" Header="⚙️ 출력 형식 선택" Margin="15,5,15,5"
|
|
FontWeight="SemiBold" FontSize="14">
|
|
<StackPanel Orientation="Horizontal" Margin="15" HorizontalAlignment="Center">
|
|
<RadioButton x:Name="rbExcel" Content="📊 Excel (.xlsx)"
|
|
FontSize="14" Margin="20,0" IsChecked="True"
|
|
GroupName="OutputType" VerticalAlignment="Center"/>
|
|
<RadioButton x:Name="rbDatabase" Content="🗄️ 데이터베이스 (PostgreSQL)"
|
|
FontSize="14" Margin="20,0"
|
|
GroupName="OutputType" VerticalAlignment="Center"/>
|
|
</StackPanel>
|
|
</GroupBox>
|
|
|
|
<!-- 진행 상황 및 컨트롤 -->
|
|
<GroupBox Grid.Row="4" Header="📊 작업 진행 상황" Margin="15,5,15,5"
|
|
FontWeight="SemiBold" FontSize="14">
|
|
<Grid Margin="10">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- 진행률 바 -->
|
|
<ProgressBar x:Name="progressBar" Grid.Row="0"
|
|
Height="25" Margin="0,5"/>
|
|
|
|
<!-- 상태 텍스트 -->
|
|
<TextBlock x:Name="txtStatus" Grid.Row="1"
|
|
Text="준비됨" FontSize="12"
|
|
HorizontalAlignment="Center" Margin="0,5"/>
|
|
|
|
<!-- 추출 버튼 -->
|
|
<Button x:Name="btnExtract" Grid.Row="2"
|
|
Content="🚀 추출 시작" Width="200" Height="45"
|
|
Margin="0,10,0,5" HorizontalAlignment="Center"
|
|
Click="BtnExtract_Click" FontSize="16" FontWeight="Bold"
|
|
Background="#A3BE8C" Foreground="White"
|
|
BorderThickness="0">
|
|
<Button.Style>
|
|
<Style TargetType="Button">
|
|
<Setter Property="Background" Value="#A3BE8C"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="#8FAE74"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
</GroupBox>
|
|
|
|
<!-- 로그 출력 -->
|
|
<GroupBox Grid.Row="5" Header="📋 실시간 로그" Margin="15,5,15,10"
|
|
FontWeight="SemiBold" FontSize="14">
|
|
<ScrollViewer Margin="5" VerticalScrollBarVisibility="Auto">
|
|
<TextBox x:Name="txtLog"
|
|
TextWrapping="Wrap" AcceptsReturn="True"
|
|
IsReadOnly="True" BorderThickness="0"
|
|
Background="Black" Foreground="LimeGreen"
|
|
FontFamily="Consolas" FontSize="11"
|
|
VerticalScrollBarVisibility="Auto"/>
|
|
</ScrollViewer>
|
|
</GroupBox>
|
|
|
|
<!-- 상태바 -->
|
|
<StatusBar Grid.Row="6" Background="#3B4252" Foreground="White">
|
|
<StatusBarItem>
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBlock x:Name="txtStatusBar" Text="DWG 정보 추출기 v1.0 - 준비됨"/>
|
|
<Separator Margin="10,0"/>
|
|
<TextBlock x:Name="txtFileCount" Text="파일: 0개"/>
|
|
</StackPanel>
|
|
</StatusBarItem>
|
|
<StatusBarItem HorizontalAlignment="Right">
|
|
<TextBlock x:Name="txtTime" Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='yyyy-MM-dd HH:mm:ss'}"
|
|
xmlns:sys="clr-namespace:System;assembly=System.Runtime"/>
|
|
</StatusBarItem>
|
|
</StatusBar>
|
|
</Grid>
|
|
</Window>
|