Upgrade MyGo to v0.5.5
Elements are now pass-scoped value handles: tests that read bounds after a frame bind a ui.Handle. pixel tells frames apart by the build pass's root, since the Tester clock no longer moves on its own. Fix the regressions the upgrade brought: - Clipboard reads in input handlers go through c.Services(). - MyGo notes an overlay's opener after building it, so AutoFocus inside lost it; pixel.AutoFocus focuses through a Handle, and archtest bans the raw call. Dialogs hand the focus back again. - Elements around a press stay hovered: Tooltip tells a press-given focus by focus arriving under the pointer. - The web host moves the Tester clock with real time, at most 500 ms a call, and gives components the real clock. The gallery's source index also accepts CRLF checkouts. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
1f3d38110e
commit
03e1f91706
532 files changed
+828
-735
No files matched your search
+6
-5
@@ -47,11 +47,12 @@ func (k Kit) Now() time.Time { return k.now }
|
||||
func (k Kit) Reduce() bool { return k.reduce }
|
||||
|
||||
type frame struct {
|
||||
cur Settings
|
||||
at time.Time
|
||||
cur Settings
|
||||
// pass is the root of the pass Use ran in.
|
||||
pass ui.Element
|
||||
typing bool
|
||||
// harbor holds the focus of controls turning off.
|
||||
harbor *ui.Element
|
||||
harbor ui.Element
|
||||
}
|
||||
|
||||
type frameKey struct{}
|
||||
@@ -63,7 +64,7 @@ func Use(c *ui.Context, s Settings) {
|
||||
if f.cur.Palette != s.Palette {
|
||||
slog.Debug("8bit: palette", "name", s.Palette.Name)
|
||||
}
|
||||
f.cur, f.at, f.typing, f.harbor = s, c.Now(), false, nil
|
||||
f.cur, f.pass, f.typing, f.harbor = s, c.Root(), false, ui.Element{}
|
||||
c.SetTheme(theme(s.Palette))
|
||||
}
|
||||
|
||||
@@ -103,7 +104,7 @@ func frameOf(c *ui.Context) *frame {
|
||||
|
||||
func current(c *ui.Context) *frame {
|
||||
f := frameOf(c)
|
||||
if !f.at.Equal(c.Now()) {
|
||||
if f.pass != c.Root() {
|
||||
panic("pixel: Use was not called in this frame")
|
||||
}
|
||||
return f
|
||||
|
||||
Reference in new issue
Block a user