Skip to content

Commit bc2a8c4

Browse files
committed
Add interface for handler fields for keys and knob/lcd
1 parent bfc0dee commit bc2a8c4

3 files changed

Lines changed: 84 additions & 0 deletions

File tree

config.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,18 @@ type ForegroundActions interface {
4343
GetTextColour() string
4444
}
4545

46+
type ForegroundAndInputHandlerConfig interface {
47+
GetForegroundHandler() string
48+
GetForegroundHandlerInstance() ForegroundHandler
49+
SetForegroundHandlerInstance(handler ForegroundHandler)
50+
GetForegroundHandlerFields() map[string]any
51+
GetInputHandler() string
52+
GetInputHandlerInstance() InputHandler
53+
SetInputHandlerInstance(handler InputHandler)
54+
GetInputHandlerFields() map[string]any
55+
GetSharedHandlerFields() map[string]any
56+
}
57+
4658
type ConfigV3 struct {
4759
Modules []string `json:"modules,omitempty"`
4860
Decks []DeckV3 `json:"decks"`

key.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,42 @@ type KeyConfigV3 struct {
7575
KeyBackgroundHandlerFields map[string]any `json:"key_background_handler_fields"`
7676
}
7777

78+
func (kc *KeyConfigV3) SetForegroundHandlerInstance(handler ForegroundHandler) {
79+
kc.IconHandlerStruct = handler
80+
}
81+
82+
func (kc *KeyConfigV3) GetForegroundHandlerFields() map[string]any {
83+
return kc.IconHandlerFields
84+
}
85+
86+
func (kc *KeyConfigV3) GetForegroundHandlerInstance() ForegroundHandler {
87+
return kc.IconHandlerStruct
88+
}
89+
90+
func (kc *KeyConfigV3) GetForegroundHandler() string {
91+
return kc.IconHandler
92+
}
93+
94+
func (kc *KeyConfigV3) GetInputHandler() string {
95+
return kc.KeyHandler
96+
}
97+
98+
func (kc *KeyConfigV3) GetInputHandlerInstance() InputHandler {
99+
return kc.KeyHandlerStruct
100+
}
101+
102+
func (kc *KeyConfigV3) SetInputHandlerInstance(handler InputHandler) {
103+
kc.KeyHandlerStruct = handler
104+
}
105+
106+
func (kc *KeyConfigV3) GetInputHandlerFields() map[string]any {
107+
return kc.KeyHandlerFields
108+
}
109+
110+
func (kc *KeyConfigV3) GetSharedHandlerFields() map[string]any {
111+
return kc.SharedHandlerFields
112+
}
113+
78114
func (kc *KeyConfigV3) GetIcon() string {
79115
return kc.Icon
80116
}

lcdknob.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,42 @@ type KnobConfigV3 struct {
106106
TouchPanelBackgroundHandlerFields map[string]any `json:"touch_panel_background_handler_fields"`
107107
}
108108

109+
func (kc *KnobConfigV3) SetForegroundHandlerInstance(handler ForegroundHandler) {
110+
kc.LcdHandlerStruct = handler
111+
}
112+
113+
func (kc *KnobConfigV3) GetForegroundHandlerFields() map[string]any {
114+
return kc.LcdHandlerFields
115+
}
116+
117+
func (kc *KnobConfigV3) GetForegroundHandlerInstance() ForegroundHandler {
118+
return kc.LcdHandlerStruct
119+
}
120+
121+
func (kc *KnobConfigV3) GetForegroundHandler() string {
122+
return kc.LcdHandler
123+
}
124+
125+
func (kc *KnobConfigV3) GetInputHandler() string {
126+
return kc.KnobOrTouchHandler
127+
}
128+
129+
func (kc *KnobConfigV3) GetInputHandlerInstance() InputHandler {
130+
return kc.KnobOrTouchHandlerStruct
131+
}
132+
133+
func (kc *KnobConfigV3) SetInputHandlerInstance(handler InputHandler) {
134+
kc.KnobOrTouchHandlerStruct = handler
135+
}
136+
137+
func (kc *KnobConfigV3) GetInputHandlerFields() map[string]any {
138+
return kc.KnobOrTouchHandlerFields
139+
}
140+
141+
func (kc *KnobConfigV3) GetSharedHandlerFields() map[string]any {
142+
return kc.SharedHandlerFields
143+
}
144+
109145
func (kc *KnobConfigV3) GetIcon() string {
110146
return kc.Icon
111147
}

0 commit comments

Comments
 (0)