diff --git a/COPYRIGHTS.md b/COPYRIGHTS.md deleted file mode 100644 index 552eaa7..0000000 --- a/COPYRIGHTS.md +++ /dev/null @@ -1,49 +0,0 @@ -# Copyrights - -This document attributes the different components used to build the Time Sampling Form application (c) 2022 Jaap Marsman. - -## The engine: Godot - -This app uses Godot Engine, available under the following license: - -Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. Copyright (c) 2014-2022 Godot Engine contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -## Web Export (for Results) - -Uses code from the [HTML5-File-Exchange-for-Godot project](https://github.com/Pukkah/HTML5-File-Exchange-for-Godot). - -## Fonts - -Portions of this software are copyright © 2022 The FreeType Project (www.freetype.org). All rights reserved. - -The app uses the Noto Sans font family, for which the full Open Font License is available here. - -## Internet module Mbed TLS (as part of Godot) - -Copyright The Mbed TLS Contributors - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - -## Multiplayer module ENET (as part of Godot) - -Copyright (c) 2002-2020 Lee Salzman - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -## Attributions for art - -The classroom photograph used in the app is a no-attribution-required photograph from Pixabay, under the Pixabay License. The original link to the photograph is [here](https://pixabay.com/photos/classroom-chairs-tables-school-824120/). \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index ca3e242..0000000 --- a/LICENSE.md +++ /dev/null @@ -1 +0,0 @@ -Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. \ No newline at end of file diff --git a/README.md b/README.md index 3d8015c..40fbc5b 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,3 @@ -

- -

