mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 17:19:50 +00:00
e2bb0b8440
* Add dockable container plugin Experimenting with it, also added a tabs_visible property to the DockableContainer. Removed some code about Tallscreen from Main.gd, but not all of it. * Add a panel behind the UI, temporarily restore the dark theme * Remove tallscreen code * Add edit mode, toggles DockableContainer's tab visibility on and off * Split tool options into color pickers, left and right tool options * Remove alternate_transparent_background * Re-order tool buttons on resize * Clip content in timeline * Changes to the tool panel * Removed some old unused node variables * Restore Zen mode * Set tabs_visible = false by default * Better way to set tabs_visible = false by default * Added the license of godot-dockable-container * Remove unneeded lines * Update README.md * Restore window transparency with the canvas It makes all of the TabContainers transparent however, which may not be what we actually want. * Change tab names of the UI elements * Remove unneeded nodes from ColorPickers.tscn * Update default.tres * Let the user hide elements individually * Add some checks in HandleThemes * Center tool icons * Remove unneeded custom panel in SplashDialog * Bump version to v0.10-dev and some other minor changes * Fix crash on Zen Mode * Added a hacky way to fix the issue with the palette panel size
50 lines
1.2 KiB
GDScript
50 lines
1.2 KiB
GDScript
tool
|
|
extends Container
|
|
# Control that mimics its own visibility and rect into another Control.
|
|
|
|
signal moved_in_parent(control)
|
|
|
|
var reference_to: Control setget set_reference_to, get_reference_to
|
|
|
|
var _reference_to: Control = null
|
|
|
|
|
|
func _ready() -> void:
|
|
mouse_filter = MOUSE_FILTER_IGNORE
|
|
|
|
|
|
func _notification(what: int) -> void:
|
|
if what == NOTIFICATION_VISIBILITY_CHANGED and _reference_to:
|
|
_reference_to.visible = visible
|
|
elif what == NOTIFICATION_SORT_CHILDREN and _reference_to:
|
|
_reposition_reference()
|
|
|
|
|
|
func _get_minimum_size() -> Vector2:
|
|
return _reference_to.get_combined_minimum_size() if _reference_to else Vector2.ZERO
|
|
|
|
|
|
func set_reference_to(control: Control) -> void:
|
|
if _reference_to != control:
|
|
if _reference_to:
|
|
_reference_to.disconnect("renamed", self, "_on_reference_to_renamed")
|
|
_reference_to = control
|
|
minimum_size_changed()
|
|
if not _reference_to:
|
|
return
|
|
_reference_to.connect("renamed", self, "_on_reference_to_renamed")
|
|
_reference_to.visible = visible
|
|
|
|
|
|
func get_reference_to() -> Control:
|
|
return _reference_to
|
|
|
|
|
|
func _reposition_reference() -> void:
|
|
_reference_to.rect_global_position = rect_global_position
|
|
_reference_to.rect_size = rect_size
|
|
|
|
|
|
func _on_reference_to_renamed() -> void:
|
|
name = _reference_to.name
|