mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feat(slices): кастомные тематизированные popup-меню панов + фиксы позиционирования
Селекторы диапазона/samplerate панов N переведены с нативного TPopupMenu на своё меню в стиле приложения (одинаково на всех платформах, в цветовой теме). - FlatPopupMenu.pas (new): TFlatPopupMenu — owner-draw меню как ДОЧЕРНИЙ контрол формы (не top-level окно: Wayland центрирует свои top-level окна). Hover, галка текущего, клавиатура (↑↓/Enter/Esc), закрытие по клику-вне (MouseCapture) и потере фокуса. Позиционируется под лейблом-якорем в клиентских координатах. - PanDisplayPopup: поповер «◑» тоже переведён с top-level формы на дочерний контрол (центрировался на Wayland) — открывается под кнопкой, закрытие «×» или повторным «◑». - MainForm: band/rate-селекторы на FlatPopupMenu; свёртка повторяющегося выбора темы (9 инлайнов) в CurrentAppTheme. - PanafallPanel: курсор-«палец» кликабельных лейблов шапки переприменяется в конце Build (флаги *Clickable могли выставляться до создания лейблов — samplerate-лейбл не получал crHandPoint). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -472,6 +472,13 @@ begin
|
||||
FBtnPopPan.Visible := False; // хозяин включает у панов N>0
|
||||
FBtnClosePan := MakeFlatBtn(FHeaderPanel, '×', 0, 0, 10, 10, BtnClosePanClick);
|
||||
FBtnClosePan.Visible := False; // хозяин включает у панов N>0
|
||||
|
||||
// Курсоры кликабельных лейблов: флаги *Clickable могли быть выставлены ДО
|
||||
// Build (rate — в CreatePanCore), когда лейблов ещё не было → крючок курсора
|
||||
// не применился. Переприменяем теперь, когда лейблы созданы.
|
||||
SetRateClickable(FRateClickable);
|
||||
SetBandClickable(FBandClickable);
|
||||
SetADCClickable(FADCClickable);
|
||||
end;
|
||||
|
||||
procedure TPanafallPanel.ReparentTo(NewParent: TWinControl);
|
||||
|
||||
Reference in New Issue
Block a user