2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "SpinBox"  inherits= "Range"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-30 16:26:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										An input field for numbers.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-30 16:26:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[SpinBox] is a numerical input text field. It allows entering integers and floating point numbers.
							 
						 
					
						
							
								
									
										
										
										
											2019-06-20 16:23:56 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[b]Example:[/b]
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-06-20 16:23:56 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var spin_box = SpinBox.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										add_child(spin_box)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var line_edit = spin_box.get_line_edit()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										line_edit.context_menu_enabled = false
							 
						 
					
						
							
								
									
										
										
										
											2021-11-24 20:58:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										spin_box.horizontal_alignment = LineEdit.HORIZONTAL_ALIGNMENT_RIGHT
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var spinBox = new SpinBox();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										AddChild(spinBox);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										var lineEdit = spinBox.GetLineEdit();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										lineEdit.ContextMenuEnabled = false;
							 
						 
					
						
							
								
									
										
										
										
											2021-11-24 20:58:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										spinBox.AlignHorizontal = LineEdit.HorizontalAlignEnum.Right;
							 
						 
					
						
							
								
									
										
										
										
											2020-11-28 00:33:15 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2019-06-20 16:23:56 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										The above code will create a [SpinBox], disable context menu on it and set the text alignment to right.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										See [Range] class for more options over the [SpinBox].
							 
						 
					
						
							
								
									
										
										
										
											2021-02-21 19:31:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[b]Note:[/b] [SpinBox] relies on an underlying [LineEdit] node. To theme a [SpinBox]'s background, add theme items for [LineEdit] and customize them.
							 
						 
					
						
							
								
									
										
										
										
											2022-04-03 19:40:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										[b]Note:[/b] If you want to implement drag and drop for the underlying [LineEdit], you can use [method Control.set_drag_forwarding] on the node returned by [method get_line_edit].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 14:30:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "apply" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 14:30:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Applies the current value of this [SpinBox].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-09 13:44:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 14:30:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_line_edit" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "LineEdit"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-09 13:44:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-12 14:30:21 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the [LineEdit] instance from this [SpinBox]. You can use it to access properties and methods of [LineEdit].
							 
						 
					
						
							
								
									
										
										
										
											2021-10-10 22:28:56 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
							 
						 
					
						
							
								
									
										
										
										
											2020-01-09 13:44:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-24 20:58:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "alignment"  type= "int"  setter= "set_horizontal_alignment"  getter= "get_horizontal_alignment"  enum= "HorizontalAlignment"  default= "0" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-21 03:48:36 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Changes the alignment of the underlying [LineEdit].
							 
						 
					
						
							
								
									
										
										
										
											2018-10-07 21:52:07 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-15 15:04:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "custom_arrow_step"  type= "float"  setter= "set_custom_arrow_step"  getter= "get_custom_arrow_step"  default= "0.0" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											If not [code]0[/code], [code]value[/code] will always be rounded to a multiple of [code]custom_arrow_step[/code] when interacting with the arrow buttons of the [SpinBox].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 12:38:01 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "editable"  type= "bool"  setter= "set_editable"  getter= "is_editable"  default= "true" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-20 16:23:56 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											If [code]true[/code], the [SpinBox] will be editable. Otherwise, it will be read only.
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 12:38:01 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "prefix"  type= "String"  setter= "set_prefix"  getter= "get_prefix"  default= """" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-20 16:23:56 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Adds the specified [code]prefix[/code] string before the numerical value of the [SpinBox].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2022-10-16 20:37:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "select_all_on_focus"  type= "bool"  setter= "set_select_all_on_focus"  getter= "is_select_all_on_focus"  default= "false" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											If [code]true[/code], the [SpinBox] will select the whole text when the [LineEdit] gains focus. Clicking the up and down arrows won't trigger this behavior.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-15 17:06:22 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "size_flags_vertical"  type= "int"  setter= "set_v_size_flags"  getter= "get_v_size_flags"  overrides= "Control"  enum= "Control.SizeFlags"  is_bitfield= "true"  default= "1"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-09 01:59:49 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "step"  type= "float"  setter= "set_step"  getter= "get_step"  overrides= "Range"  default= "1.0"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 12:38:01 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "suffix"  type= "String"  setter= "set_suffix"  getter= "get_suffix"  default= """" > 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-06 05:00:12 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Adds the specified [code]suffix[/code] string after the numerical value of the [SpinBox].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-27 20:24:27 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<member  name= "update_on_text_changed"  type= "bool"  setter= "set_update_on_text_changed"  getter= "get_update_on_text_changed"  default= "false" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sets the value of the [Range] for this [SpinBox] when the [LineEdit] text is [i]changed[/i] instead of [i]submitted[/i]. See [signal LineEdit.text_changed] and [signal LineEdit.text_submitted].
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</members> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<theme_items > 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-04 19:54:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<theme_item  name= "updown"  data_type= "icon"  type= "Texture2D" > 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-12 09:59:06 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Sets a custom [Texture2D] for up and down arrows of the [SpinBox].
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 17:42:36 -03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</theme_item> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</theme_items> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>