Initial Android commit
This commit is contained in:
commit
1e2b80c13d
8521 changed files with 231475 additions and 0 deletions
194
addons/dialogic/Editor/EditorView.gd
Normal file
194
addons/dialogic/Editor/EditorView.gd
Normal file
|
@ -0,0 +1,194 @@
|
|||
tool
|
||||
extends Control
|
||||
|
||||
var editor_file_dialog
|
||||
var file_picker_data:Dictionary = {"method":"", "node":self}
|
||||
var version_string:String
|
||||
|
||||
|
||||
var editor_interface = null
|
||||
|
||||
func _ready():
|
||||
|
||||
editor_file_dialog = EditorFileDialog.new()
|
||||
add_child(editor_file_dialog)
|
||||
|
||||
$ToolBar / Docs.text = DTS.translate("Help")
|
||||
$ToolBar / Web.text = DTS.translate("Website")
|
||||
|
||||
$MainPanel / MasterTreeContainer / MasterTree.connect("editor_selected", self, "on_master_tree_editor_selected")
|
||||
|
||||
|
||||
DialogicUtil.update_resource_folder_structure()
|
||||
|
||||
|
||||
|
||||
|
||||
var separation = get_constant("separation", "BoxContainer")
|
||||
$MainPanel.margin_left = separation
|
||||
$MainPanel.margin_right = separation * - 1
|
||||
$MainPanel.margin_bottom = separation * - 1
|
||||
$MainPanel.margin_top = 38
|
||||
var modifier = ""
|
||||
var _scale = get_constant("inspector_margin", "Editor")
|
||||
_scale = _scale * 0.125
|
||||
if _scale == 1:
|
||||
$MainPanel.margin_top = 30
|
||||
if _scale == 1.25:
|
||||
modifier = "-1.25"
|
||||
$MainPanel.margin_top = 37
|
||||
if _scale == 1.5:
|
||||
modifier = "-1.25"
|
||||
$MainPanel.margin_top = 46
|
||||
if _scale == 1.75:
|
||||
modifier = "-1.25"
|
||||
$MainPanel.margin_top = 53
|
||||
if _scale == 2:
|
||||
$MainPanel.margin_top = 59
|
||||
modifier = "-2"
|
||||
$ToolBar / NewTimelineButton.icon = load("res://addons/dialogic/Images/Toolbar/add-timeline" + modifier + ".svg")
|
||||
$ToolBar / NewTimelineButton.hint_tooltip = DTS.translate("Add Timeline")
|
||||
$ToolBar / NewCharactersButton.icon = load("res://addons/dialogic/Images/Toolbar/add-character" + modifier + ".svg")
|
||||
$ToolBar / NewCharactersButton.hint_tooltip = DTS.translate("Add Character")
|
||||
$ToolBar / NewValueButton.icon = load("res://addons/dialogic/Images/Toolbar/add-definition" + modifier + ".svg")
|
||||
$ToolBar / NewValueButton.hint_tooltip = DTS.translate("Add Value")
|
||||
$ToolBar / NewGlossaryEntryButton.icon = load("res://addons/dialogic/Images/Toolbar/add-glossary" + modifier + ".svg")
|
||||
$ToolBar / NewGlossaryEntryButton.hint_tooltip = DTS.translate("Add Glossary Entry")
|
||||
$ToolBar / NewThemeButton.icon = load("res://addons/dialogic/Images/Toolbar/add-theme" + modifier + ".svg")
|
||||
$ToolBar / NewThemeButton.hint_tooltip = DTS.translate("Add Theme")
|
||||
|
||||
var modulate_color = Color.white
|
||||
if not get_constant("dark_theme", "Editor"):
|
||||
modulate_color = get_color("property_color", "Editor")
|
||||
$ToolBar / NewTimelineButton.modulate = modulate_color
|
||||
$ToolBar / NewCharactersButton.modulate = modulate_color
|
||||
$ToolBar / NewValueButton.modulate = modulate_color
|
||||
$ToolBar / NewGlossaryEntryButton.modulate = modulate_color
|
||||
$ToolBar / NewThemeButton.modulate = modulate_color
|
||||
|
||||
$ToolBar / FoldTools / ButtonFold.icon = get_icon("GuiTreeArrowRight", "EditorIcons")
|
||||
$ToolBar / FoldTools / ButtonUnfold.icon = get_icon("GuiTreeArrowDown", "EditorIcons")
|
||||
$ToolBar / FoldTools / PlayTimeline.icon = get_icon("PlayScene", "EditorIcons")
|
||||
|
||||
|
||||
$ToolBar / NewTimelineButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_timeline")
|
||||
$ToolBar / NewCharactersButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_character")
|
||||
$ToolBar / NewThemeButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_theme")
|
||||
$ToolBar / NewValueButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_value_definition")
|
||||
$ToolBar / NewGlossaryEntryButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_glossary_entry")
|
||||
$ToolBar / Web.icon = get_icon("Instance", "EditorIcons")
|
||||
$ToolBar / Web.connect("pressed", OS, "shell_open", ["https://dialogic.coppolaemilio.com"])
|
||||
$ToolBar / Docs.icon = get_icon("HelpSearch", "EditorIcons")
|
||||
$ToolBar / DocumentationNavigation / Previous.icon = get_icon("Back", "EditorIcons")
|
||||
$ToolBar / DocumentationNavigation / Next.icon = get_icon("Forward", "EditorIcons")
|
||||
$ToolBar / Docs.connect("pressed",
|
||||
$MainPanel / MasterTreeContainer / MasterTree,
|
||||
"select_documentation_item",
|
||||
["/"])
|
||||
$ToolBar / FoldTools / ButtonFold.connect("pressed", $MainPanel / TimelineEditor, "fold_all_nodes")
|
||||
$ToolBar / FoldTools / ButtonUnfold.connect("pressed", $MainPanel / TimelineEditor, "unfold_all_nodes")
|
||||
$ToolBar / FoldTools / PlayTimeline.connect("pressed", $MainPanel / TimelineEditor, "play_timeline")
|
||||
|
||||
|
||||
|
||||
$RemoveFolderConfirmation.connect("confirmed", self, "_on_RemoveFolderConfirmation_confirmed")
|
||||
$RemoveConfirmation.window_title = DTS.translate("RemoveResourcePopupTitle")
|
||||
$RemoveFolderConfirmation.window_title = DTS.translate("RemoveFolderPopupTitle")
|
||||
$RemoveFolderConfirmation.dialog_text = DTS.translate("RemoveFolderPopupText")
|
||||
|
||||
|
||||
var config = ConfigFile.new()
|
||||
var err = config.load("res://addons/dialogic/plugin.cfg")
|
||||
if err == OK:
|
||||
version_string = config.get_value("plugin", "version", "?")
|
||||
$ToolBar / Version.text = "Dialogic v" + version_string
|
||||
|
||||
$MainPanel / MasterTreeContainer / FilterMasterTreeEdit.right_icon = get_icon("Search", "EditorIcons")
|
||||
|
||||
|
||||
func on_master_tree_editor_selected(editor:String):
|
||||
$ToolBar / FoldTools.visible = editor == "timeline"
|
||||
$ToolBar / DocumentationNavigation.visible = editor == "documentation"
|
||||
|
||||
|
||||
func popup_remove_confirmation(what):
|
||||
|
||||
if $RemoveConfirmation.is_connected(
|
||||
"confirmed", self, "_on_RemoveConfirmation_confirmed"):
|
||||
$RemoveConfirmation.disconnect(
|
||||
"confirmed", self, "_on_RemoveConfirmation_confirmed")
|
||||
|
||||
|
||||
if what == "Theme" and len(DialogicUtil.get_theme_list()) == 1:
|
||||
print("[D] You cannot delete the last theme!")
|
||||
$RemoveConfirmation.dialog_text = DTS.translate("CantDeleteLastTheme")
|
||||
|
||||
else :
|
||||
var remove_text = DTS.translate("DeleteResourceText")
|
||||
$RemoveConfirmation.dialog_text = remove_text.replace("[resource]", what)
|
||||
$RemoveConfirmation.connect("confirmed", self, "_on_RemoveConfirmation_confirmed", [what])
|
||||
|
||||
|
||||
$RemoveConfirmation.popup_centered()
|
||||
|
||||
|
||||
func _on_RemoveFolderConfirmation_confirmed():
|
||||
var item_path = $MainPanel / MasterTreeContainer / MasterTree.get_item_path($MainPanel / MasterTreeContainer / MasterTree.get_selected())
|
||||
DialogicUtil.remove_folder(item_path)
|
||||
$MainPanel / MasterTreeContainer / MasterTree.build_full_tree()
|
||||
|
||||
|
||||
func _on_RemoveConfirmation_confirmed(what:String = ""):
|
||||
if what == "Timeline":
|
||||
var target = $MainPanel / TimelineEditor.timeline_file
|
||||
DialogicResources.delete_timeline(target)
|
||||
elif what == "GlossaryEntry":
|
||||
var target = $MainPanel / GlossaryEntryEditor.current_definition["id"]
|
||||
DialogicResources.delete_default_definition(target)
|
||||
elif what == "Value":
|
||||
var target = $MainPanel / ValueEditor.current_definition["id"]
|
||||
DialogicResources.delete_default_definition(target)
|
||||
elif what == "Theme":
|
||||
var filename = $MainPanel / MasterTreeContainer / MasterTree.get_selected().get_metadata(0)["file"]
|
||||
DialogicResources.delete_theme(filename)
|
||||
elif what == "Character":
|
||||
var filename = $MainPanel / CharacterEditor.opened_character_data["id"]
|
||||
DialogicResources.delete_character(filename)
|
||||
DialogicUtil.update_resource_folder_structure()
|
||||
$MainPanel / MasterTreeContainer / MasterTree.remove_selected()
|
||||
$MainPanel / MasterTreeContainer / MasterTree.hide_all_editors()
|
||||
|
||||
|
||||
|
||||
func godot_dialog(filter, mode = EditorFileDialog.MODE_OPEN_FILE):
|
||||
editor_file_dialog.mode = mode
|
||||
editor_file_dialog.clear_filters()
|
||||
editor_file_dialog.popup_centered_ratio(0.75)
|
||||
editor_file_dialog.add_filter(filter)
|
||||
return editor_file_dialog
|
||||
|
||||
|
||||
func godot_dialog_connect(who, method_name, signal_name = "file_selected"):
|
||||
|
||||
|
||||
|
||||
for test_signal in editor_file_dialog.get_signal_list():
|
||||
if not file_picker_data["node"] or not is_instance_valid(file_picker_data["node"]):
|
||||
continue
|
||||
|
||||
if editor_file_dialog.is_connected(
|
||||
test_signal.name,
|
||||
file_picker_data["node"],
|
||||
file_picker_data["method"]
|
||||
):
|
||||
editor_file_dialog.disconnect(
|
||||
test_signal.name,
|
||||
file_picker_data["node"],
|
||||
file_picker_data["method"]
|
||||
)
|
||||
|
||||
for new_signal_name in signal_name if typeof(signal_name) == TYPE_ARRAY else [signal_name]:
|
||||
editor_file_dialog.connect(new_signal_name, who, method_name, [who])
|
||||
|
||||
file_picker_data["method"] = method_name
|
||||
file_picker_data["node"] = who
|
Loading…
Add table
Add a link
Reference in a new issue