:github_url: hide # ExpandableButton **Inherits:** [RevisedButton](./RevisedButton.md) **<** [BaseButton](https://docs.godotengine.org/en/stable/classes/class_basebutton.html) Button with additional content shown while hovered. ## Description Expands when hovered by mouse revealing additional content on left side. Was not intended to work with transparent [StyleBox](https://docs.godotengine.org/en/stable/classes/class_stylebox.html)es, but it still can. **Note:** Its [minimum_size](./expandablebutton.md#property_minimum_size) changes depending of it state and frame of expanding animation. **Note:** It is planed to add more directions. ## Properties | | | | |------------------------------------------------------------------------------------|------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) | [base_minimum_size](#property_base_minimum_size) | ``Vector2(0, 0)`` | | [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_indentation](#property_expansion_indentation) | ``0`` | | [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) | [expansion_information](#property_expansion_information) | ``0`` | | [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_information_margin](#property_expansion_information_margin) | ``0`` | | [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_minimum_size](#property_expansion_minimum_size) | ``0`` | | [int](https://docs.godotengine.org/en/stable/classes/class_int.html) | [expansion_size](#property_expansion_size) | ``70`` | | [float](https://docs.godotengine.org/en/stable/classes/class_float.html) | [expansion_speed](#property_expansion_speed) | ``25.0`` | | [StringName](https://docs.godotengine.org/en/stable/classes/class_stringname.html) | theme_type_variation | ``&"_ExpandableButton_hidden"`` (overrides [Control.theme_type_variation](https://docs.godotengine.org/en/stable/classes/class_control.html#class_control_member_theme_type_variation)) | ## Methods | | | |--------|--------------------------------------------------| | *void* | [expand](./ExpandableButton.md#method_expand)( ) | | *void* | [reduce](./ExpandableButton.md#method_reduce)( ) | --- ## Enumerations #### enum **EXPANSION_INFO**: ##### [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **IMAGE** = ``0`` There is currently no description for this enum. Please help us by [contributing one ](https://docs.godotengine.org/en/stable/contributing/documentation/updating_the_class_reference.html)! ##### [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **TEXT** = ``1`` There is currently no description for this enum. Please help us by [contributing one ](https://docs.godotengine.org/en/stable/contributing/documentation/updating_the_class_reference.html)! --- ## Property Descriptions #### [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) **base_minimum_size** = ``Vector2(0, 0)`` - *void* **set_base_minimum_size**( value\: [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) ) - [Vector2](https://docs.godotengine.org/en/stable/classes/class_vector2.html) **get_base_minimum_size**( ) Minimum size of the main body. #### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_indentation** = ``0`` - *void* **set_expansion_indentation**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) ) - [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_expansion_indentation**( ) Defines additional lenght of expanded [StyleBox](https://docs.godotengine.org/en/stable/classes/class_stylebox.html). Added lenght will always appear underneath main [StyleBox](https://docs.godotengine.org/en/stable/classes/class_stylebox.html) unless [expansion_indentation](./expandablebutton.md#property_expansion_indentation) is negative. #### [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **expansion_information** = ``0`` - *void* **set_expansion_info**( value\: [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) ) - [EXPANSION_INFO](./ExpandableButton.md#enum_EXPANSION_INFO) **get_expansion_info**( ) Defines which part of content is additional. **Note:** It is planed to add posibility for two texts and/or buttons. #### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_information_margin** = ``0`` - *void* **set_info_margin**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) ) - [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_info_margin**( ) If set to positive value then additional content is moved aside main body otherwise part of it renders underneath it. #### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_minimum_size** = ``0`` - *void* **set_minimum_expansion_size**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) ) - [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_minimum_expansion_size**( ) Shows to user the minimum size of additional content. **Note:** [set_minimum_expansion_size](./expandablebutton.md#method_set_minimum_expansion_size) does nothing. #### [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **expansion_size** = ``70`` - *void* **set_expansion_size**( value\: [int](https://docs.godotengine.org/en/stable/classes/class_int.html) ) - [int](https://docs.godotengine.org/en/stable/classes/class_int.html) **get_expansion_size**( ) Defines size of additional content unless [expansion_size](./expandablebutton.md#property_expansion_size) is less than [expansion_minimum_size](./expandablebutton.md#property_expansion_minimum_size). #### [float](https://docs.godotengine.org/en/stable/classes/class_float.html) **expansion_speed** = ``25.0`` - *void* **set_expansion_speed**( value\: [float](https://docs.godotengine.org/en/stable/classes/class_float.html) ) - [float](https://docs.godotengine.org/en/stable/classes/class_float.html) **get_expansion_speed**( ) Defines how fast additional content will appear. --- ## Method Descriptions #### *void* **expand**( ) Shows additional content. #### *void* **reduce**( ) Hides additional content.