5 protected KeybindingsMenu
m_Menu;
8 protected int m_CurrentSettingKeyIndex = -1;
9 protected int m_CurrentSettingAlternateKeyIndex = -1;
22 Widget subgroup =
m_Root.FindAnyWidget(
"group_content" );
38 return "gui/layouts/new_ui/options/keybindings_selectors/keybinding_group.layout";
43 Widget kb_root = parent.FindAnyWidget(
"keyboard_dropown" );
50 m_KBDropdown.m_OnSelectItem.Insert( OnSelectKBPreset );
55 m_KBDropdown.AddElement( profile_text );
65 m_KBDropdown.SetText( profile_text );
81 foreach(
int index, KeybindingElement element :
m_KeyWidgets )
92 subgroup_name.SetText(
"TestSubgroup" );
93 Widget subgroup_content = subgroup.FindAnyWidget(
"subgroup_content" );
97 for(
int i = 0; i < actions.Count(); i++ )
99 AddAction( actions.Get( i ), subgroup_content, input );
102 subgroup_content.Update();
112 if( m_KeyWidgets.Contains( index ) )
114 m_KeyWidgets.Get( index ).Reload();
120 return ( m_CurrentSettingKeyIndex != -1 || m_CurrentSettingAlternateKeyIndex != -1 );
125 m_Menu.ClearKeybind( key_index );
130 m_Menu.ClearAlternativeKeybind( key_index );
135 m_CurrentSettingAlternateKeyIndex = -1;
136 m_CurrentSettingKeyIndex = key_index;
137 m_Menu.StartEnteringKeybind( key_index );
142 if( m_CurrentSettingKeyIndex != -1 )
144 m_KeyWidgets.Get( m_CurrentSettingKeyIndex ).CancelEnteringKeybind();
145 m_CurrentSettingKeyIndex = -1;
151 m_CurrentSettingKeyIndex = -1;
152 m_CurrentSettingAlternateKeyIndex = key_index;
153 m_Menu.StartEnteringAlternateKeybind( key_index );
158 if( m_CurrentSettingAlternateKeyIndex != -1 )
160 m_KeyWidgets.Get( m_CurrentSettingAlternateKeyIndex ).CancelEnteringAlternateKeybind();
161 m_CurrentSettingAlternateKeyIndex = -1;
167 foreach(
int index, KeybindingElement element :
m_KeyWidgets )
169 if( element.IsChanged() || element.IsAlternateChanged() )
180 foreach(
int index, KeybindingElement element :
m_KeyWidgets )
184 if( element.IsChanged() )
186 array<int> new_keys = element.GetChangedBinds();
199 if( new_keys.Count() > 0 )
202 for( i = 1; i < new_keys.Count(); i++ )
209 if( element.IsAlternateChanged() )
211 array<int> new_alt_keys = element.GetChangedAlternateBinds();
229 if( new_alt_keys.Count() > 0 )
232 for( i = 1; i < new_alt_keys.Count(); i++ )
250 foreach(
int index, KeybindingElement element :
m_KeyWidgets )
252 if( element.IsChanged() || element.IsAlternateChanged() || forced )
261 if( m_CurrentSettingKeyIndex != -1 || m_CurrentSettingAlternateKeyIndex != -1 )
276 new_keybinds.Insert( kb_id );
282 if( m_CurrentSettingKeyIndex != -1 )
284 m_Menu.ConfirmKeybindEntry( new_keybinds );
285 m_KeyWidgets.Get( m_CurrentSettingKeyIndex ).Reload( new_keybinds,
false );
286 m_CurrentSettingKeyIndex = -1;
288 else if( m_CurrentSettingAlternateKeyIndex != -1 )
290 m_Menu.ConfirmAlternateKeybindEntry( new_keybinds );
291 m_KeyWidgets.Get( m_CurrentSettingAlternateKeyIndex ).Reload( new_keybinds,
true );
292 m_CurrentSettingAlternateKeyIndex = -1;
300 if( !ButtonWidget.Cast( w ) )
302 m_KBDropdown.Close();
protected ServerBrowserMenuNew m_Menu
proto native Input GetInput()
proto native WorkspaceWidget GetWorkspace()
proto native CGame GetGame()