쿼리 편집기 — 머리말 배지·안내문·목록 안내상자 제거
화면에서 지목된 세 덩어리를 뺐다.
· 제목 앞 아이콘 배지 — 창 제목이 이미 같은 말을 한다.
· 제목 아래 안내문("작성 시점에 <<변수>> 가 …") — 우측 목록과 자동완성이 그 자리를 대신하고,
두 줄이 편집 영역을 그만큼 밀어 올리고 있었다.
· 변수 목록 아래 안내 상자(ⓘ 118개 · + 를 누르거나 …) — 개수는 칩에 이미 있고
삽입 방법은 + 버튼 자체가 보여 준다.
SQL 이 아닌 용도(상용구 편집)에서는 안내문이 제목 역할을 하고 있었으므로,
그 경우 제목 자리에 대상 이름을 넣고 코드 칩은 감춘다.
회귀: 테스트 230/230, 편집 스모크 실패 0, 팝업·정렬·결과표 점검 12/12.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f447ae742b
commit
6c71159dad
@@ -63,27 +63,16 @@
|
|||||||
|
|
||||||
<DockPanel Margin="16,14,16,14">
|
<DockPanel Margin="16,14,16,14">
|
||||||
<!-- ── 머리말 ── -->
|
<!-- ── 머리말 ── -->
|
||||||
<StackPanel DockPanel.Dock="Top" Margin="0,0,0,12">
|
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="0,0,0,12">
|
||||||
<StackPanel Orientation="Horizontal">
|
<TextBlock x:Name="TitleTextBlock" Text="쿼리 편집" FontSize="17" FontWeight="Bold"
|
||||||
<!-- 목업의 앞 배지 — 무슨 창인지 한눈에 -->
|
Foreground="{DynamicResource B.Ink}" VerticalAlignment="Center"/>
|
||||||
<Border Width="34" Height="34" CornerRadius="9" Margin="0,0,10,0"
|
<Border x:Name="TargetChip" CornerRadius="6" Padding="8,2" Margin="10,0,0,0"
|
||||||
Background="{DynamicResource B.AccentFill}">
|
VerticalAlignment="Center"
|
||||||
<TextBlock Text="🗄" FontSize="16" Foreground="{DynamicResource B.OnAccent}"
|
Background="{DynamicResource B.Input}" BorderBrush="{DynamicResource B.InputBorder}"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
BorderThickness="1">
|
||||||
</Border>
|
<TextBlock x:Name="TargetChipText" FontSize="11.5" FontFamily="D2Coding, 굴림체, Consolas"
|
||||||
<TextBlock Text="쿼리 편집" FontSize="17" FontWeight="Bold"
|
Foreground="{DynamicResource B.AccentText}"/>
|
||||||
Foreground="{DynamicResource B.Ink}" VerticalAlignment="Center"/>
|
</Border>
|
||||||
<Border x:Name="TargetChip" CornerRadius="6" Padding="8,2" Margin="10,0,0,0"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
Background="{DynamicResource B.Input}" BorderBrush="{DynamicResource B.InputBorder}"
|
|
||||||
BorderThickness="1">
|
|
||||||
<TextBlock x:Name="TargetChipText" FontSize="11.5" FontFamily="D2Coding, 굴림체, Consolas"
|
|
||||||
Foreground="{DynamicResource B.AccentText}"/>
|
|
||||||
</Border>
|
|
||||||
</StackPanel>
|
|
||||||
<TextBlock x:Name="HintText" Margin="0,6,0,0" FontSize="11.5" TextWrapping="Wrap"
|
|
||||||
Foreground="{DynamicResource B.Muted}"
|
|
||||||
Text="작성 시점에 <<변수>> 가 실제 값으로 치환됩니다. 변수는 클래스 전체 이름을 포함해야 하므로 우측 목록에서 삽입하세요."/>
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!-- ── 아래 버튼 줄 ── -->
|
<!-- ── 아래 버튼 줄 ── -->
|
||||||
@@ -267,16 +256,6 @@
|
|||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
|
|
||||||
<!-- 안내 -->
|
<!-- 안내 -->
|
||||||
<Border DockPanel.Dock="Bottom" Margin="0,8,0,0" Padding="10,7" CornerRadius="8"
|
|
||||||
Background="{DynamicResource B.Input}">
|
|
||||||
<DockPanel>
|
|
||||||
<TextBlock DockPanel.Dock="Left" Text="ⓘ" FontSize="11" Margin="0,0,7,0"
|
|
||||||
VerticalAlignment="Top"
|
|
||||||
Foreground="{DynamicResource B.AccentText}"/>
|
|
||||||
<TextBlock x:Name="VariableHint" FontSize="10.5" TextWrapping="Wrap"
|
|
||||||
Foreground="{DynamicResource B.Muted}"/>
|
|
||||||
</DockPanel>
|
|
||||||
</Border>
|
|
||||||
|
|
||||||
<ListBox x:Name="VariableList" FontSize="11.5" MouseDoubleClick="OnInsertVariable"
|
<ListBox x:Name="VariableList" FontSize="11.5" MouseDoubleClick="OnInsertVariable"
|
||||||
KeyDown="OnVariableListKeyDown"
|
KeyDown="OnVariableListKeyDown"
|
||||||
|
|||||||
@@ -112,7 +112,8 @@ public partial class QueryEditorWindow : Window
|
|||||||
{
|
{
|
||||||
// SQL 이 아닌 텍스트에 SQL 색을 칠하면 예약어와 겹치는 낱말이 엉뚱하게 물든다
|
// SQL 이 아닌 텍스트에 SQL 색을 칠하면 예약어와 겹치는 낱말이 엉뚱하게 물든다
|
||||||
Title = ownerLabel;
|
Title = ownerLabel;
|
||||||
HintText.Text = "내용을 편집한 뒤 확인을 누르세요.";
|
TitleTextBlock.Text = ownerLabel;
|
||||||
|
TargetChip.Visibility = Visibility.Collapsed;
|
||||||
SqlBox.Foreground = (System.Windows.Media.Brush)FindResource("B.Ink");
|
SqlBox.Foreground = (System.Windows.Media.Brush)FindResource("B.Ink");
|
||||||
VariablePane.Visibility = Visibility.Collapsed;
|
VariablePane.Visibility = Visibility.Collapsed;
|
||||||
SplitterColumn.Width = new GridLength(0);
|
SplitterColumn.Width = new GridLength(0);
|
||||||
@@ -868,9 +869,6 @@ public partial class QueryEditorWindow : Window
|
|||||||
view.GroupDescriptions.Add(new PropertyGroupDescription(nameof(QueryVariable.Group)));
|
view.GroupDescriptions.Add(new PropertyGroupDescription(nameof(QueryVariable.Group)));
|
||||||
VariableList.ItemsSource = view.View;
|
VariableList.ItemsSource = view.View;
|
||||||
|
|
||||||
var scope = matched.Count == all.Count ? $"{matched.Count}개" : $"{matched.Count}/{all.Count}개";
|
|
||||||
VariableHint.Text = $"{scope} · + 를 누르거나 더블클릭하면 커서 위치에 삽입됩니다. " +
|
|
||||||
"편집기에서 << 를 치면 자동완성으로도 고를 수 있습니다.";
|
|
||||||
if (matched.Count > 0)
|
if (matched.Count > 0)
|
||||||
{
|
{
|
||||||
VariableList.SelectedIndex = 0;
|
VariableList.SelectedIndex = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user