- # Time Sampling Form -A freeware and open source SEN-related observation tool. The web version is available here (now works on iPads too). - -## Manual - -For a detailed manual on how to use the Time Sampling Form, please go to this page on the ISENG website. - -## License & Attributions - -Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. - -For an overview of all underlying licences, copyrights and attributions, please see the [Copyrights document](COPYRIGHTS.md). +I have moved all code and future development to my self-hosted Gitea: [click here to view this repo there](https://gitea.defiantjc.synology.me/jaap/time-sampling-form). \ No newline at end of file diff --git a/design_files/colour_scheme.png b/design_files/colour_scheme.png deleted file mode 100644 index bbbf763..0000000 Binary files a/design_files/colour_scheme.png and /dev/null differ diff --git a/design_files/main_icon.afdesign b/design_files/main_icon.afdesign deleted file mode 100644 index a6f42b5..0000000 Binary files a/design_files/main_icon.afdesign and /dev/null differ diff --git a/design_files/main_icon.icns b/design_files/main_icon.icns deleted file mode 100644 index 470605e..0000000 Binary files a/design_files/main_icon.icns and /dev/null differ diff --git a/design_files/main_icon.png b/design_files/main_icon.png deleted file mode 100644 index c5b5cb1..0000000 Binary files a/design_files/main_icon.png and /dev/null differ diff --git a/design_files/main_icon_small.png b/design_files/main_icon_small.png deleted file mode 100644 index 7a550c0..0000000 Binary files a/design_files/main_icon_small.png and /dev/null differ diff --git a/design_files/main_icon_square.png b/design_files/main_icon_square.png deleted file mode 100644 index b3cc450..0000000 Binary files a/design_files/main_icon_square.png and /dev/null differ diff --git a/godot/Assets/fonts/noto_sans_display.ttf b/godot/Assets/fonts/noto_sans_display.ttf deleted file mode 100644 index 679878b..0000000 Binary files a/godot/Assets/fonts/noto_sans_display.ttf and /dev/null differ diff --git a/godot/Assets/fonts/noto_sans_display_bold.ttf b/godot/Assets/fonts/noto_sans_display_bold.ttf deleted file mode 100644 index 03af09d..0000000 Binary files a/godot/Assets/fonts/noto_sans_display_bold.ttf and /dev/null differ diff --git a/godot/Assets/icons/icon.ico b/godot/Assets/icons/icon.ico deleted file mode 100644 index 13aaacd..0000000 Binary files a/godot/Assets/icons/icon.ico and /dev/null differ diff --git a/godot/Assets/icons/main_icon.icns b/godot/Assets/icons/main_icon.icns deleted file mode 100644 index 470605e..0000000 Binary files a/godot/Assets/icons/main_icon.icns and /dev/null differ diff --git a/godot/Assets/icons/main_icon.png b/godot/Assets/icons/main_icon.png deleted file mode 100644 index c5b5cb1..0000000 Binary files a/godot/Assets/icons/main_icon.png and /dev/null differ diff --git a/godot/Assets/icons/main_icon_square.png b/godot/Assets/icons/main_icon_square.png deleted file mode 100644 index b3cc450..0000000 Binary files a/godot/Assets/icons/main_icon_square.png and /dev/null differ diff --git a/godot/Assets/photos/classroom-824120_1920.jpg b/godot/Assets/photos/classroom-824120_1920.jpg deleted file mode 100644 index feb9ab0..0000000 Binary files a/godot/Assets/photos/classroom-824120_1920.jpg and /dev/null differ diff --git a/godot/Assets/sample_text.md b/godot/Assets/sample_text.md deleted file mode 100644 index c748f41..0000000 --- a/godot/Assets/sample_text.md +++ /dev/null @@ -1,6 +0,0 @@ -Date: xx-xx-xxxx -Time: X to X - -This Time Sampling Form (TSF) observation was completed by %T. %S was observed for %time minutes during %AL. - -During the observation, OBS1 was observed x out of x times, resulting in xx%. OBS2 was observed x out of x times, resulting in xx%. OBS3 was observed x out of x times, resulting in xx%. OBS4 was observed x out of x times, resulting in xx%. OBS5 was observed x out of x times, resulting in xx%. \ No newline at end of file diff --git a/godot/EditScreen.gd b/godot/EditScreen.gd deleted file mode 100644 index e8d1814..0000000 --- a/godot/EditScreen.gd +++ /dev/null @@ -1,60 +0,0 @@ -extends CanvasLayer - -onready var gi = $"/root/GlobalInts" -onready var global_ints = gi -onready var main_window = $"../../AppWindow" - -func _ready(): - pass # Replace with function body. - - -func _on_CancelButton_pressed(): - main_window.refresh_descriptors() - $"%EditScreen".visible = false - - -func _on_OKButton_pressed(): - - global_ints.one_acronym = $"%1AcronymE".text - global_ints.two_acronym = $"%2AcronymE".text - global_ints.three_acronym = $"%3AcronymE".text - global_ints.four_acronym = $"%4AcronymE".text - global_ints.five_acronym = $"%5AcronymE".text - - global_ints.one_behaviour = $"%1ItemE".text - global_ints.two_behaviour = $"%2ItemE".text - global_ints.three_behaviour = $"%3ItemE".text - global_ints.four_behaviour = $"%4ItemE".text - global_ints.five_behaviour = $"%5ItemE".text - - global_ints.one_explanation = $"%1ExplanationE".text - global_ints.two_explanation = $"%2ExplanationE".text - global_ints.three_explanation = $"%3ExplanationE".text - global_ints.four_explanation = $"%4ExplanationE".text - global_ints.five_explanation = $"%5ExplanationE".text - - $"%EditScreen".visible = false - - main_window.refresh_descriptors() - - -func _on_ClearAll_pressed(): - $"%1AcronymE".text = "" - $"%1ItemE".text = "" - $"%1ExplanationE".text = "" - - $"%2AcronymE".text = "" - $"%2ItemE".text = "" - $"%2ExplanationE".text = "" - - $"%3AcronymE".text = "" - $"%3ItemE".text = "" - $"%3ExplanationE".text = "" - - $"%4AcronymE".text = "" - $"%4ItemE".text = "" - $"%4ExplanationE".text = "" - - $"%5AcronymE".text = "" - $"%5ItemE".text = "" - $"%5ExplanationE".text = "" diff --git a/godot/NameChangePanel.gd b/godot/NameChangePanel.gd deleted file mode 100644 index ab06a13..0000000 --- a/godot/NameChangePanel.gd +++ /dev/null @@ -1,16 +0,0 @@ -extends Panel - - -onready var global_ints = $"/root/GlobalInts" - - -func _on_OkButton_pressed(): - if $"%NameLine".text and $"NameContainer/ObserverLine".text and $"NameContainer/ObservedActivity".text != "": - $"%InstructionPanel".visible = true - $"%NameChangePanel".visible = false - global_ints.observed_person_name = $"%NameLine".text - global_ints.observer_person_name = $"NameContainer/ObserverLine".text - global_ints.observed_activity = $"NameContainer/ObservedActivity".text - else: - $"%ObservedNameLabel".visible = false - $"%WarningLabel".visible = true diff --git a/godot/ObservationWindow.gd b/godot/ObservationWindow.gd deleted file mode 100644 index 764e1b2..0000000 --- a/godot/ObservationWindow.gd +++ /dev/null @@ -1,133 +0,0 @@ -extends CanvasLayer - - -onready var global_ints = $"/root/GlobalInts" - - -var time_lefts : int -var toggle_observation : bool = false -var observation_button_pressed : bool = false - - -func _ready(): - $"Panel/BehaviourButtons".visible = false - pass - - -func _process(_delta): - time_lefts = $"TwentySecondTimer".time_left - $"Panel/TimeRemaining".text = str(time_lefts) - if time_lefts == 5 && toggle_observation == false: - print("We're at the five second mark!") - toggle_observation = true - $"Panel/BehaviourButtons".visible = true - - -func calculate_percentages(): - global_ints.total_observed_time = global_ints.total_behaviours / 3 - - global_ints.one_behaviour_percent = int((float(global_ints.one_behaviour_score) / global_ints.total_behaviours) * 100) - - global_ints.two_behaviour_percent = int((float(global_ints.two_behaviour_score) / global_ints.total_behaviours) * 100) - - global_ints.three_behaviour_percent = int((float(global_ints.three_behaviour_score) / global_ints.total_behaviours) * 100) - - global_ints.four_behaviour_percent = int((float(global_ints.four_behaviour_score) / global_ints.total_behaviours) * 100) - - global_ints.five_behaviour_percent = int((float(global_ints.five_behaviour_score) / global_ints.total_behaviours) * 100) - -func on_interval_moment(): - print("Timer reaches 0 - Let's check if buttons have been pressed and count something") - toggle_observation = false - # Otherwise - a 6 is registered (nothing selected) - # Buttons are to become visible again - global_ints.locked_observations_intervals_remaining -= 1 - global_ints.locked_observations_completed += 1 - $"Panel/BehaviourButtons".visible = false - - if observation_button_pressed == false: - global_ints.six_behaviour_score += 1 - global_ints.total_behaviours += 1 - - observation_button_pressed = false - - # The thing below here should become a graphic bar as well - $"Panel/DescriptorBox/ObservationsRemaining".text = str(global_ints.locked_observations_intervals_remaining) - - -func _on_TwentySecondTimer_timeout(): - if global_ints.locked_observations_intervals_remaining == 1: - on_interval_moment() - print("We're completely done - no intervals remain") - # So I should end the observation and move to the Results window. - - var obs_date_time = OS.get_time() - if obs_date_time.minute < 10: - global_ints.observation_end_time = str(obs_date_time.hour, ":0", obs_date_time.minute) - if obs_date_time.minute >= 10: - global_ints.observation_end_time = str(obs_date_time.hour, ":", obs_date_time.minute) - - - $"TwentySecondTimer".stop() - global_ints.generate_results = true - calculate_percentages() - $"../Results".visible = true - - if global_ints.locked_observations_intervals_remaining > 1: - on_interval_moment() - - -func _on_BehaviourOne_pressed(): - global_ints.one_behaviour_score += 1 - global_ints.total_behaviours += 1 - observation_button_pressed = true - $"Panel/BehaviourButtons".visible = false - print(str(global_ints.one_behaviour_score)) - - -func _on_BehaviourTwo_pressed(): - global_ints.two_behaviour_score += 1 - global_ints.total_behaviours += 1 - observation_button_pressed = true - $"Panel/BehaviourButtons".visible = false - - -func _on_BehaviourThree_pressed(): - global_ints.three_behaviour_score += 1 - global_ints.total_behaviours += 1 - observation_button_pressed = true - $"Panel/BehaviourButtons".visible = false - - -func _on_BehaviourFour_pressed(): - global_ints.four_behaviour_score += 1 - global_ints.total_behaviours += 1 - observation_button_pressed = true - $"Panel/BehaviourButtons".visible = false - - -func _on_BehaviourFive_pressed(): - global_ints.five_behaviour_score += 1 - global_ints.total_behaviours += 1 - observation_button_pressed = true - $"Panel/BehaviourButtons".visible = false - - -func _on_Button_pressed(): - on_interval_moment() - print("We're aborting, so deal with as completely done - no intervals remain") - - # This to set the original total count to what's actually been completed - global_ints.locked_observation_intervals = global_ints.locked_observations_completed - # So I should end the observation and move to the Results window. - - var obs_date_time = OS.get_time() - if obs_date_time.minute < 10: - global_ints.observation_end_time = str(obs_date_time.hour, ":0", obs_date_time.minute) - if obs_date_time.minute >= 10: - global_ints.observation_end_time = str(obs_date_time.hour, ":", obs_date_time.minute) - - $"TwentySecondTimer".stop() - global_ints.generate_results = true - calculate_percentages() - $"../Results".visible = true diff --git a/godot/ProgressBar.gd b/godot/ProgressBar.gd deleted file mode 100644 index acc1fc4..0000000 --- a/godot/ProgressBar.gd +++ /dev/null @@ -1,13 +0,0 @@ -extends ProgressBar - - -onready var global_ints = $"/root/GlobalInts" - - -func _ready(): - pass # Replace with function body. - - -func _process(_delta): - value = global_ints.locked_observations_intervals_remaining - max_value = global_ints.locked_observation_intervals diff --git a/godot/Results.gd b/godot/Results.gd deleted file mode 100644 index 10080e7..0000000 --- a/godot/Results.gd +++ /dev/null @@ -1,118 +0,0 @@ -extends CanvasLayer - - -onready var global_ints = $"/root/GlobalInts" - -var js_callback = JavaScript.create_callback(self, "load_handler"); -var js_interface; -var image : Image -var fileName : String = "results.png" - -func _ready(): - if OS.get_name() == "HTML5" and OS.has_feature('JavaScript'): - _define_js() - js_interface = JavaScript.get_interface("_HTML5FileExchange"); - - -func _define_js()->void: - #Define JS script - JavaScript.eval(""" - var _HTML5FileExchange = {}; - _HTML5FileExchange.upload = function(gd_callback) { - canceled = true; - var input = document.createElement('INPUT'); - input.setAttribute("type", "file"); - input.setAttribute("accept", "image/png, image/jpeg, image/webp"); - input.click(); - input.addEventListener('change', event => { - if (event.target.files.length > 0){ - canceled = false;} - var file = event.target.files[0]; - var reader = new FileReader(); - this.fileType = file.type; - // var fileName = file.name; - reader.readAsArrayBuffer(file); - reader.onloadend = (evt) => { // Since here's it's arrow function, "this" still refers to _HTML5FileExchange - if (evt.target.readyState == FileReader.DONE) { - this.result = evt.target.result; - gd_callback(); // It's hard to retrieve value from callback argument, so it's just for notification - } - } - }); - } - """, true) - - -func _process(_delta): -# $"%SaveReport".visible = true -# $"%BackMainMenu".visible = true - pass - -func _on_SaveReport_pressed(): - $"%SaveReport".visible = false - $"%BackMainMenu".visible = false - - print("I've disabled the buttons") - print("That means the screenshot SHOULD be button free") - - image = get_viewport().get_texture().get_data() - image.flip_y() - - if OS.get_name() == "HTML5" or OS.has_feature('JavaScript'): - # We're on the web - print("We're on the web") - - image.clear_mipmaps() - var buffer = image.save_png_to_buffer() - JavaScript.download_buffer(buffer, fileName) - - if OS.get_name() != "HTML5" or !OS.has_feature('JavaScript'): - # We're not on the web - print("We're not on the web") - - var docs = OS.get_environment("HOME") + "/Documents" - - var title = str(docs + "/results",global_ints.observed_person_name, global_ints.observation_minutes,".png") - - print(title) - - var _saveimage = image.save_png(title) - - if OS.get_name() != "OSX": - print("We're not on MacOS") - var _openfolder = OS.shell_open(docs) - - if OS.get_name() == "OSX": - print("We're on MacOS") - - var _openfolder = OS.shell_open("file://" + docs) - - $"%SaveReport".visible = true - $"%BackMainMenu".visible = true - -func _on_BackMainMenu_pressed(): - global_ints.reset_all_vars() - var _ignore = get_tree().reload_current_scene() - - -func _on_Results_visibility_changed(): - if global_ints.generate_results == true: - global_ints.generate_results = false - - var result_text : String - - result_text = str("Date: " , global_ints.ddmmyyyy , "\nTime: ", global_ints.observation_start_time , " to " , global_ints.observation_end_time , "\n \nThis Time Sampling Form (TSF) observation was completed by " , global_ints.observer_person_name , ". " , global_ints.observed_person_name , " was observed for " , global_ints.total_observed_time , " minute(s) during " , global_ints.observed_activity , ". \n \nDuring the observation, The ", global_ints.one_behaviour," behaviour was observed ", global_ints.one_behaviour_score, " out of ",global_ints.total_behaviours," times, resulting in ",global_ints.one_behaviour_percent,"%. The ",global_ints.two_behaviour," behaviour was observed ",global_ints.two_behaviour_score," out of ",global_ints.total_behaviours," times, resulting in ",global_ints.two_behaviour_percent,"%. The ",global_ints.three_behaviour," behaviour was observed ",global_ints.three_behaviour_score," out of ",global_ints.total_behaviours," times, resulting in ",global_ints.three_behaviour_percent,"%. The ", global_ints.four_behaviour," behaviour was observed ",global_ints.four_behaviour_score," out of ",global_ints.total_behaviours," times, resulting in ",global_ints.four_behaviour_percent,"%. The ",global_ints.five_behaviour," behaviour was observed ",global_ints.five_behaviour_score," out of ",global_ints.total_behaviours," times, resulting in ",global_ints.five_behaviour_percent,"%. ",global_ints.six_behaviour_score," intervals were not scored.") - $"%FullResult".text = result_text - - # This is where we generate the bars - - $"%ObsBar1".max_value = global_ints.total_behaviours - $"%ObsBar1".value = global_ints.one_behaviour_score - $"%ObsBar2".max_value = global_ints.total_behaviours - $"%ObsBar2".value = global_ints.two_behaviour_score - $"%ObsBar3".max_value = global_ints.total_behaviours - $"%ObsBar3".value = global_ints.three_behaviour_score - $"%ObsBar4".max_value = global_ints.total_behaviours - $"%ObsBar4".value = global_ints.four_behaviour_score - $"%ObsBar5".max_value = global_ints.total_behaviours - $"%ObsBar5".value = global_ints.five_behaviour_score diff --git a/godot/TimerBar.gd b/godot/TimerBar.gd deleted file mode 100644 index a59ec12..0000000 --- a/godot/TimerBar.gd +++ /dev/null @@ -1,14 +0,0 @@ -extends ProgressBar - - -onready var global_ints = $"/root/GlobalInts" - -var time_lefts : int - -func _ready(): - pass - - -func _process(_delta): - time_lefts = $"%TwentySecondTimer".time_left - value = time_lefts diff --git a/godot/addons/HTML5FileExchange/HTML5FileExchange.gd b/godot/addons/HTML5FileExchange/HTML5FileExchange.gd deleted file mode 100644 index 637356c..0000000 --- a/godot/addons/HTML5FileExchange/HTML5FileExchange.gd +++ /dev/null @@ -1,80 +0,0 @@ -extends Node - -signal read_completed -signal load_completed(image) - -var js_callback = JavaScript.create_callback(self, "load_handler"); -var js_interface; - -func _ready(): - if OS.get_name() == "HTML5" and OS.has_feature('JavaScript'): - _define_js() - js_interface = JavaScript.get_interface("_HTML5FileExchange"); - -func _define_js()->void: - #Define JS script - JavaScript.eval(""" - var _HTML5FileExchange = {}; - _HTML5FileExchange.upload = function(gd_callback) { - canceled = true; - var input = document.createElement('INPUT'); - input.setAttribute("type", "file"); - input.setAttribute("accept", "image/png, image/jpeg, image/webp"); - input.click(); - input.addEventListener('change', event => { - if (event.target.files.length > 0){ - canceled = false;} - var file = event.target.files[0]; - var reader = new FileReader(); - this.fileType = file.type; - // var fileName = file.name; - reader.readAsArrayBuffer(file); - reader.onloadend = (evt) => { // Since here's it's arrow function, "this" still refers to _HTML5FileExchange - if (evt.target.readyState == FileReader.DONE) { - this.result = evt.target.result; - gd_callback(); // It's hard to retrieve value from callback argument, so it's just for notification - } - } - }); - } - """, true) - -func load_handler(_args): - emit_signal("read_completed") - -func load_image(): - if OS.get_name() != "HTML5" or !OS.has_feature('JavaScript'): - return - - js_interface.upload(js_callback); - - yield(self, "read_completed") - - var imageType = js_interface.fileType; - var imageData = JavaScript.eval("_HTML5FileExchange.result", true) # interface doesn't work as expected for some reason - - var image = Image.new() - var image_error - match imageType: - "image/png": - image_error = image.load_png_from_buffer(imageData) - "image/jpeg": - image_error = image.load_jpg_from_buffer(imageData) - "image/webp": - image_error = image.load_webp_from_buffer(imageData) - var invalidType: - print("Unsupported file format - %s." % invalidType) - return - - if image_error: - print("An error occurred while trying to display the image.") - - emit_signal("load_completed", image) - -func save_image(image:Image, fileName:String = "export.png")->void: - if OS.get_name() != "HTML5" or !OS.has_feature('JavaScript'): - return - - image.clear_mipmaps() - var buffer = image.save_png_to_buffer() - JavaScript.download_buffer(buffer, fileName) diff --git a/godot/addons/HTML5FileExchange/plugin.cfg b/godot/addons/HTML5FileExchange/plugin.cfg deleted file mode 100644 index 1354542..0000000 --- a/godot/addons/HTML5FileExchange/plugin.cfg +++ /dev/null @@ -1,15 +0,0 @@ -[plugin] - -name="HTML5 File Exchange" -description="Open/Import and Save/Export files in HTML5 environment. -Supported input - *.png, *.jpeg, *.webp -Supported output - *.png - -Usage: -Get file from User - -var image:Image = yield(HTML5File.get_image(), \"completed\") -Send file to User - -HTML5File.save_image(image:Image, fileName:String = \"export\")" -author="laame" -version="0.1.1" -script="plugin.gd" diff --git a/godot/addons/HTML5FileExchange/plugin.gd b/godot/addons/HTML5FileExchange/plugin.gd deleted file mode 100644 index 2d9467f..0000000 --- a/godot/addons/HTML5FileExchange/plugin.gd +++ /dev/null @@ -1,10 +0,0 @@ -tool -extends EditorPlugin - - -func _enter_tree(): - add_autoload_singleton("HTML5File", "res://addons/HTML5FileExchange/HTML5FileExchange.gd") - - -func _exit_tree(): - remove_autoload_singleton("HTML5File") diff --git a/godot/default_env.tres b/godot/default_env.tres deleted file mode 100644 index 20207a4..0000000 --- a/godot/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="ProceduralSky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) diff --git a/godot/global_ints.gd b/godot/global_ints.gd deleted file mode 100644 index 6cf743d..0000000 --- a/godot/global_ints.gd +++ /dev/null @@ -1,120 +0,0 @@ -extends Node - -var date -var ddmmyyyy - -var web_release_version : float -var release_version = 0.15 - -var total_observed_time : int - -var timer_duration : int = 20 - -var observation_minutes : int = 10 - -var observation_start_time : String -var observation_end_time : String - -var generate_results : bool = false - -var observed_person_name : String -var observer_person_name : String -var observed_activity : String - -var locked_observation_minutes : int -var locked_observation_intervals : int -var locked_observations_intervals_remaining : int -var locked_observations_completed : int - -var one_acronym = "OnT" -var two_acronym = "Loo" -var three_acronym = "Dis" -var four_acronym = "Wal" -var five_acronym = "Oth" -var six_acronym = "Emp" - -var one_behaviour = "On Task" -var two_behaviour = "Looking" -var three_behaviour = "Distracting" -var four_behaviour = "Walking" -var five_behaviour = "Other" -var six_behaviour = "Empty" - -var one_explanation = "The pupil is on task" -var two_explanation = "The pupil is looking around in a distracted manner or is staring into the distance" -var three_explanation = "The pupil is distracting other pupils or talking to them" -var four_explanation = "The pupil is walking through the class" -var five_explanation = "The pupil is otherwise distracted and not on task" -var six_explanation = "No answer was selected for this round" - -var total_behaviours : int -var one_behaviour_score : int -var two_behaviour_score : int -var three_behaviour_score : int -var four_behaviour_score : int -var five_behaviour_score : int -var six_behaviour_score : int - -var one_behaviour_percent : float -var two_behaviour_percent : float -var three_behaviour_percent : float -var four_behaviour_percent : float -var five_behaviour_percent : float - -func reset_all_vars(): - observation_minutes = 15 - - generate_results = false - - observed_person_name = "" - observer_person_name = "" - observed_activity = "" - - locked_observation_minutes = 0 - locked_observation_intervals = 0 - locked_observations_intervals_remaining = 0 - locked_observations_completed = 0 - - one_acronym = "OnT" - two_acronym = "Loo" - three_acronym = "Dis" - four_acronym = "Wal" - five_acronym = "Oth" - six_acronym = "Emp" - - one_behaviour = "On Task" - two_behaviour = "Looking" - three_behaviour = "Distracting" - four_behaviour = "Walking" - five_behaviour = "Other" - six_behaviour = "Empty" - - one_explanation = "The pupil is on task" - two_explanation = "The pupil is looking around in a distracted manner or is staring into the distance" - three_explanation = "The pupil is distracting other pupils or talking to them" - four_explanation = "The pupil is walking through the class" - five_explanation = "The pupil is otherwise distracted and not on task" - six_explanation = "No answer was selected for this round" - - total_behaviours = 0 - one_behaviour_score = 0 - two_behaviour_score = 0 - three_behaviour_score = 0 - four_behaviour_score = 0 - five_behaviour_score = 0 - six_behaviour_score = 0 - - one_behaviour_percent = 0.0 - two_behaviour_percent = 0.0 - three_behaviour_percent = 0.0 - four_behaviour_percent = 0.0 - five_behaviour_percent = 0.0 - - observation_start_time = "" - observation_end_time = "" - - date = "" - - ddmmyyyy = "" - - total_observed_time = 0 diff --git a/godot/icon.png b/godot/icon.png deleted file mode 100644 index c98fbb6..0000000 Binary files a/godot/icon.png and /dev/null differ diff --git a/godot/main_screen.gd b/godot/main_screen.gd deleted file mode 100644 index a55fe67..0000000 --- a/godot/main_screen.gd +++ /dev/null @@ -1,185 +0,0 @@ -extends CanvasLayer - - -var date_time -var check_time_var : int -var ddmmyyyy : String -var date -var csv_url = "https://raw.githubusercontent.com/hobbesjaap/time-sampling-form/main/version_info.csv" -var update_text_url = "https://raw.githubusercontent.com/hobbesjaap/time-sampling-form/main/updater/update_text.md" -var update_text : String - - -onready var date_time_display = $"%CurrentTime" -onready var global_ints = $"/root/GlobalInts" -onready var minute_label = $"StartScreen/InstructionPanel/MinuteBox/MinuteLabel" - - -func check_for_updates(): - var os_check : String - os_check = OS.get_name() - print(os_check) - if os_check == "X11" and "Windows" and "OSX": - print("We're on desktop. So let's check for updates!") - $"%HTTPRequest".request(csv_url) - $"%HTTPRequest2".request(update_text_url) - - -func _on_HTTPRequest_request_completed(_result, _response_code, _headers, body): - var json = JSON.parse(body.get_string_from_utf8()) - global_ints.web_release_version = json.result - if global_ints.web_release_version > global_ints.release_version: - print("There's an update!") - $"%UpdatePanel".visible = true - $"%UpdateText".text = str(update_text) - $"%UpdateIntro".text = str("You are currently using version ",global_ints.release_version,". The latest version available is ",global_ints.web_release_version,".") - - -func _on_HTTPRequest2_request_completed(_result, _response_code, _headers, _body): -# Need to find a way to load .txt file contents from a URL into a label. This to show what the update changes are. -# var json = JSON.parse(body.get_string_from_utf8()) -# update_text = str(json.result) - pass - - -func refresh_descriptors(): - $"%1Acronym".text = global_ints.one_acronym - $"%1AcronymE".text = $"%1Acronym".text - $"%2Acronym".text = global_ints.two_acronym - $"%2AcronymE".text = $"%2Acronym".text - $"%3Acronym".text = global_ints.three_acronym - $"%3AcronymE".text = $"%3Acronym".text - $"%4Acronym".text = global_ints.four_acronym - $"%4AcronymE".text = $"%4Acronym".text - $"%5Acronym".text = global_ints.five_acronym - $"%5AcronymE".text = $"%5Acronym".text - $"%1Item".text = global_ints.one_behaviour - $"%1ItemE".text = $"%1Item".text - $"%2Item".text = global_ints.two_behaviour - $"%2ItemE".text = $"%2Item".text - $"%3Item".text = global_ints.three_behaviour - $"%3ItemE".text = $"%3Item".text - $"%4Item".text = global_ints.four_behaviour - $"%4ItemE".text = $"%4Item".text - $"%5Item".text = global_ints.five_behaviour - $"%5ItemE".text = $"%5Item".text - $"%1Explanation".text = global_ints.one_explanation - $"%1ExplanationE".text = $"%1Explanation".text - $"%2Explanation".text = global_ints.two_explanation - $"%2ExplanationE".text = $"%2Explanation".text - $"%3Explanation".text = global_ints.three_explanation - $"%3ExplanationE".text = $"%3Explanation".text - $"%4Explanation".text = global_ints.four_explanation - $"%4ExplanationE".text = $"%4Explanation".text - $"%5Explanation".text = global_ints.five_explanation - $"%5ExplanationE".text = $"%5Explanation".text - -func _ready(): - minute_label.text = str(global_ints.observation_minutes) - global_ints.observed_person_name = "" - refresh_descriptors() - $"StartScreen".visible = true - $"%NameChangePanel".visible = true - $"%InstructionScreen".visible = true - $"%WarningLabel".visible = false - $"ObservationWindow".visible = false - $"Results".visible = false - $"EditScreen".visible = false - $"%UpdatePanel".visible = false - - global_ints.date = OS.get_date() - global_ints.ddmmyyyy = str(global_ints.date.day, "-", global_ints.date.month, "-", global_ints.date.year) - - check_for_updates() - -func _process(_delta): - check_time_var += 1 - - if check_time_var == 10: - check_time_var = 0 - date_time = OS.get_time() - if date_time.minute < 10: - date_time_display.text = str(date_time.hour, ":0", date_time.minute) - if date_time.minute >= 10: - date_time_display.text = str(date_time.hour, ":", date_time.minute) - - -func _on_MinuteMinus_pressed(): - if global_ints.observation_minutes >= 2: - global_ints.observation_minutes -= 1 - minute_label.text = str(global_ints.observation_minutes) - - -func _on_MinutePlus_pressed(): - if global_ints.observation_minutes < 60: - global_ints.observation_minutes += 1 - minute_label.text = str(global_ints.observation_minutes) - - -func _on_Manual_pressed(): - var _error = OS.shell_open("https://www.internationalsengroup.org/resources/time-sampling-form/") - - -func _on_PupilName_pressed(): - $"%NameLine".text = global_ints.observed_person_name - $"%InstructionPanel".visible = false - $"%NameChangePanel".visible = true - - -func _on_Start_pressed(): - $"StartScreen".visible = false - refresh_descriptors() - $"ObservationWindow".visible = true - $"%BehaviourOne".text = global_ints.one_acronym - $"%BehaviourTwo".text = global_ints.two_acronym - $"%BehaviourThree".text = global_ints.three_acronym - $"%BehaviourFour".text = global_ints.four_acronym - $"%BehaviourFive".text = global_ints.five_acronym - $"%BTitle1".text = global_ints.one_behaviour - $"%BTitle2".text = global_ints.two_behaviour - $"%BTitle3".text = global_ints.three_behaviour - $"%BTitle4".text = global_ints.four_behaviour - $"%BTitle5".text = global_ints.five_behaviour - $"%ObsTitle1".text = global_ints.one_behaviour - $"%ObsTitle2".text = global_ints.two_behaviour - $"%ObsTitle3".text = global_ints.three_behaviour - $"%ObsTitle4".text = global_ints.four_behaviour - $"%ObsTitle5".text = global_ints.five_behaviour - - global_ints.locked_observation_minutes = global_ints.observation_minutes - global_ints.locked_observation_intervals = global_ints.locked_observation_minutes * 3 - global_ints.locked_observations_intervals_remaining = global_ints.locked_observation_intervals - - $"%ObservationsTotal".text = str(global_ints.locked_observation_intervals) - $"%ObservationsRemaining".text = str(global_ints.locked_observations_intervals_remaining) - - var obs_date_time = OS.get_time() - if obs_date_time.minute < 10: - global_ints.observation_start_time = str(obs_date_time.hour, ":0", obs_date_time.minute) - if obs_date_time.minute >= 10: - global_ints.observation_start_time = str(obs_date_time.hour, ":", obs_date_time.minute) - - $"%TwentySecondTimer".start(global_ints.timer_duration) - - -func _on_ChangeItems_pressed(): - $"EditScreen".visible = true - - -func _on_InsOkButton_pressed(): - $"%InstructionScreen".visible = false - - -func _on_MinuteMinus_button_down(): -# if global_ints.observation_minutes >= 2: -# global_ints.observation_minutes -= 1 -# minute_label.text = str(global_ints.observation_minutes) - pass - - -func _on_GoToUpdate_pressed(): - var _error = OS.shell_open("https://github.com/hobbesjaap/time-sampling-form/releases") - - -func _on_IgnoreUpdate_pressed(): - $"%UpdatePanel".visible = false diff --git a/godot/main_screen.tscn b/godot/main_screen.tscn deleted file mode 100644 index 6179faf..0000000 --- a/godot/main_screen.tscn +++ /dev/null @@ -1,1309 +0,0 @@ -[gd_scene load_steps=24 format=2] - -[ext_resource path="res://wb_theme.tres" type="Theme" id=1] -[ext_resource path="res://main_screen.gd" type="Script" id=2] -[ext_resource path="res://Assets/photos/classroom-824120_1920.jpg" type="Texture" id=3] -[ext_resource path="res://NameChangePanel.gd" type="Script" id=4] -[ext_resource path="res://Assets/fonts/noto_sans_display.ttf" type="DynamicFontData" id=5] -[ext_resource path="res://Assets/fonts/noto_sans_display_bold.ttf" type="DynamicFontData" id=6] -[ext_resource path="res://ObservationWindow.gd" type="Script" id=7] -[ext_resource path="res://EditScreen.gd" type="Script" id=8] -[ext_resource path="res://Results.gd" type="Script" id=9] -[ext_resource path="res://TimerBar.gd" type="Script" id=10] -[ext_resource path="res://ProgressBar.gd" type="Script" id=11] -[ext_resource path="res://Assets/icons/main_icon.png" type="Texture" id=12] - -[sub_resource type="StyleBoxFlat" id=2] -bg_color = Color( 0.952941, 0.933333, 0.847059, 1 ) - -[sub_resource type="StyleBoxFlat" id=1] -bg_color = Color( 1, 1, 1, 1 ) -shadow_offset = Vector2( 0, 4 ) - -[sub_resource type="DynamicFont" id=4] -font_data = ExtResource( 5 ) - -[sub_resource type="DynamicFont" id=5] -size = 24 -font_data = ExtResource( 6 ) - -[sub_resource type="DynamicFont" id=6] -size = 32 -font_data = ExtResource( 6 ) - -[sub_resource type="StyleBoxFlat" id=7] -bg_color = Color( 1, 1, 1, 1 ) -corner_radius_top_left = 50 -corner_radius_top_right = 50 - -[sub_resource type="StyleBoxFlat" id=10] -bg_color = Color( 0.941176, 0.772549, 0.517647, 1 ) - -[sub_resource type="StyleBoxFlat" id=11] -bg_color = Color( 0.862745, 0.435294, 0.329412, 1 ) - -[sub_resource type="StyleBoxFlat" id=8] -bg_color = Color( 1, 1, 1, 1 ) - -[sub_resource type="DynamicFont" id=9] -font_data = ExtResource( 5 ) - -[sub_resource type="DynamicFont" id=12] -size = 18 -font_data = ExtResource( 5 ) - -[node name="AppWindow" type="CanvasLayer"] -script = ExtResource( 2 ) - -[node name="Background" type="Panel" parent="."] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -custom_styles/panel = SubResource( 2 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="HTTPRequest" type="HTTPRequest" parent="."] -unique_name_in_owner = true - -[node name="HTTPRequest2" type="HTTPRequest" parent="."] -unique_name_in_owner = true - -[node name="ClassroomPhoto" type="Sprite" parent="."] -visible = false -position = Vector2( 639.9, 201.694 ) -scale = Vector2( 0.665729, 0.665729 ) -texture = ExtResource( 3 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="StartScreen" type="CanvasLayer" parent="."] - -[node name="InstructionPanel" type="Panel" parent="StartScreen"] -unique_name_in_owner = true -visible = false -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -640.0 -margin_top = -289.0 -margin_right = 640.0 -margin_bottom = 359.0 -custom_styles/panel = SubResource( 1 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="MinuteBox" type="HBoxContainer" parent="StartScreen/InstructionPanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -53.5 -margin_top = -159.0 -margin_right = 53.5 -margin_bottom = -119.0 - -[node name="MinuteMinus" type="Button" parent="StartScreen/InstructionPanel/MinuteBox"] -margin_right = 43.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "-" -__meta__ = { -"_edit_lock_": true -} - -[node name="MinuteLabel" type="Label" parent="StartScreen/InstructionPanel/MinuteBox"] -margin_left = 47.0 -margin_top = 3.0 -margin_right = 60.0 -margin_bottom = 37.0 -theme = ExtResource( 1 ) -text = "1" -__meta__ = { -"_edit_lock_": true -} - -[node name="MinutePlus" type="Button" parent="StartScreen/InstructionPanel/MinuteBox"] -margin_left = 64.0 -margin_right = 107.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "+" -__meta__ = { -"_edit_lock_": true -} - -[node name="CurrentTime" type="Label" parent="StartScreen/InstructionPanel"] -unique_name_in_owner = true -margin_left = 1196.0 -margin_top = 506.0 -margin_right = 1275.0 -margin_bottom = 529.0 -custom_colors/font_color = Color( 0, 0, 0, 1 ) -custom_fonts/font = SubResource( 4 ) -text = "99:99" -align = 2 - -[node name="MinuteExplanation" type="Label" parent="StartScreen/InstructionPanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -322.5 -margin_top = -197.0 -margin_right = 322.5 -margin_bottom = -163.0 -theme = ExtResource( 1 ) -text = "How long will you observe for? (in minutes)" -align = 1 - -[node name="ObservationItemsTitle" type="Label" parent="StartScreen/InstructionPanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -102.5 -margin_top = -97.0 -margin_right = 102.5 -margin_bottom = -63.0 -theme = ExtResource( 1 ) -custom_fonts/font = SubResource( 5 ) -text = "Observation Items" - -[node name="Title" type="Label" parent="StartScreen/InstructionPanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -172.5 -margin_top = -250.0 -margin_right = 172.5 -margin_bottom = -200.0 -custom_colors/font_color = Color( 0, 0, 0, 1 ) -custom_fonts/font = SubResource( 6 ) -text = "Time Sampling Form" -align = 1 - -[node name="BottomButtons" type="HBoxContainer" parent="StartScreen/InstructionPanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -500.0 -margin_top = 180.0 -margin_right = 500.0 -margin_bottom = 240.0 - -[node name="Manual" type="Button" parent="StartScreen/InstructionPanel/BottomButtons"] -margin_right = 247.0 -margin_bottom = 60.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "Manual" - -[node name="ChangeItems" type="Button" parent="StartScreen/InstructionPanel/BottomButtons"] -margin_left = 251.0 -margin_right = 498.0 -margin_bottom = 60.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "Edit Items" - -[node name="PupilName" type="Button" parent="StartScreen/InstructionPanel/BottomButtons"] -margin_left = 502.0 -margin_right = 749.0 -margin_bottom = 60.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "Edit Names" - -[node name="Start" type="Button" parent="StartScreen/InstructionPanel/BottomButtons"] -margin_left = 753.0 -margin_right = 1000.0 -margin_bottom = 60.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "Start" - -[node name="GridObservations" type="GridContainer" parent="StartScreen/InstructionPanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -589.0 -margin_top = -57.0 -margin_right = 603.0 -margin_bottom = 167.0 -columns = 3 - -[node name="AcronymLabel" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_right = 96.0 -margin_bottom = 34.0 -theme = ExtResource( 1 ) -text = "Acronym" -__meta__ = { -"_edit_lock_": true -} - -[node name="DescriptorLabel" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_right = 218.0 -margin_bottom = 34.0 -theme = ExtResource( 1 ) -text = "Descriptor" -__meta__ = { -"_edit_lock_": true -} - -[node name="ExplanationLabel" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 222.0 -margin_right = 1088.0 -margin_bottom = 34.0 -theme = ExtResource( 1 ) -text = "Explanation" -__meta__ = { -"_edit_lock_": true -} - -[node name="1Acronym" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_top = 38.0 -margin_right = 96.0 -margin_bottom = 72.0 -theme = ExtResource( 1 ) -text = "OnT" -__meta__ = { -"_edit_lock_": true -} - -[node name="1Item" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 38.0 -margin_right = 218.0 -margin_bottom = 72.0 -theme = ExtResource( 1 ) -text = "On Task" -__meta__ = { -"_edit_lock_": true -} - -[node name="1Explanation" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 222.0 -margin_top = 38.0 -margin_right = 1088.0 -margin_bottom = 72.0 -theme = ExtResource( 1 ) -text = "The pupil is on task" -__meta__ = { -"_edit_lock_": true -} - -[node name="2Acronym" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_top = 76.0 -margin_right = 96.0 -margin_bottom = 110.0 -theme = ExtResource( 1 ) -text = "Loo" -__meta__ = { -"_edit_lock_": true -} - -[node name="2Item" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 76.0 -margin_right = 218.0 -margin_bottom = 110.0 -theme = ExtResource( 1 ) -text = "Looking" -__meta__ = { -"_edit_lock_": true -} - -[node name="2Explanation" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 222.0 -margin_top = 76.0 -margin_right = 1088.0 -margin_bottom = 110.0 -theme = ExtResource( 1 ) -text = " The pupil is looking around in a distracted manner or is staring into the distance" -__meta__ = { -"_edit_lock_": true -} - -[node name="3Acronym" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_top = 114.0 -margin_right = 96.0 -margin_bottom = 148.0 -theme = ExtResource( 1 ) -text = "Dis" -__meta__ = { -"_edit_lock_": true -} - -[node name="3Item" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 114.0 -margin_right = 218.0 -margin_bottom = 148.0 -theme = ExtResource( 1 ) -text = "Distracting" -__meta__ = { -"_edit_lock_": true -} - -[node name="3Explanation" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 222.0 -margin_top = 114.0 -margin_right = 1088.0 -margin_bottom = 148.0 -theme = ExtResource( 1 ) -text = "The pupil is distracting other pupils or talking to them" -__meta__ = { -"_edit_lock_": true -} - -[node name="4Acronym" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_top = 152.0 -margin_right = 96.0 -margin_bottom = 186.0 -theme = ExtResource( 1 ) -text = "Wal" -__meta__ = { -"_edit_lock_": true -} - -[node name="4Item" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 152.0 -margin_right = 218.0 -margin_bottom = 186.0 -theme = ExtResource( 1 ) -text = "Walking" -__meta__ = { -"_edit_lock_": true -} - -[node name="4Explanation" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 222.0 -margin_top = 152.0 -margin_right = 1088.0 -margin_bottom = 186.0 -theme = ExtResource( 1 ) -text = "The pupil is walking through the class" -__meta__ = { -"_edit_lock_": true -} - -[node name="5Acronym" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_top = 190.0 -margin_right = 96.0 -margin_bottom = 224.0 -theme = ExtResource( 1 ) -text = "Oth" -__meta__ = { -"_edit_lock_": true -} - -[node name="5Item" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 190.0 -margin_right = 218.0 -margin_bottom = 224.0 -theme = ExtResource( 1 ) -text = "Other" -__meta__ = { -"_edit_lock_": true -} - -[node name="5Explanation" type="Label" parent="StartScreen/InstructionPanel/GridObservations"] -unique_name_in_owner = true -margin_left = 222.0 -margin_top = 190.0 -margin_right = 1088.0 -margin_bottom = 224.0 -theme = ExtResource( 1 ) -text = "The pupil is otherwise distracted and not on task" -__meta__ = { -"_edit_lock_": true -} - -[node name="NameChangePanel" type="Panel" parent="StartScreen"] -unique_name_in_owner = true -visible = false -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -640.0 -margin_top = -289.0 -margin_right = 640.0 -margin_bottom = 359.0 -custom_styles/panel = SubResource( 1 ) -script = ExtResource( 4 ) - -[node name="NameContainer" type="VBoxContainer" parent="StartScreen/NameChangePanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -269.0 -margin_top = -210.0 -margin_right = 270.0 -margin_bottom = 237.0 - -[node name="ObservedNameLabel" type="Label" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_right = 539.0 -margin_bottom = 34.0 -theme = ExtResource( 1 ) -text = "Who are you observing? (First name)" - -[node name="WarningLabel" type="Label" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_top = 38.0 -margin_right = 539.0 -margin_bottom = 72.0 -theme = ExtResource( 1 ) -text = "You must complete all fields below!" - -[node name="NameLine" type="LineEdit" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_top = 76.0 -margin_right = 539.0 -margin_bottom = 110.0 -theme = ExtResource( 1 ) - -[node name="ObserverName" type="Label" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_top = 114.0 -margin_right = 539.0 -margin_bottom = 148.0 -theme = ExtResource( 1 ) -text = "What is your name?" - -[node name="ObserverLine" type="LineEdit" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_top = 152.0 -margin_right = 539.0 -margin_bottom = 186.0 -theme = ExtResource( 1 ) - -[node name="ObserverName2" type="Label" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_top = 190.0 -margin_right = 539.0 -margin_bottom = 224.0 -theme = ExtResource( 1 ) -text = "What Activity/Lesson are you observing?" - -[node name="ObservedActivity" type="LineEdit" parent="StartScreen/NameChangePanel/NameContainer"] -unique_name_in_owner = true -margin_top = 228.0 -margin_right = 539.0 -margin_bottom = 262.0 -theme = ExtResource( 1 ) - -[node name="OkButton" type="Button" parent="StartScreen/NameChangePanel/NameContainer"] -margin_top = 266.0 -margin_right = 539.0 -margin_bottom = 300.0 -theme = ExtResource( 1 ) -text = "OK" - -[node name="InstructionScreen" type="Panel" parent="StartScreen"] -unique_name_in_owner = true -visible = false -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -640.0 -margin_top = -289.0 -margin_right = 640.0 -margin_bottom = 359.0 -custom_styles/panel = SubResource( 1 ) -script = ExtResource( 4 ) - -[node name="InstructionContainer" type="VBoxContainer" parent="StartScreen/InstructionScreen"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -384.0 -margin_top = -124.5 -margin_right = 386.0 -margin_bottom = 290.5 - -[node name="MainIcon" type="Sprite" parent="StartScreen/InstructionScreen/InstructionContainer"] -position = Vector2( 384, -160 ) -scale = Vector2( 0.2, 0.2 ) -texture = ExtResource( 12 ) - -[node name="Instructions" type="Label" parent="StartScreen/InstructionScreen/InstructionContainer"] -margin_right = 770.0 -margin_bottom = 367.0 -theme = ExtResource( 1 ) -text = "The Time Sampling Form is a guided observation tool. You set the length of your observation in minutes. - -Every 20 seconds you will click the button that corresponds with the behaviour you see at that time. The buttons to select the observed behaviour will be visible in the final 5 seconds of each 20 second interval. - -For first time users: It is recommended to do a one minute trial to gain an understanding of the system. I hope you find this tool useful!" -autowrap = true -__meta__ = { -"_edit_lock_": true -} - -[node name="InsOkButton" type="Button" parent="StartScreen/InstructionScreen/InstructionContainer"] -margin_top = 371.0 -margin_right = 770.0 -margin_bottom = 405.0 -theme = ExtResource( 1 ) -text = "OK" -__meta__ = { -"_edit_lock_": true -} - -[node name="UpdatePanel" type="Panel" parent="StartScreen"] -unique_name_in_owner = true -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -640.0 -margin_top = -289.0 -margin_right = 640.0 -margin_bottom = 359.0 -custom_styles/panel = SubResource( 1 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="Update" type="Label" parent="StartScreen/UpdatePanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -172.5 -margin_top = -250.0 -margin_right = 172.5 -margin_bottom = -200.0 -custom_colors/font_color = Color( 0, 0, 0, 1 ) -custom_fonts/font = SubResource( 6 ) -text = "An Update is available!" -align = 1 - -[node name="BottomButtons" type="HBoxContainer" parent="StartScreen/UpdatePanel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -500.0 -margin_top = 180.0 -margin_right = 500.0 -margin_bottom = 240.0 - -[node name="GoToUpdate" type="Button" parent="StartScreen/UpdatePanel/BottomButtons"] -margin_right = 498.0 -margin_bottom = 60.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "Go to Download Page" - -[node name="IgnoreUpdate" type="Button" parent="StartScreen/UpdatePanel/BottomButtons"] -unique_name_in_owner = true -margin_left = 502.0 -margin_right = 1000.0 -margin_bottom = 60.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "Ignore Update" - -[node name="UpdateIntro" type="Label" parent="StartScreen/UpdatePanel"] -unique_name_in_owner = true -margin_left = 33.0 -margin_top = 120.0 -margin_right = 1249.0 -margin_bottom = 161.0 -theme = ExtResource( 1 ) -text = "You are currently using version XX. The latest version available is XX. Version changes are:" -autowrap = true - -[node name="UpdateText" type="Label" parent="StartScreen/UpdatePanel"] -unique_name_in_owner = true -margin_left = 33.0 -margin_top = 146.0 -margin_right = 1249.0 -margin_bottom = 432.0 -theme = ExtResource( 1 ) -text = "text" -autowrap = true - -[node name="EditScreen" type="CanvasLayer" parent="."] -unique_name_in_owner = true -visible = false -script = ExtResource( 8 ) - -[node name="Panel" type="Panel" parent="EditScreen"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) - -[node name="GridObservations" type="GridContainer" parent="EditScreen/Panel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -518.5 -margin_top = -57.0 -margin_right = 518.5 -margin_bottom = 129.0 -columns = 3 - -[node name="AcronymLabel" type="Label" parent="EditScreen/Panel/GridObservations"] -margin_right = 96.0 -margin_bottom = 34.0 -text = "Acronym" - -[node name="AcronymLabel2" type="Label" parent="EditScreen/Panel/GridObservations"] -margin_left = 100.0 -margin_right = 244.0 -margin_bottom = 34.0 -text = "Descriptor" - -[node name="AcronymLabel3" type="Label" parent="EditScreen/Panel/GridObservations"] -margin_left = 248.0 -margin_right = 1037.0 -margin_bottom = 34.0 -text = "Explanation" - -[node name="1AcronymE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_top = 38.0 -margin_right = 96.0 -margin_bottom = 72.0 -theme = ExtResource( 1 ) -text = "O" -max_length = 3 -__meta__ = { -"_edit_lock_": true -} - -[node name="1ItemE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 38.0 -margin_right = 244.0 -margin_bottom = 72.0 -theme = ExtResource( 1 ) -text = "On Task" -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="1ExplanationE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 248.0 -margin_top = 38.0 -margin_right = 1037.0 -margin_bottom = 72.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "The pupil is on task" -__meta__ = { -"_edit_lock_": true -} - -[node name="2AcronymE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_top = 76.0 -margin_right = 96.0 -margin_bottom = 110.0 -theme = ExtResource( 1 ) -text = "L" -max_length = 3 -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="2ItemE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 76.0 -margin_right = 244.0 -margin_bottom = 110.0 -theme = ExtResource( 1 ) -text = "Looking" -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="2ExplanationE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 248.0 -margin_top = 76.0 -margin_right = 1037.0 -margin_bottom = 110.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = " The pupil is looking around in a distracted manner or is staring into the distance" -__meta__ = { -"_edit_lock_": true -} - -[node name="3AcronymE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_top = 114.0 -margin_right = 96.0 -margin_bottom = 148.0 -theme = ExtResource( 1 ) -text = "D" -max_length = 3 -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="3ItemE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 114.0 -margin_right = 244.0 -margin_bottom = 148.0 -theme = ExtResource( 1 ) -text = "Distracting" -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="3ExplanationE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 248.0 -margin_top = 114.0 -margin_right = 1037.0 -margin_bottom = 148.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "The pupil is distracting other pupils or talking to them" -__meta__ = { -"_edit_lock_": true -} - -[node name="4AcronymE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_top = 152.0 -margin_right = 96.0 -margin_bottom = 186.0 -theme = ExtResource( 1 ) -text = "W" -max_length = 3 -__meta__ = { -"_edit_lock_": true -} - -[node name="4ItemE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 152.0 -margin_right = 244.0 -margin_bottom = 186.0 -theme = ExtResource( 1 ) -text = "Walking" -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="4ExplanationE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 248.0 -margin_top = 152.0 -margin_right = 1037.0 -margin_bottom = 186.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "The pupil is walking through the class" -__meta__ = { -"_edit_lock_": true -} - -[node name="5AcronymE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_top = 190.0 -margin_right = 96.0 -margin_bottom = 224.0 -theme = ExtResource( 1 ) -text = "O" -max_length = 3 -__meta__ = { -"_edit_lock_": true -} - -[node name="5ItemE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 100.0 -margin_top = 190.0 -margin_right = 244.0 -margin_bottom = 224.0 -theme = ExtResource( 1 ) -text = "Other" -expand_to_text_length = true -__meta__ = { -"_edit_lock_": true -} - -[node name="5ExplanationE" type="LineEdit" parent="EditScreen/Panel/GridObservations"] -unique_name_in_owner = true -margin_left = 248.0 -margin_top = 190.0 -margin_right = 1037.0 -margin_bottom = 224.0 -size_flags_horizontal = 3 -theme = ExtResource( 1 ) -text = "The pupil is otherwise distracted and not on task" -__meta__ = { -"_edit_lock_": true -} - -[node name="CancelButton" type="Button" parent="EditScreen/Panel"] -margin_left = 520.0 -margin_top = 645.0 -margin_right = 597.0 -margin_bottom = 679.0 -text = "Cancel" - -[node name="OKButton" type="Button" parent="EditScreen/Panel"] -margin_left = 616.0 -margin_top = 645.0 -margin_right = 656.0 -margin_bottom = 679.0 -text = "OK" - -[node name="ClearAll" type="Button" parent="EditScreen/Panel"] -margin_left = 952.0 -margin_top = 615.0 -margin_right = 1051.0 -margin_bottom = 649.0 -text = "Clear All" - -[node name="ObservationWindow" type="CanvasLayer" parent="."] -visible = false -script = ExtResource( 7 ) - -[node name="Panel" type="Panel" parent="ObservationWindow"] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_top = 71.0 -margin_bottom = -1.0 -theme = ExtResource( 1 ) -custom_styles/panel = SubResource( 7 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="BehaviourButtons" type="HBoxContainer" parent="ObservationWindow/Panel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -453.0 -margin_top = 51.0 -margin_right = 453.0 -margin_bottom = 91.0 - -[node name="BehaviourOne" type="Button" parent="ObservationWindow/Panel/BehaviourButtons"] -unique_name_in_owner = true -margin_right = 178.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -text = "Acronym1" - -[node name="BehaviourTwo" type="Button" parent="ObservationWindow/Panel/BehaviourButtons"] -unique_name_in_owner = true -margin_left = 182.0 -margin_right = 360.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -text = "Acronym1" - -[node name="BehaviourThree" type="Button" parent="ObservationWindow/Panel/BehaviourButtons"] -unique_name_in_owner = true -margin_left = 364.0 -margin_right = 542.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -text = "Acronym1" - -[node name="BehaviourFour" type="Button" parent="ObservationWindow/Panel/BehaviourButtons"] -unique_name_in_owner = true -margin_left = 546.0 -margin_right = 724.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -text = "Acronym1" - -[node name="BehaviourFive" type="Button" parent="ObservationWindow/Panel/BehaviourButtons"] -unique_name_in_owner = true -margin_left = 728.0 -margin_right = 906.0 -margin_bottom = 40.0 -size_flags_horizontal = 3 -text = "Acronym1" - -[node name="BehaviourTitles" type="HBoxContainer" parent="ObservationWindow/Panel"] -margin_left = 189.0 -margin_top = 368.0 -margin_right = 1095.0 -margin_bottom = 408.0 - -[node name="BTitle1" type="Label" parent="ObservationWindow/Panel/BehaviourTitles"] -unique_name_in_owner = true -margin_top = 3.0 -margin_right = 178.0 -margin_bottom = 37.0 -size_flags_horizontal = 3 -text = "Title1" -align = 1 - -[node name="BTitle2" type="Label" parent="ObservationWindow/Panel/BehaviourTitles"] -unique_name_in_owner = true -margin_left = 182.0 -margin_top = 3.0 -margin_right = 360.0 -margin_bottom = 37.0 -size_flags_horizontal = 3 -text = "Title2" -align = 1 - -[node name="BTitle3" type="Label" parent="ObservationWindow/Panel/BehaviourTitles"] -unique_name_in_owner = true -margin_left = 364.0 -margin_top = 3.0 -margin_right = 542.0 -margin_bottom = 37.0 -size_flags_horizontal = 3 -text = "Title3" -align = 1 - -[node name="BTitle4" type="Label" parent="ObservationWindow/Panel/BehaviourTitles"] -unique_name_in_owner = true -margin_left = 546.0 -margin_top = 3.0 -margin_right = 724.0 -margin_bottom = 37.0 -size_flags_horizontal = 3 -text = "Title4" -align = 1 - -[node name="BTitle5" type="Label" parent="ObservationWindow/Panel/BehaviourTitles"] -unique_name_in_owner = true -margin_left = 728.0 -margin_top = 3.0 -margin_right = 906.0 -margin_bottom = 37.0 -size_flags_horizontal = 3 -text = "Title5" -align = 1 - -[node name="TimeRemaining" type="Label" parent="ObservationWindow/Panel"] -margin_left = 532.0 -margin_top = 98.0 -margin_right = 572.0 -margin_bottom = 132.0 -theme = ExtResource( 1 ) -text = "20" - -[node name="DescriptorTime" type="Label" parent="ObservationWindow/Panel"] -margin_left = 581.0 -margin_top = 98.0 -margin_right = 784.0 -margin_bottom = 132.0 -theme = ExtResource( 1 ) -text = "Seconds remaining" - -[node name="Button" type="Button" parent="ObservationWindow/Panel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -74.5 -margin_top = -231.5 -margin_right = 74.5 -margin_bottom = -191.5 -text = "Stop Early" - -[node name="TimerBar" type="ProgressBar" parent="ObservationWindow/Panel"] -margin_left = 406.0 -margin_top = 145.0 -margin_right = 891.0 -margin_bottom = 206.0 -theme = ExtResource( 1 ) -max_value = 20.0 -step = 1.0 -value = 20.0 -rounded = true -percent_visible = false -script = ExtResource( 10 ) - -[node name="DescriptorBox" type="HBoxContainer" parent="ObservationWindow/Panel"] -margin_left = 361.0 -margin_top = 441.0 -margin_right = 966.0 -margin_bottom = 481.0 -alignment = 1 - -[node name="ObservationsRemaining" type="Label" parent="ObservationWindow/Panel/DescriptorBox"] -unique_name_in_owner = true -margin_left = 31.0 -margin_top = 3.0 -margin_right = 146.0 -margin_bottom = 37.0 -theme = ExtResource( 1 ) -text = "Remaining" -__meta__ = { -"_edit_lock_": true -} - -[node name="ObservationsSlash" type="Label" parent="ObservationWindow/Panel/DescriptorBox"] -margin_left = 150.0 -margin_top = 3.0 -margin_right = 158.0 -margin_bottom = 37.0 -theme = ExtResource( 1 ) -text = "/" -__meta__ = { -"_edit_lock_": true -} - -[node name="ObservationsTotal" type="Label" parent="ObservationWindow/Panel/DescriptorBox"] -unique_name_in_owner = true -margin_left = 162.0 -margin_top = 3.0 -margin_right = 359.0 -margin_bottom = 37.0 -theme = ExtResource( 1 ) -text = "ObservationsTotal" -__meta__ = { -"_edit_lock_": true -} - -[node name="ObservationsDescriptor" type="Label" parent="ObservationWindow/Panel/DescriptorBox"] -margin_left = 363.0 -margin_top = 3.0 -margin_right = 573.0 -margin_bottom = 37.0 -theme = ExtResource( 1 ) -text = "intervals remaining" -__meta__ = { -"_edit_lock_": true -} - -[node name="ProgressBar" type="ProgressBar" parent="ObservationWindow/Panel"] -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_top = -14.0 -custom_styles/fg = SubResource( 10 ) -custom_styles/bg = SubResource( 11 ) -step = 1.0 -percent_visible = false -script = ExtResource( 11 ) - -[node name="TwentySecondTimer" type="Timer" parent="ObservationWindow"] -unique_name_in_owner = true -wait_time = 20.0 - -[node name="Results" type="CanvasLayer" parent="."] -visible = false -script = ExtResource( 9 ) - -[node name="Panel" type="Panel" parent="Results"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -custom_styles/panel = SubResource( 8 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="SaveReport" type="Button" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 992.0 -margin_top = 643.0 -margin_right = 1251.0 -margin_bottom = 683.0 -text = "Save Report as PNG" - -[node name="BackMainMenu" type="Button" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 32.0 -margin_top = 643.0 -margin_right = 176.0 -margin_bottom = 683.0 -text = "Restart" - -[node name="FullResult" type="Label" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 11.0 -margin_top = 13.0 -margin_right = 1268.0 -margin_bottom = 396.0 -custom_fonts/font = SubResource( 9 ) -text = "Can this be multi-line? -Or does text-wrap work? -Can I get integers in? Must be able to, concatenate." -autowrap = true -__meta__ = { -"_edit_lock_": true -} - -[node name="ObsBar1" type="ProgressBar" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 348.0 -margin_top = 422.0 -margin_right = 1140.0 -margin_bottom = 447.0 -size_flags_horizontal = 3 -step = 1.0 -percent_visible = false - -[node name="ObsBar2" type="ProgressBar" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 348.0 -margin_top = 452.0 -margin_right = 1140.0 -margin_bottom = 477.0 -size_flags_horizontal = 3 -step = 1.0 -percent_visible = false - -[node name="ObsBar3" type="ProgressBar" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 348.0 -margin_top = 482.0 -margin_right = 1140.0 -margin_bottom = 507.0 -size_flags_horizontal = 3 -step = 1.0 -percent_visible = false - -[node name="ObsBar4" type="ProgressBar" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 348.0 -margin_top = 512.0 -margin_right = 1140.0 -margin_bottom = 537.0 -size_flags_horizontal = 3 -step = 1.0 -percent_visible = false - -[node name="ObsBar5" type="ProgressBar" parent="Results/Panel"] -unique_name_in_owner = true -margin_left = 348.0 -margin_top = 542.0 -margin_right = 1140.0 -margin_bottom = 567.0 -size_flags_horizontal = 3 -step = 1.0 -percent_visible = false - -[node name="GridContainer" type="GridContainer" parent="Results/Panel"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -517.0 -margin_top = 60.5 -margin_right = -302.0 -margin_bottom = 206.5 - -[node name="ObsTitle1" type="Label" parent="Results/Panel/GridContainer"] -unique_name_in_owner = true -margin_right = 50.0 -margin_bottom = 26.0 -custom_fonts/font = SubResource( 12 ) -text = "Item1" - -[node name="ObsTitle2" type="Label" parent="Results/Panel/GridContainer"] -unique_name_in_owner = true -margin_top = 30.0 -margin_right = 50.0 -margin_bottom = 56.0 -custom_fonts/font = SubResource( 12 ) -text = "Item2" - -[node name="ObsTitle3" type="Label" parent="Results/Panel/GridContainer"] -unique_name_in_owner = true -margin_top = 60.0 -margin_right = 50.0 -margin_bottom = 86.0 -custom_fonts/font = SubResource( 12 ) -text = "Item3" - -[node name="ObsTitle4" type="Label" parent="Results/Panel/GridContainer"] -unique_name_in_owner = true -margin_top = 90.0 -margin_right = 50.0 -margin_bottom = 116.0 -custom_fonts/font = SubResource( 12 ) -text = "Item4" - -[node name="ObsTitle5" type="Label" parent="Results/Panel/GridContainer"] -unique_name_in_owner = true -margin_top = 120.0 -margin_right = 50.0 -margin_bottom = 146.0 -custom_fonts/font = SubResource( 12 ) -text = "Item5" - -[connection signal="request_completed" from="HTTPRequest" to="." method="_on_HTTPRequest_request_completed"] -[connection signal="request_completed" from="HTTPRequest2" to="." method="_on_HTTPRequest2_request_completed"] -[connection signal="button_down" from="StartScreen/InstructionPanel/MinuteBox/MinuteMinus" to="." method="_on_MinuteMinus_button_down"] -[connection signal="pressed" from="StartScreen/InstructionPanel/MinuteBox/MinuteMinus" to="." method="_on_MinuteMinus_pressed"] -[connection signal="pressed" from="StartScreen/InstructionPanel/MinuteBox/MinutePlus" to="." method="_on_MinutePlus_pressed"] -[connection signal="pressed" from="StartScreen/InstructionPanel/BottomButtons/Manual" to="." method="_on_Manual_pressed"] -[connection signal="pressed" from="StartScreen/InstructionPanel/BottomButtons/ChangeItems" to="." method="_on_ChangeItems_pressed"] -[connection signal="pressed" from="StartScreen/InstructionPanel/BottomButtons/PupilName" to="." method="_on_PupilName_pressed"] -[connection signal="pressed" from="StartScreen/InstructionPanel/BottomButtons/Start" to="." method="_on_Start_pressed"] -[connection signal="pressed" from="StartScreen/NameChangePanel/NameContainer/OkButton" to="StartScreen/NameChangePanel" method="_on_OkButton_pressed"] -[connection signal="pressed" from="StartScreen/InstructionScreen/InstructionContainer/InsOkButton" to="." method="_on_InsOkButton_pressed"] -[connection signal="pressed" from="StartScreen/UpdatePanel/BottomButtons/GoToUpdate" to="." method="_on_GoToUpdate_pressed"] -[connection signal="pressed" from="StartScreen/UpdatePanel/BottomButtons/IgnoreUpdate" to="." method="_on_IgnoreUpdate_pressed"] -[connection signal="pressed" from="EditScreen/Panel/CancelButton" to="EditScreen" method="_on_CancelButton_pressed"] -[connection signal="pressed" from="EditScreen/Panel/OKButton" to="EditScreen" method="_on_OKButton_pressed"] -[connection signal="pressed" from="EditScreen/Panel/ClearAll" to="EditScreen" method="_on_ClearAll_pressed"] -[connection signal="pressed" from="ObservationWindow/Panel/BehaviourButtons/BehaviourOne" to="ObservationWindow" method="_on_BehaviourOne_pressed"] -[connection signal="pressed" from="ObservationWindow/Panel/BehaviourButtons/BehaviourTwo" to="ObservationWindow" method="_on_BehaviourTwo_pressed"] -[connection signal="pressed" from="ObservationWindow/Panel/BehaviourButtons/BehaviourThree" to="ObservationWindow" method="_on_BehaviourThree_pressed"] -[connection signal="pressed" from="ObservationWindow/Panel/BehaviourButtons/BehaviourFour" to="ObservationWindow" method="_on_BehaviourFour_pressed"] -[connection signal="pressed" from="ObservationWindow/Panel/BehaviourButtons/BehaviourFive" to="ObservationWindow" method="_on_BehaviourFive_pressed"] -[connection signal="pressed" from="ObservationWindow/Panel/Button" to="ObservationWindow" method="_on_Button_pressed"] -[connection signal="timeout" from="ObservationWindow/TwentySecondTimer" to="ObservationWindow" method="_on_TwentySecondTimer_timeout"] -[connection signal="visibility_changed" from="Results" to="Results" method="_on_Results_visibility_changed"] -[connection signal="pressed" from="Results/Panel/SaveReport" to="Results" method="_on_SaveReport_pressed"] -[connection signal="pressed" from="Results/Panel/BackMainMenu" to="Results" method="_on_BackMainMenu_pressed"] diff --git a/godot/project.godot b/godot/project.godot deleted file mode 100644 index f4f283f..0000000 --- a/godot/project.godot +++ /dev/null @@ -1,51 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -[application] - -config/name="Time Sampling Form" -run/main_scene="res://main_screen.tscn" -run/low_processor_mode=true -boot_splash/image="res://Assets/icons/main_icon.png" -boot_splash/bg_color=Color( 0.952941, 0.933333, 0.847059, 1 ) -config/icon="res://Assets/icons/main_icon.png" -config/macos_native_icon="res://Assets/icons/main_icon.icns" -config/windows_native_icon="res://Assets/icons/icon.ico" - -[autoload] - -GlobalInts="*res://global_ints.gd" -HTML5File="*res://addons/HTML5FileExchange/HTML5FileExchange.gd" - -[display] - -window/size/width=1280 -window/size/height=720 -window/stretch/mode="2d" -window/stretch/aspect="keep" - -[editor_plugins] - -enabled=PoolStringArray( "res://addons/HTML5FileExchange/plugin.cfg" ) - -[gui] - -common/drop_mouse_on_gui_input_disabled=true - -[physics] - -common/enable_pause_aware_picking=true - -[rendering] - -quality/intended_usage/framebuffer_allocation=0 -quality/intended_usage/framebuffer_allocation.mobile=0 -2d/snapping/use_gpu_pixel_snap=true -environment/default_environment="res://default_env.tres" diff --git a/godot/wb_theme.tres b/godot/wb_theme.tres deleted file mode 100644 index 88ca0d5..0000000 --- a/godot/wb_theme.tres +++ /dev/null @@ -1,104 +0,0 @@ -[gd_resource type="Theme" load_steps=16 format=2] - -[ext_resource path="res://Assets/fonts/noto_sans_display_bold.ttf" type="DynamicFontData" id=1] -[ext_resource path="res://Assets/fonts/noto_sans_display.ttf" type="DynamicFontData" id=2] - -[sub_resource type="DynamicFont" id=1] -size = 24 -font_data = ExtResource( 1 ) - -[sub_resource type="StyleBoxFlat" id=4] -bg_color = Color( 0.207843, 0.219608, 0.317647, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="StyleBoxFlat" id=5] -bg_color = Color( 0.862745, 0.435294, 0.329412, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="StyleBoxFlat" id=6] -bg_color = Color( 0.941176, 0.772549, 0.517647, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="StyleBoxFlat" id=2] -bg_color = Color( 0.862745, 0.435294, 0.329412, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="StyleBoxFlat" id=7] -bg_color = Color( 0.941176, 0.772549, 0.517647, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="DynamicFont" id=3] -size = 24 -font_data = ExtResource( 2 ) - -[sub_resource type="DynamicFont" id=8] -size = 24 -font_data = ExtResource( 2 ) - -[sub_resource type="StyleBoxFlat" id=9] -content_margin_left = 15.0 -content_margin_right = 5.0 -bg_color = Color( 0.207843, 0.219608, 0.317647, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="StyleBoxFlat" id=11] -bg_color = Color( 0.952941, 0.933333, 0.847059, 1 ) -border_width_left = 2 -border_width_top = 2 -border_width_right = 2 -border_width_bottom = 2 -border_color = Color( 0.207843, 0.219608, 0.317647, 1 ) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[sub_resource type="StyleBoxEmpty" id=12] - -[sub_resource type="StyleBoxFlat" id=13] -bg_color = Color( 0.862745, 0.435294, 0.329412, 1 ) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id=14] -bg_color = Color( 0.941176, 0.772549, 0.517647, 1 ) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[resource] -Button/fonts/font = SubResource( 1 ) -Button/styles/disabled = SubResource( 4 ) -Button/styles/focus = SubResource( 5 ) -Button/styles/hover = SubResource( 6 ) -Button/styles/normal = SubResource( 2 ) -Button/styles/pressed = SubResource( 7 ) -Label/colors/font_color = Color( 0, 0, 0, 1 ) -Label/fonts/font = SubResource( 3 ) -LineEdit/fonts/font = SubResource( 8 ) -LineEdit/styles/normal = SubResource( 9 ) -Panel/styles/panel = SubResource( 11 ) -PanelContainer/styles/panel = SubResource( 12 ) -ProgressBar/styles/bg = SubResource( 13 ) -ProgressBar/styles/fg = SubResource( 14 ) diff --git a/updater/update_text.md b/updater/update_text.md deleted file mode 100644 index dc79130..0000000 --- a/updater/update_text.md +++ /dev/null @@ -1,5 +0,0 @@ -"This text is just a placeholder. - -- But I want to test if it works. -- Like this. -- Or this." \ No newline at end of file diff --git a/version_info.csv b/version_info.csv deleted file mode 100644 index ceab6e1..0000000 --- a/version_info.csv +++ /dev/null @@ -1 +0,0 @@ -0.1 \ No newline at end of file