5a96a696b1
- 펌웨어(program), C# 대시보드(TestProgram), 시뮬레이터(Simulator), 프로토콜/문서(Protocol, doc) 전체를 단일 저장소로 통합 - program 폴더의 별도 git 저장소를 제거하고 통합 저장소에 흡수 - 빌드 산출물(program/build, bin/obj, *.o/.elf/.bin/.hex 등) .gitignore 처리 - 사내 Synology NAS Git 원격 연결 예정 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Media;
|
|
|
|
namespace AirPlanner
|
|
{
|
|
public partial class ControlView : UserControl
|
|
{
|
|
static readonly Brush Off = (Brush)new BrushConverter().ConvertFromString("#A6ABB6")!;
|
|
static readonly Brush On = (Brush)new BrushConverter().ConvertFromString("#161616")!;
|
|
|
|
public ControlView()
|
|
{
|
|
InitializeComponent();
|
|
ShowZone("전체", zAll);
|
|
}
|
|
|
|
void Zone_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (sender is Button b && b.Tag is string zone) ShowZone(zone, b);
|
|
}
|
|
|
|
void ShowZone(string zone, Button active)
|
|
{
|
|
ZoneContent.Content = zone == "전체" ? new VentAllView() : new RoomDetailView(zone);
|
|
foreach (var b in new[] { zAll, zLiving, zR1, zR2, zR3 })
|
|
{
|
|
bool on = b == active;
|
|
b.Foreground = on ? On : Off;
|
|
b.FontWeight = on ? FontWeights.Bold : FontWeights.Normal;
|
|
}
|
|
}
|
|
}
|
|
}
|