mirror of
https://github.com/Relintai/GraphicsEditor.git
synced 2024-11-12 08:15:17 +01:00
Generate the navbar automatically
This commit is contained in:
parent
f239129542
commit
f92049d2ae
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=20 format=2]
|
[gd_scene load_steps=19 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://addons/graphics_editor/Editor.gd" type="Script" id=1]
|
[ext_resource path="res://addons/graphics_editor/Editor.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://addons/graphics_editor/PaintCanvasContainer.gd" type="Script" id=2]
|
[ext_resource path="res://addons/graphics_editor/PaintCanvasContainer.gd" type="Script" id=2]
|
||||||
@ -8,16 +8,15 @@
|
|||||||
[ext_resource path="res://addons/graphics_editor/VisualGrid.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://addons/graphics_editor/VisualGrid.tscn" type="PackedScene" id=6]
|
||||||
[ext_resource path="res://addons/graphics_editor/CanvasOutline.gd" type="Script" id=7]
|
[ext_resource path="res://addons/graphics_editor/CanvasOutline.gd" type="Script" id=7]
|
||||||
[ext_resource path="res://addons/graphics_editor/Navbar.gd" type="Script" id=8]
|
[ext_resource path="res://addons/graphics_editor/Navbar.gd" type="Script" id=8]
|
||||||
[ext_resource path="res://addons/graphics_editor/MenuButtonExtended.gd" type="Script" id=9]
|
[ext_resource path="res://addons/graphics_editor/ColorPicker.gd" type="Script" id=9]
|
||||||
[ext_resource path="res://addons/graphics_editor/ColorPicker.gd" type="Script" id=10]
|
[ext_resource path="res://addons/graphics_editor/Layers.gd" type="Script" id=10]
|
||||||
[ext_resource path="res://addons/graphics_editor/Layers.gd" type="Script" id=11]
|
[ext_resource path="res://addons/graphics_editor/TextInfo.gd" type="Script" id=11]
|
||||||
[ext_resource path="res://addons/graphics_editor/TextInfo.gd" type="Script" id=12]
|
[ext_resource path="res://addons/graphics_editor/SaveFileDialog.gd" type="Script" id=12]
|
||||||
[ext_resource path="res://addons/graphics_editor/SaveFileDialog.gd" type="Script" id=13]
|
[ext_resource path="res://addons/graphics_editor/Settings.tscn" type="PackedScene" id=13]
|
||||||
[ext_resource path="res://addons/graphics_editor/Settings.tscn" type="PackedScene" id=14]
|
[ext_resource path="res://addons/graphics_editor/NewImage.tscn" type="PackedScene" id=14]
|
||||||
[ext_resource path="res://addons/graphics_editor/NewImage.tscn" type="PackedScene" id=15]
|
[ext_resource path="res://addons/graphics_editor/LoadFileDialog.gd" type="Script" id=15]
|
||||||
[ext_resource path="res://addons/graphics_editor/LoadFileDialog.gd" type="Script" id=16]
|
[ext_resource path="res://addons/graphics_editor/ExpandCanvas.tscn" type="PackedScene" id=16]
|
||||||
[ext_resource path="res://addons/graphics_editor/ExpandCanvas.tscn" type="PackedScene" id=17]
|
[ext_resource path="res://addons/graphics_editor/ToolManager.gd" type="Script" id=17]
|
||||||
[ext_resource path="res://addons/graphics_editor/ToolManager.gd" type="Script" id=18]
|
|
||||||
|
|
||||||
[sub_resource type="World" id=1]
|
[sub_resource type="World" id=1]
|
||||||
|
|
||||||
@ -115,7 +114,6 @@ color = Color( 0, 1, 0, 1 )
|
|||||||
width = 3.0
|
width = 3.0
|
||||||
|
|
||||||
[node name="Navbar" type="Control" parent="."]
|
[node name="Navbar" type="Control" parent="."]
|
||||||
editor/display_folded = true
|
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
margin_bottom = 20.0
|
margin_bottom = 20.0
|
||||||
script = ExtResource( 8 )
|
script = ExtResource( 8 )
|
||||||
@ -131,42 +129,8 @@ __meta__ = {
|
|||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="File" type="MenuButton" parent="Navbar/Buttons"]
|
|
||||||
margin_right = 90.0
|
|
||||||
margin_bottom = 20.0
|
|
||||||
text = "File"
|
|
||||||
flat = false
|
|
||||||
items = [ "New", null, 0, false, false, 0, 0, null, "", false, "Load", null, 0, false, false, 1, 0, null, "", false, "Save", null, 0, false, false, 2, 0, null, "", false, "Quit", null, 0, false, false, 3, 0, null, "", false ]
|
|
||||||
switch_on_hover = true
|
|
||||||
script = ExtResource( 9 )
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Editor" type="MenuButton" parent="Navbar/Buttons"]
|
|
||||||
margin_left = 90.0
|
|
||||||
margin_right = 180.0
|
|
||||||
margin_bottom = 20.0
|
|
||||||
text = "Editor"
|
|
||||||
flat = false
|
|
||||||
items = [ "Settings", null, 0, false, false, -1, 0, null, "", false, "Reset Camera Position", null, 0, false, false, -1, 0, null, "", false, "Toggle Grid", null, 0, false, false, -1, 0, null, "", false ]
|
|
||||||
switch_on_hover = true
|
|
||||||
script = ExtResource( 9 )
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Image" type="MenuButton" parent="Navbar/Buttons"]
|
|
||||||
margin_left = 180.0
|
|
||||||
margin_right = 270.0
|
|
||||||
margin_bottom = 20.0
|
|
||||||
text = "Image"
|
|
||||||
flat = false
|
|
||||||
items = [ "Resize", null, 0, false, false, -1, 0, null, "", false ]
|
|
||||||
switch_on_hover = true
|
|
||||||
script = ExtResource( 9 )
|
|
||||||
|
|
||||||
[node name="ToolMenu" type="Control" parent="."]
|
[node name="ToolMenu" type="Control" parent="."]
|
||||||
|
editor/display_folded = true
|
||||||
anchor_left = 1.0
|
anchor_left = 1.0
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
@ -219,7 +183,7 @@ margin_top = 210.0
|
|||||||
margin_bottom = 240.0
|
margin_bottom = 240.0
|
||||||
focus_mode = 0
|
focus_mode = 0
|
||||||
enabled_focus_mode = 0
|
enabled_focus_mode = 0
|
||||||
script = ExtResource( 10 )
|
script = ExtResource( 9 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
@ -228,7 +192,7 @@ __meta__ = {
|
|||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
margin_top = 240.0
|
margin_top = 240.0
|
||||||
script = ExtResource( 11 )
|
script = ExtResource( 10 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
@ -271,7 +235,7 @@ __meta__ = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[node name="TextInfo" type="Control" parent="BottomPanel"]
|
[node name="TextInfo" type="Control" parent="BottomPanel"]
|
||||||
script = ExtResource( 12 )
|
script = ExtResource( 11 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
@ -286,9 +250,9 @@ margin_top = -165.0
|
|||||||
margin_right = 340.0
|
margin_right = 340.0
|
||||||
margin_bottom = 165.0
|
margin_bottom = 165.0
|
||||||
filters = PoolStringArray( "*.png ; PNG Images" )
|
filters = PoolStringArray( "*.png ; PNG Images" )
|
||||||
script = ExtResource( 13 )
|
script = ExtResource( 12 )
|
||||||
|
|
||||||
[node name="Settings" parent="." instance=ExtResource( 14 )]
|
[node name="Settings" parent="." instance=ExtResource( 13 )]
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
@ -298,7 +262,7 @@ margin_top = -150.0
|
|||||||
margin_right = 155.0
|
margin_right = 155.0
|
||||||
margin_bottom = 150.0
|
margin_bottom = 150.0
|
||||||
|
|
||||||
[node name="NewImage" parent="." instance=ExtResource( 15 )]
|
[node name="NewImage" parent="." instance=ExtResource( 14 )]
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
@ -320,12 +284,12 @@ margin_bottom = 165.0
|
|||||||
window_title = "Open a File"
|
window_title = "Open a File"
|
||||||
mode = 0
|
mode = 0
|
||||||
filters = PoolStringArray( "*.png ; PNG Images" )
|
filters = PoolStringArray( "*.png ; PNG Images" )
|
||||||
script = ExtResource( 16 )
|
script = ExtResource( 15 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="ExpandCanvas" parent="." instance=ExtResource( 17 )]
|
[node name="ExpandCanvas" parent="." instance=ExtResource( 16 )]
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
anchor_right = 0.5
|
anchor_right = 0.5
|
||||||
@ -336,7 +300,7 @@ margin_right = 145.0
|
|||||||
margin_bottom = 40.0
|
margin_bottom = 40.0
|
||||||
|
|
||||||
[node name="ToolManager" type="Node" parent="."]
|
[node name="ToolManager" type="Node" parent="."]
|
||||||
script = ExtResource( 18 )
|
script = ExtResource( 17 )
|
||||||
[connection signal="mouse_entered" from="PaintCanvasContainer" to="PaintCanvasContainer" method="_on_PaintCanvasContainer_mouse_entered"]
|
[connection signal="mouse_entered" from="PaintCanvasContainer" to="PaintCanvasContainer" method="_on_PaintCanvasContainer_mouse_entered"]
|
||||||
[connection signal="mouse_exited" from="PaintCanvasContainer" to="PaintCanvasContainer" method="_on_PaintCanvasContainer_mouse_exited"]
|
[connection signal="mouse_exited" from="PaintCanvasContainer" to="PaintCanvasContainer" method="_on_PaintCanvasContainer_mouse_exited"]
|
||||||
[connection signal="pressed" from="ToolMenu/Buttons/PaintTool" to="." method="_on_PaintTool_pressed"]
|
[connection signal="pressed" from="ToolMenu/Buttons/PaintTool" to="." method="_on_PaintTool_pressed"]
|
||||||
|
@ -16,7 +16,6 @@ func _process(delta):
|
|||||||
if active_node:
|
if active_node:
|
||||||
active_node.image_storage = canvas.image.duplicate()
|
active_node.image_storage = canvas.image.duplicate()
|
||||||
canvas.image_pixel_array = get_all_layer_images()
|
canvas.image_pixel_array = get_all_layer_images()
|
||||||
pass
|
|
||||||
|
|
||||||
func set_active_layer(new_layer):
|
func set_active_layer(new_layer):
|
||||||
if active_layer:
|
if active_layer:
|
||||||
|
@ -1,16 +1,43 @@
|
|||||||
tool
|
tool
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
#TODO: Finish the navbar system!
|
|
||||||
#Disable the quit button when running as an editor plugin!
|
|
||||||
|
|
||||||
var navbar_storage = {
|
var navbar_storage = {
|
||||||
"File": ["New", "Load", "Save"],
|
"File": {
|
||||||
"Editor": ["Settings", "Toggle Grid", "Reset Camera Position"],
|
"items": ["New", "Load", "Save", "Quit"],
|
||||||
"Image": ["Resize"]
|
"export_only": ["Quit"]
|
||||||
|
},
|
||||||
|
"Editor": {
|
||||||
|
"items": ["Settings", "Toggle Grid", "Reset Camera Position"],
|
||||||
|
},
|
||||||
|
"Image": {
|
||||||
|
"items": ["Resize"]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
var x_to_add = 0
|
||||||
|
var menu_button_script = load("res://addons/graphics_editor/MenuButtonExtended.gd")
|
||||||
|
for i in navbar_storage:
|
||||||
|
var menu_button = MenuButton.new()
|
||||||
|
menu_button.name = i
|
||||||
|
menu_button.rect_size = Vector2(90, 20)
|
||||||
|
menu_button.rect_position = Vector2(x_to_add, 0)
|
||||||
|
x_to_add += menu_button.rect_size.x
|
||||||
|
menu_button.switch_on_hover = true
|
||||||
|
menu_button.flat = false
|
||||||
|
menu_button.text = i
|
||||||
|
menu_button.set_script(menu_button_script)
|
||||||
|
var items_to_remove = []
|
||||||
|
if Engine.editor_hint:
|
||||||
|
if navbar_storage[i].get("export_only"):
|
||||||
|
for j in navbar_storage[i]["export_only"]:
|
||||||
|
items_to_remove.append(j)
|
||||||
|
if navbar_storage[i].get("items"):
|
||||||
|
for j in navbar_storage[i]["items"]:
|
||||||
|
var item_index = items_to_remove.find(j)
|
||||||
|
if item_index == -1:
|
||||||
|
menu_button.get_popup().add_item(j)
|
||||||
|
get_node("Buttons").add_child(menu_button)
|
||||||
for i in get_node("Buttons").get_children():
|
for i in get_node("Buttons").get_children():
|
||||||
i.connect("item_pressed", self, "button_pressed")
|
i.connect("item_pressed", self, "button_pressed")
|
||||||
|
|
||||||
@ -22,7 +49,6 @@ func button_pressed(button_name, button_item):
|
|||||||
get_parent().get_node("LoadFileDialog").show()
|
get_parent().get_node("LoadFileDialog").show()
|
||||||
if button_item == "Save":
|
if button_item == "Save":
|
||||||
get_parent().get_node("SaveFileDialog").show()
|
get_parent().get_node("SaveFileDialog").show()
|
||||||
|
|
||||||
if button_item == "Quit":
|
if button_item == "Quit":
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
elif button_name == "Editor":
|
elif button_name == "Editor":
|
||||||
|
@ -16,7 +16,6 @@ margin_bottom = 290.0
|
|||||||
text = "Ok"
|
text = "Ok"
|
||||||
|
|
||||||
[node name="CanvasOutline" type="Control" parent="."]
|
[node name="CanvasOutline" type="Control" parent="."]
|
||||||
editor/display_folded = true
|
|
||||||
margin_left = 10.0
|
margin_left = 10.0
|
||||||
margin_top = 10.0
|
margin_top = 10.0
|
||||||
margin_right = 300.0
|
margin_right = 300.0
|
||||||
@ -31,7 +30,6 @@ margin_bottom = 14.0
|
|||||||
text = "Canvas Outline:"
|
text = "Canvas Outline:"
|
||||||
|
|
||||||
[node name="Enabled" type="Control" parent="CanvasOutline"]
|
[node name="Enabled" type="Control" parent="CanvasOutline"]
|
||||||
editor/display_folded = true
|
|
||||||
margin_left = 10.0
|
margin_left = 10.0
|
||||||
margin_top = 20.0
|
margin_top = 20.0
|
||||||
margin_right = 290.0
|
margin_right = 290.0
|
||||||
@ -69,7 +67,6 @@ margin_right = 280.0
|
|||||||
margin_bottom = 20.0
|
margin_bottom = 20.0
|
||||||
|
|
||||||
[node name="Width" type="Control" parent="CanvasOutline"]
|
[node name="Width" type="Control" parent="CanvasOutline"]
|
||||||
editor/display_folded = true
|
|
||||||
margin_left = 10.0
|
margin_left = 10.0
|
||||||
margin_top = 80.0
|
margin_top = 80.0
|
||||||
margin_right = 290.0
|
margin_right = 290.0
|
||||||
|
Loading…
Reference in New Issue
Block a user