From 80476ee1d60320bbd08a787c8d318b6b105b6973 Mon Sep 17 00:00:00 2001 From: Christian Pontesegger Date: Sun, 1 Nov 2015 20:01:00 +0100 Subject: add eclipseCon Europe 2015 samples & slides --- presentations/EclipseCon Europe 2015/.project | 11 + .../01 Slides/content/images/bullet.png | Bin 0 -> 804 bytes .../content/images/code_build_module_docs.png | Bin 0 -> 21972 bytes .../01 Slides/content/images/code_charts.png | Bin 0 -> 13895 bytes .../01 Slides/content/images/code_invoke_java.png | Bin 0 -> 11927 bytes .../content/images/code_module_extension.png | Bin 0 -> 21525 bytes .../content/images/code_simple_module.png | Bin 0 -> 14971 bytes .../01 Slides/content/images/coming_soon.png | Bin 0 -> 41541 bytes .../01 Slides/content/images/eclipse256.png | Bin 0 -> 13511 bytes .../01 Slides/content/images/evaluation.png | Bin 0 -> 1352667 bytes .../01 Slides/content/images/java.png | Bin 0 -> 57223 bytes .../01 Slides/content/images/not_supported.png | Bin 0 -> 35137 bytes .../01 Slides/content/images/script.png | Bin 0 -> 8793 bytes .../content/images/scrn_advanced_chart.png | Bin 0 -> 12552 bytes .../content/images/scrn_code_completion.png | Bin 0 -> 19178 bytes .../content/images/scrn_code_completion_help.png | Bin 0 -> 24334 bytes .../content/images/scrn_compile_class.png | Bin 0 -> 20948 bytes .../01 Slides/content/images/scrn_debugging.png | Bin 0 -> 50316 bytes .../01 Slides/content/images/scrn_invoke_java.png | Bin 0 -> 9489 bytes .../content/images/scrn_invoke_result.png | Bin 0 -> 3673 bytes .../content/images/scrn_launch_configuration.png | Bin 0 -> 29946 bytes .../01 Slides/content/images/scrn_load_module.png | Bin 0 -> 10304 bytes .../content/images/scrn_modules_explorer.png | Bin 0 -> 20182 bytes .../01 Slides/content/images/scrn_online_help.png | Bin 0 -> 71844 bytes .../content/images/scrn_script_explorer.png | Bin 0 -> 7867 bytes .../content/images/scrn_script_locations.png | Bin 0 -> 15070 bytes .../01 Slides/content/images/scrn_script_popup.png | Bin 0 -> 4940 bytes .../content/images/scrn_script_ui_context.png | Bin 0 -> 15198 bytes .../content/images/scrn_script_ui_menu.png | Bin 0 -> 22039 bytes .../content/images/scrn_script_ui_toolbar.png | Bin 0 -> 6424 bytes .../01 Slides/content/images/scrn_shell.png | Bin 0 -> 17383 bytes .../01 Slides/content/images/scrn_shell_basic.png | Bin 0 -> 9446 bytes .../content/images/scrn_shell_basic_console.png | Bin 0 -> 6969 bytes .../content/images/scrn_shell_eclipse.png | Bin 0 -> 12056 bytes .../01 Slides/content/images/scrn_shell_jars.png | Bin 0 -> 10914 bytes .../01 Slides/content/images/scrn_simple_chart.png | Bin 0 -> 17699 bytes .../01 Slides/content/images/scrn_unit_testing.png | Bin 0 -> 19181 bytes .../content/images/scrn_wrap_instance.png | Bin 0 -> 10215 bytes .../01 Slides/content/images/shell_java_1.png | Bin 0 -> 1952 bytes .../01 Slides/content/images/shell_java_2.png | Bin 0 -> 2350 bytes .../01 Slides/content/images/shell_java_3.png | Bin 0 -> 3510 bytes .../01 Slides/content/images/supported.png | Bin 0 -> 32677 bytes .../01 Slides/content/index.html | 415 +++++++++++ .../01 Slides/content/style.css | 783 +++++++++++++++++++++ .../01 Slides/open slides.js | 0 .../02 Script Shell/01 Hello World.js | 15 + .../02 Script Shell/02 Java class access.js | 19 + .../02 Script Shell/03 Create sample project.js | 48 ++ .../04 Create sample project (using modules).js | 22 + .../03 External libraries/04 ASCII art.js | 25 + .../03 External libraries/Helpers.js | 15 + .../03 External libraries/libs/readme.txt | 3 + .../05 Example Scripts/01 Current Time.js | 13 + .../05 Example Scripts/02 Title Clock.js | 25 + .../05 Example Scripts/06 Extract HTML anchors.js | 13 + .../05 Example Scripts/Task start.js | 19 + .../05 Example Scripts/Task stop.js | 26 + .../06 Cool things/05 Charting.js | 31 + 58 files changed, 1483 insertions(+) create mode 100644 presentations/EclipseCon Europe 2015/.project create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/bullet.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/code_build_module_docs.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/code_charts.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/code_invoke_java.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/code_module_extension.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/code_simple_module.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/coming_soon.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/eclipse256.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/evaluation.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/java.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/not_supported.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/script.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_advanced_chart.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion_help.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_compile_class.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_debugging.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_java.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_result.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_launch_configuration.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_load_module.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_modules_explorer.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_online_help.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_explorer.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_locations.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_popup.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_context.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_menu.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_toolbar.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic_console.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_eclipse.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_jars.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_simple_chart.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_unit_testing.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_wrap_instance.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_1.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_2.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_3.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/images/supported.png create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/index.html create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/content/style.css create mode 100644 presentations/EclipseCon Europe 2015/01 Slides/open slides.js create mode 100644 presentations/EclipseCon Europe 2015/02 Script Shell/01 Hello World.js create mode 100644 presentations/EclipseCon Europe 2015/02 Script Shell/02 Java class access.js create mode 100644 presentations/EclipseCon Europe 2015/02 Script Shell/03 Create sample project.js create mode 100644 presentations/EclipseCon Europe 2015/02 Script Shell/04 Create sample project (using modules).js create mode 100644 presentations/EclipseCon Europe 2015/03 External libraries/04 ASCII art.js create mode 100644 presentations/EclipseCon Europe 2015/03 External libraries/Helpers.js create mode 100644 presentations/EclipseCon Europe 2015/03 External libraries/libs/readme.txt create mode 100644 presentations/EclipseCon Europe 2015/05 Example Scripts/01 Current Time.js create mode 100644 presentations/EclipseCon Europe 2015/05 Example Scripts/02 Title Clock.js create mode 100644 presentations/EclipseCon Europe 2015/05 Example Scripts/06 Extract HTML anchors.js create mode 100644 presentations/EclipseCon Europe 2015/05 Example Scripts/Task start.js create mode 100644 presentations/EclipseCon Europe 2015/05 Example Scripts/Task stop.js create mode 100644 presentations/EclipseCon Europe 2015/06 Cool things/05 Charting.js diff --git a/presentations/EclipseCon Europe 2015/.project b/presentations/EclipseCon Europe 2015/.project new file mode 100644 index 0000000..ab3c1d5 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/.project @@ -0,0 +1,11 @@ + + + EclipseCon Europe 2015 + + + + + + + + diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/bullet.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/bullet.png new file mode 100644 index 0000000..658d126 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/bullet.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_build_module_docs.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_build_module_docs.png new file mode 100644 index 0000000..12c63e2 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_build_module_docs.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_charts.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_charts.png new file mode 100644 index 0000000..07087d5 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_charts.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_invoke_java.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_invoke_java.png new file mode 100644 index 0000000..70643f2 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_invoke_java.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_module_extension.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_module_extension.png new file mode 100644 index 0000000..6119987 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_module_extension.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_simple_module.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_simple_module.png new file mode 100644 index 0000000..6ec0fbf Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/code_simple_module.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/coming_soon.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/coming_soon.png new file mode 100644 index 0000000..7c6483e Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/coming_soon.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/eclipse256.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/eclipse256.png new file mode 100644 index 0000000..7e5bbdc Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/eclipse256.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/evaluation.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/evaluation.png new file mode 100644 index 0000000..10bfac1 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/evaluation.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/java.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/java.png new file mode 100644 index 0000000..b069023 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/java.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/not_supported.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/not_supported.png new file mode 100644 index 0000000..9ed9246 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/not_supported.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/script.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/script.png new file mode 100644 index 0000000..dc6fde5 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/script.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_advanced_chart.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_advanced_chart.png new file mode 100644 index 0000000..aaeb908 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_advanced_chart.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion.png new file mode 100644 index 0000000..ad6bfce Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion_help.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion_help.png new file mode 100644 index 0000000..d767a0f Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_code_completion_help.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_compile_class.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_compile_class.png new file mode 100644 index 0000000..7795f1e Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_compile_class.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_debugging.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_debugging.png new file mode 100644 index 0000000..f095e08 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_debugging.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_java.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_java.png new file mode 100644 index 0000000..9386e78 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_java.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_result.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_result.png new file mode 100644 index 0000000..223a6e0 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_invoke_result.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_launch_configuration.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_launch_configuration.png new file mode 100644 index 0000000..a267e54 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_launch_configuration.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_load_module.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_load_module.png new file mode 100644 index 0000000..8d2e6a1 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_load_module.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_modules_explorer.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_modules_explorer.png new file mode 100644 index 0000000..e7d4203 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_modules_explorer.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_online_help.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_online_help.png new file mode 100644 index 0000000..b640c78 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_online_help.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_explorer.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_explorer.png new file mode 100644 index 0000000..d5c01d3 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_explorer.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_locations.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_locations.png new file mode 100644 index 0000000..f534cc8 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_locations.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_popup.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_popup.png new file mode 100644 index 0000000..8a8fa48 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_popup.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_context.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_context.png new file mode 100644 index 0000000..7655bd9 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_context.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_menu.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_menu.png new file mode 100644 index 0000000..7352c81 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_menu.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_toolbar.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_toolbar.png new file mode 100644 index 0000000..09dbbbf Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_script_ui_toolbar.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell.png new file mode 100644 index 0000000..c5d13b1 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic.png new file mode 100644 index 0000000..f52aaad Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic_console.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic_console.png new file mode 100644 index 0000000..be52ade Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_basic_console.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_eclipse.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_eclipse.png new file mode 100644 index 0000000..3d1e767 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_eclipse.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_jars.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_jars.png new file mode 100644 index 0000000..ab33efe Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_shell_jars.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_simple_chart.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_simple_chart.png new file mode 100644 index 0000000..714e5a9 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_simple_chart.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_unit_testing.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_unit_testing.png new file mode 100644 index 0000000..c8dbf16 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_unit_testing.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_wrap_instance.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_wrap_instance.png new file mode 100644 index 0000000..50b56c3 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/scrn_wrap_instance.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_1.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_1.png new file mode 100644 index 0000000..bc79603 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_1.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_2.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_2.png new file mode 100644 index 0000000..054e8d5 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_2.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_3.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_3.png new file mode 100644 index 0000000..3d13b38 Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/shell_java_3.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/images/supported.png b/presentations/EclipseCon Europe 2015/01 Slides/content/images/supported.png new file mode 100644 index 0000000..4e491ac Binary files /dev/null and b/presentations/EclipseCon Europe 2015/01 Slides/content/images/supported.png differ diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/index.html b/presentations/EclipseCon Europe 2015/01 Slides/content/index.html new file mode 100644 index 0000000..b1b4d63 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/01 Slides/content/index.html @@ -0,0 +1,415 @@ + + + + + + +I love scripting, EclipseCon Europe 2015 + + + + + + + + + + + + + + + + + + +
+

+ Your browser doesn't support the features required by impress.js, so you are presented + with a simplified version of this presentation. +

+

+ For the best experience please use the latest Chrome, Safari or Firefox + browser. +

+
+ +
+
+
I love scripting
+ +
+ +
+
+ +
+
+ +
+

+ +

+ + + + + + + +

+ EASE
Eclipse Advanced Scripting Environment +

+ +

JSDT

+

PyDev

+

GGTS

+

RDT

+ +

+ Eclipse
+

+ +

Rhino

+

Jython

+

Groovy

+

JRuby

+
+ +
+

An interactive script shell

+ +
+ +
+

... with access to the Java runtime

+
+ +
+
+ +
+
+ +
+
+ +
+

... your JARs

+ +
+ +
+

... and Eclipse

+ +

with all its plug-ins

+
+ +
+

Powerful code completion

+ +
+ +
+

... with help tooltips

+ + +
+ +
+

Use modules for common tasks

+ + +
+ +
+

... loaded dynamically during runtime

+ +
+ +
+

Wrap any java object

+ +
+ +
+

Register POJOs

+ + +
+ +
+

or write sophisticated modules

+ + Read the + detailed tutorial +
+ +
+

Consistent documentation

+ +
+ +
+

created @ build time

+ +
+ +
+

Launch support

+ +
+ +
+

Integrated debugger

+ +
+ +
+

Create script libraries

+ + +
+ +
+

Share with colleagues

+ +

... or the world

+
+ +
+

Enhance your UI

+
+ +

... toolbars

+
+ +
+ +

... context menus

+
+ Read the + detailed tutorial +
+ +
+

Live charts

+ Read the + detailed tutorial +
+ +
+

Scripted unit testing

+ + + Read + the detailed tutorial +
+ +
+

Interact with Java source

+ +
+ +
+

... load classes from workspace

+ +
+ +
+

INVOKE !

+ + +

... and we do not launch a new JRE.

+
+ +
+

Supported engines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Launch
Shell
Modules
Scripts
Unit Test
Debug
Rhinookokokokokok
Nashornokokokokokok
Jythonokokokokokok
Groovyokokokokokok
JRubyokokokokokok
JVMokokokokokok
+
+ + + +
+
That's why
+
+ +
+

Get in touch

+

eclipse.org/ease

+

codeandme.blogspot.com

+
+ +
+ +
+ +
+ + +
+

Use a spacebar or arrow keys to navigate

+
+ + + + + + diff --git a/presentations/EclipseCon Europe 2015/01 Slides/content/style.css b/presentations/EclipseCon Europe 2015/01 Slides/content/style.css new file mode 100644 index 0000000..22d53e1 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/01 Slides/content/style.css @@ -0,0 +1,783 @@ +/* + We start with a good ol' reset. + That's the one by Eric Meyer http://meyerweb.com/eric/tools/css/reset/ + + You can probably argue if it is needed here, or not, but for sure it + doesn't do any harm and gives us a fresh start. +*/ +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, + blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, + em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, + b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, + table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, + details, embed, figure, figcaption, footer, header, hgroup, menu, nav, + output, ruby, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, footer, header, hgroup, + menu, nav, section { + display: block; +} + +body { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* + Now here is when interesting things start to appear. + + We set up styles with default font and nice gradient in the background. + And yes, there is a lot of repetition there because of -prefixes but we don't + want to leave anybody behind. +*/ +body { + font-family: 'PT Sans', sans-serif; + min-height: 740px; + background: rgb(215, 215, 215); + background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 500, from(rgb(240, 240, + 240)), to(rgb(190, 190, 190))); + background: -webkit-radial-gradient(rgb(240, 240, 240), + rgb(190, 190, 190)); + background: -moz-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -ms-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -o-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); +} + +/* + ... and give links a nice look. +*/ +a { + color: blue; + text-decoration: underline; + padding: 0 0.1em; + text-shadow: -1px -1px 2px rgba(100, 100, 100, 0.9); + border-radius: 0.2em; + -webkit-transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; +} + +a:hover, a:focus { + background: rgba(255, 255, 255, 1); + text-shadow: -1px -1px 2px rgba(100, 100, 100, 0.5); +} + +/* + All of the content will be still fully accessible for them, but I want + them to know that they are missing something - that's what the demo is + about, isn't it? + + And then we hide the message, when support is detected in the browser. +*/ +.fallback-message { + font-family: sans-serif; + line-height: 1.3; + width: 780px; + padding: 10px 10px 0; + margin: 20px auto; + border: 1px solid #E4C652; + border-radius: 10px; + background: #EEDC94; +} + +.fallback-message p { + margin-bottom: 10px; +} + +.impress-supported .fallback-message { + display: none; +} + +/* + Now let's style the presentation steps. + + We start with basics to make sure it displays correctly in everywhere ... +*/ +.step { + position: relative; + width: 900px; + padding: 40px; + margin: 20px auto; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; + font-family: 'PT Serif', georgia, serif; + font-size: 48px; + line-height: 1.5; + + transition: background-color 1s ease-in; +} + +.step.active { + background: rgb(232, 232, 202); + transition: background-color 1s ease-in; + + border: 1px solid rgba(82, 82, 52, .3); + border-radius: 10px; + box-shadow: 0 10px 30px rgba(0, 0, 0, .6); +} + +.background { + background: rgb(232, 232, 202); +} + +/* + ... and we enhance the styles for impress.js. + + Basically we remove the margin and make inactive steps a little bit transparent. +*/ +.impress-enabled .step { + margin: 0; +} + +.impress-enabled .step * { + opacity: 0.4; + -webkit-transition: opacity 1s; + -moz-transition: opacity 1s; + -ms-transition: opacity 1s; + -o-transition: opacity 1s; + transition: opacity 1s; +} + +.impress-enabled .step.active * { + opacity: 1; + -webkit-transition: opacity 1s; + -moz-transition: opacity 1s; + -ms-transition: opacity 1s; + -o-transition: opacity 1s; + transition: opacity 1s; +} + +/* + These 'slide' step styles were heavily inspired by HTML5 Slides: + http://html5slides.googlecode.com/svn/trunk/styles.css +*/ +.slide { + display: block; + width: 900px; + height: 700px; + padding: 40px 60px; + + color: rgb(102, 102, 102); + text-shadow: 0 2px 2px rgba(0, 0, 0, .1); + font-family: 'Open Sans', Arial, sans-serif; + font-size: 30px; + line-height: 36px; + letter-spacing: -1px; +} + +/* + The last step is an overview. + There is no content in it, so we make sure it's not visible because we want + to be able to click on other steps. + +*/ +#overview { + display: none +} + +/* + We also make other steps visible and give them a pointer cursor using the + `impress-on-` class. +*/ +.impress-on-overview .step { + opacity: 1; + cursor: pointer; +} + +/* + Now, when we have all the steps styled let's give users a hint how to navigate + around the presentation. + + The best way to do this would be to use JavaScript, show a delayed hint for a + first time users, then hide it and store a status in cookie or localStorage... + + But I wanted to have some CSS fun and avoid additional scripting... + + Let me explain it first, so maybe the transition magic will be more readable + when you read the code. + + First of all I wanted the hint to appear only when user is idle for a while. + You can't detect the 'idle' state in CSS, but I delayed a appearing of the + hint by 5s using transition-delay. + + You also can't detect in CSS if the user is a first-time visitor, so I had to + make an assumption that I'll only show the hint on the first step. And when + the step is changed hide the hint, because I can assume that user already + knows how to navigate. + + To summarize it - hint is shown when the user is on the first step for longer + than 5 seconds. + + The other problem I had was caused by the fact that I wanted the hint to fade + in and out. It can be easily achieved by transitioning the opacity property. + But that also meant that the hint was always on the screen, even if totally + transparent. It covered part of the screen and you couldn't correctly clicked + through it. + Unfortunately you cannot transition between display `block` and `none` in pure + CSS, so I needed a way to not only fade out the hint but also move it out of + the screen. + + I solved this problem by positioning the hint below the bottom of the screen + with CSS transform and moving it up to show it. But I also didn't want this move + to be visible. I wanted the hint only to fade in and out visually, so I delayed + the fade in transition, so it starts when the hint is already in its correct + position on the screen. + + I know, it sounds complicated ... maybe it would be easier with the code? +*/ +.hint { + /* + We hide the hint until presentation is started and from browsers not supporting + impress.js, as they will have a linear scrollable view ... + */ + display: none; + /* + ... and give it some fixed position and nice styles. + */ + position: fixed; + left: 0; + right: 0; + bottom: 200px; + background: rgba(0, 0, 0, 0.5); + color: #EEE; + text-align: center; + font-size: 50px; + padding: 20px; + z-index: 100; + /* + By default we don't want the hint to be visible, so we make it transparent ... + */ + opacity: 0; + /* + ... and position it below the bottom of the screen (relative to it's fixed position) + */ + -webkit-transform: translateY(400px); + -moz-transform: translateY(400px); + -ms-transform: translateY(400px); + -o-transform: translateY(400px); + transform: translateY(400px); + /* + Now let's imagine that the hint is visible and we want to fade it out and move out + of the screen. + + So we define the transition on the opacity property with 1s duration and another + transition on transform property delayed by 1s so it will happen after the fade out + on opacity finished. + + This way user will not see the hint moving down. + */ + -webkit-transition: opacity 1s, -webkit-transform 0.5s 1s; + -moz-transition: opacity 1s, -moz-transform 0.5s 1s; + -ms-transition: opacity 1s, -ms-transform 0.5s 1s; + -o-transition: opacity 1s, -o-transform 0.5s 1s; + transition: opacity 1s, transform 0.5s 1s; +} + +/* + Now we 'enable' the hint when presentation is initialized ... +*/ +.impress-enabled .hint { + display: block +} + +/* + There is one funny thing I just realized. + + Thanks to this workaround above everything except #impress element is invisible + for click events. That means that the hint element is also not clickable. + So basically all of this transforms and delayed transitions trickery was probably + not needed at all... + + But it was fun to learn about it, wasn't it? +*/ + +/* + And now we start to style each step separately. + + I agree that this may be not the most efficient, object-oriented and + scalable way of styling, but most of steps have quite a custom look + and typography tricks here and there, so they had to be styled separately. + + First is the title step with a big

(no room for padding) and some + 3D positioning along Z axis. +*/ + +/* + Slide: IDE Support (ide-support) + + Display Eclipse & supported scripting IDEs +*/ + +.impress-on-ide-support .step #picture_eclipse, +.impress-on-ide-support .step #picture_eclipse *, +.impress-on-ide-support .step .ideSupport +{ + opacity: 1; +} + +/* + Slide: Engine Support (engines) + + Display Eclipse & supported script engines +*/ + +.impress-on-engines .step #picture_eclipse, +.impress-on-engines .step #picture_eclipse *, +.impress-on-engines .step .engine +{ + opacity: 1; +} + +.impress-on-conclusion .step #title, +.impress-on-conclusion .step #title * +{ + opacity: 1; +} + + +.top { + position: absolute; + top: 20px; +} +.bottom { + position: absolute; + bottom: 20px; +} +.left { + position: absolute; + left: 80px; + + top: 55%; + transform: translate(0%, -50%); +} +.right { + position: absolute; + right: 80px; + + top: 55%; + transform: translate(0%, -50%); +} + +.bottomright { + position: absolute; + right: 80px; + bottom: 50px; +} + +h1 { + font-size: 1.5em; + text-align: center; + color: #444466; + + padding-top: 50px; +} + + +div.code { + background-image: url("images/script.png"); + background-repeat: no-repeat; + background-size: 32px 32px; + background-position: 10px 10px; + padding-left: 60px; +} + +.code { + background: white; + border: 1px solid black; + border-radius: 5px; + padding: 5px 10px 5px 10px; +} + +li { + margin-top: 10px; +} + +.center { + position: fixed; + top: 55%; + left: 50%; + transform: translate(-50%, -50%); +} + +.centerbottom { + position: fixed; + bottom: 50px; + left: 50%; + transform: translate(-50%, 0%); +} + +th.rotate { + /* Something you can count on */ + height: 70px; + white-space: nowrap; +} + +th.rotate > div { + transform: + /* Magic Numbers */ + translate(10px, 20px) + /* 45 is really 360 - 45 */ + rotate(300deg); + width: 50px; +} + +th.rotate > div > span { + padding: 5px 10px; +} + +table { + font-size: 0.6em; + border-collapse: collapse; +} + +td { + border: 1px solid #ccc; + text-align: center; + vertical-align: bottom; +} + +td { + padding: 5px 20px 5px 20px; +} + +tr:nth-child(even) { + background: rgb(212, 212, 162); +} + +img { + max-height: 450px; +} + +ul { + list-style-image: url('images/bullet.png'); +} +/* + Slide: 'Shell JRE access' +*/ +#shell_jre #jre1 { + position: absolute; + top: 250px; + left: 100px; +} + +#shell_jre #jre2 { + position: absolute; + top: 350px; + left: 200px; +} +#shell_jre #jre3 { + position: absolute; + top: 450px; + left: 300px; +} + +#code_completion_help #coming_soon { + position: absolute; + top: 370px; + left: 650px; + transform: rotate(-5deg); +} + + +/* + Slide: 'Register POJOs' +*/ + +#pojo1 { + position: absolute; + top: 150px; + left: 40px; + width: 400px; +} + +#pojo2 { + position: absolute; + top: 400px; + left: 250px; + width: 600px; +} + +/* + Slide: 'Script UI integration' +*/ +#script_ui_integration #toolbar { + position: absolute; + top: 150px; + left: 40px; +} + +#script_ui_integration #menu { + position: absolute; + top: 320px; + left: 40px; +} + +#script_ui_integration #context { + position: absolute; + top: 200px; + right: 40px; +} + + +/* + Slide: 'I love scripting' +*/ +#title #i_love { + font-family: 'Marck Script', cursive; + font-size: 2.5em; + text-align: center; + color: #444466; + + padding-top: 200px; +} + +#title #copyright { + font-size: 0.8em; +} + +/* + Slide: 'Conclusion' +*/ +#conclusion > div { + font-family: 'Marck Script', cursive; + font-size: 2em; + text-align: center; + color: #444466; + + padding-top: 200px; +} + + +/* + Slide: 'Invoke java' +*/ +#java_invoke #java_result { + position: absolute; + top: 400px; + left: 600px; +} + +/* + Slide: 'Get in touch' +*/ + +#get_in_touch #link1 { + transform: translate(-50%, -100px); +} + +#get_in_touch #link2 { + transform: translate(-50%, 0px); +} + +/* + Slide: 'The whole picture' (picture) + + Display how EASE interacts with Eclipse, engines and java +*/ + +#picture_eclipse { + left: 280px; + top: 220px; + + width: 340px; + height: 315px; + + font-size: 48px; + + padding-top: 30px; +} + +#picture_eclipse img { + margin-top: 70px; + width: 40%; +} + +#picture_jsdt { + left: 165px; + top: 220px; + + width: 100px; + height: 80px; +} + +#picture_pydev { + left: 165px; + top: 309px; + + width: 100px; + height: 80px; +} + +#picture_ggts { + left: 165px; + top: 397px; + + width: 100px; + height: 80px; +} + +#picture_rdt { + left: 165px; + top: 485px; + + width: 100px; + height: 80px; +} + +#picture_rhino { + left: 635px; + top: 220px; + + width: 100px; + height: 80px; +} + +#picture_jython { + left: 635px; + top: 309px; + + width: 100px; + height: 80px; +} + +#picture_groovy { + left: 635px; + top: 397px; + + width: 100px; + height: 80px; +} + +#picture_jruby { + left: 635px; + top: 485px; + + width: 100px; + height: 80px; +} + +#picture_java { + left: 20px; + top: 20px; + + width: 860px; + height: 660px; + + border: 1px solid #8C6C9C; + background: linear-gradient(to bottom, #FFFFEE, #FFFFCC); + color: #330066; + font-size: 20px; +} + +#picture_java img { + width: 15%; + height: 15%; + + margin-top: 550px; +} + +#picture_ease { + left: 165px; + top: 120px; + + width: 565px; + height: 80px; +} + +#picture_script1 { + position: absolute; + left: 250px; + top: 40px; + width: 50px; + + transition: all 3s ease-in; +} + +#picture_script2 { + position: absolute; + left: 350px; + top: 40px; + width: 50px; + + transition: all 3.5s ease-in; +} + +#picture_script3 { + position: absolute; + left: 450px; + top: 40px; + width: 50px; + + transition: all 4s ease-in; +} + +#picture_script4 { + position: absolute; + left: 550px; + top: 40px; + width: 50px; + + transition: all 4.5s ease-in; +} + +#picture_script5 { + position: absolute; + left: 650px; + top: 40px; + width: 50px; + + transition: all 5s ease-in; +} + + + +.blue { + color: blue; +} + +.box { + display: block; + border-radius: 10px; + text-align: center; + position: absolute; +} + +.eclipse { + border: 1px solid #8C6C9C; + background: linear-gradient(to bottom, #E1D5E7, #8C6C9C); + color: #330066; + font-size: 20px; +} + + \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/01 Slides/open slides.js b/presentations/EclipseCon Europe 2015/01 Slides/open slides.js new file mode 100644 index 0000000..e69de29 diff --git a/presentations/EclipseCon Europe 2015/02 Script Shell/01 Hello World.js b/presentations/EclipseCon Europe 2015/02 Script Shell/01 Hello World.js new file mode 100644 index 0000000..f7ace93 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/02 Script Shell/01 Hello World.js @@ -0,0 +1,15 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Hello World + *******************************************************************************/ + +print("This is EclipseCon Euope 2015"); +print("-----------------------------"); +print(); +print("Thanks for being here to celebrate our 10th birthday!"); \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/02 Script Shell/02 Java class access.js b/presentations/EclipseCon Europe 2015/02 Script Shell/02 Java class access.js new file mode 100644 index 0000000..49828a7 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/02 Script Shell/02 Java class access.js @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Access java classes + *******************************************************************************/ + +// access classes from JRE +new java.io.File("/"); +root = new java.io.File("/"); +root.exists(); + +// access classes from eclipse +org.eclipse.core.runtime.Platform; +org.eclipse.core.runtime.Platform.getInstallLocation().getURL(); \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/02 Script Shell/03 Create sample project.js b/presentations/EclipseCon Europe 2015/02 Script Shell/03 Create sample project.js new file mode 100644 index 0000000..aefed08 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/02 Script Shell/03 Create sample project.js @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Script to create a sample project, not meant for productive use + *******************************************************************************/ + +var projectName = "EclipseCon 2015 Sample project"; +var files = [ + ["Disclaimer.txt", "This is the disclaimer"], + ["HowTo.txt", "TODO: write HowTo Content"], + ["License.txt", "This project is licensed under the EPL."] + ]; + +print("Creating sample project"); + +// @type org.eclipse.core.resources.IWorkspaceRoot +wsRoot = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot(); + +// @type org.eclipse.core.resources.IProject +newProject = wsRoot.getProject(projectName); + +// create project +if (!newProject.exists()) { + print("\tcreating project"); + newProject.create(null); + newProject.open(null); +} else + print("\tproject already exists"); + + +// now create files +for each (fileDescription in files) { + + // @type org.eclipse.core.resources.IFile + file = newProject.getFile(fileDescription[0]); + if (!file.exists()) { + print("\tcreating file " + fileDescription[0]); + fileInput = new java.io.ByteArrayInputStream(new java.lang.String(fileDescription[1]).getBytes()); + file.create(fileInput, true, null); + } else + print("\tfile " + fileDescription[0] + " already exists"); +} + diff --git a/presentations/EclipseCon Europe 2015/02 Script Shell/04 Create sample project (using modules).js b/presentations/EclipseCon Europe 2015/02 Script Shell/04 Create sample project (using modules).js new file mode 100644 index 0000000..da16e16 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/02 Script Shell/04 Create sample project (using modules).js @@ -0,0 +1,22 @@ +var files = [ + ["Disclaimer.txt", "This is the disclaimer"], + ["HowTo.txt", "TODO: write HowTo Content"], + ["License.txt", "This project is licensed under the EPL."] + ]; + + +print("Creating sample project"); + +loadModule('/System/Resources'); +loadModule('/System/UI'); + +// create project +projectName = showInputDialog("Please provide the name of the project to create", "EclipseCon 2015 Sample project", "Create Project"); +if (projectName != null) { + createProject(projectName); + + // now create files + for each (fileDescription in files) + writeFile("workspace://" + projectName + "/" + fileDescription[0], fileDescription[1]); +} + diff --git a/presentations/EclipseCon Europe 2015/03 External libraries/04 ASCII art.js b/presentations/EclipseCon Europe 2015/03 External libraries/04 ASCII art.js new file mode 100644 index 0000000..f6fdcbe --- /dev/null +++ b/presentations/EclipseCon Europe 2015/03 External libraries/04 ASCII art.js @@ -0,0 +1,25 @@ +var libraryURL = "http://central.maven.org/maven2/com/github/lalyos/jfiglet/0.0.7/jfiglet-0.0.7.jar"; +var libraryLocation = "project://03 External libraries/libs/jfiglet-0.0.7.jar"; + +include("Helpers.js"); + +// verify that external library is available +loadModule('/System/Resources'); +if (!fileExists(libraryLocation)) { + downloadLibrary(libraryURL, libraryLocation); + + if (!fileExists(libraryLocation)) { + printError("jfiglet library not available, please download from " + + libraryURL); + exit(); + } +} + +// load external library +loadJar(libraryLocation); +// load directly from the web +// loadJar(libraryURL); + +// draw ASCII art +com.github.lalyos.jfiglet.FigletFont + .convertOneLine("I love scripting"); \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/03 External libraries/Helpers.js b/presentations/EclipseCon Europe 2015/03 External libraries/Helpers.js new file mode 100644 index 0000000..92f3c2b --- /dev/null +++ b/presentations/EclipseCon Europe 2015/03 External libraries/Helpers.js @@ -0,0 +1,15 @@ +/** + * Download a binary file from the web. + * @param link URI to download from + * @param targetLocation workspace location to store the file to + */ +function downloadLibrary(link, targetLocation) { + target = getFile(targetLocation, false); + if (!target.exists()) { + input = new java.net.URL(link).openStream(); + target.create(input, true, null); + input.close(); + + } else + printError("target library '" + targetLocation + "' already exists."); +} \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/03 External libraries/libs/readme.txt b/presentations/EclipseCon Europe 2015/03 External libraries/libs/readme.txt new file mode 100644 index 0000000..3031e8d --- /dev/null +++ b/presentations/EclipseCon Europe 2015/03 External libraries/libs/readme.txt @@ -0,0 +1,3 @@ +This directory should host a file called 'jfiglet-0.0.7.jar'. +If it is not available and the sample script cannot download the file, try to manually fetch it from +http://central.maven.org/maven2/com/github/lalyos/jfiglet/0.0.7/jfiglet-0.0.7.jar \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/05 Example Scripts/01 Current Time.js b/presentations/EclipseCon Europe 2015/05 Example Scripts/01 Current Time.js new file mode 100644 index 0000000..763c0f2 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/05 Example Scripts/01 Current Time.js @@ -0,0 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Hello World + *******************************************************************************/ + +var formatter = java.text.SimpleDateFormat("yyyy-MM-dd, HH:mm:ss") +print(formatter.format(java.lang.System.currentTimeMillis())); diff --git a/presentations/EclipseCon Europe 2015/05 Example Scripts/02 Title Clock.js b/presentations/EclipseCon Europe 2015/05 Example Scripts/02 Title Clock.js new file mode 100644 index 0000000..252680b --- /dev/null +++ b/presentations/EclipseCon Europe 2015/05 Example Scripts/02 Title Clock.js @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Hello World + * name: Examples/Title Clock + *******************************************************************************/ + +var formatter = java.text.SimpleDateFormat("yyyy-MM-dd, HH:mm:ss") +time = formatter.format(java.lang.System.currentTimeMillis()); + +// change application title +loadModule('/System/UI'); +executeUI('getShell().setText("' + time + '")'); + +// sleep 1s +java.lang.Thread.sleep(1000); + +// restart script +loadModule('/System/Scripting'); +fork("02 Title Clock.js"); \ No newline at end of file diff --git a/presentations/EclipseCon Europe 2015/05 Example Scripts/06 Extract HTML anchors.js b/presentations/EclipseCon Europe 2015/05 Example Scripts/06 Extract HTML anchors.js new file mode 100644 index 0000000..6a57f03 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/05 Example Scripts/06 Extract HTML anchors.js @@ -0,0 +1,13 @@ +loadModule('/System/Resources'); + +content = readStream(new java.net.URL("http://www.eclipse.org").openStream()) + +// convert to JS string +content = content + ""; + +// find anchor tags +anchors = content.match(//g); + +for each (anchor in anchors) + print(anchor); + diff --git a/presentations/EclipseCon Europe 2015/05 Example Scripts/Task start.js b/presentations/EclipseCon Europe 2015/05 Example Scripts/Task start.js new file mode 100644 index 0000000..973c1f0 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/05 Example Scripts/Task start.js @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Start a timer + * name: Task/start + * toolbar: Project Explorer + * image: http://files.softicons.com/download/system-icons/crystal-project-icons-by-everaldo-coelho/png/16x16/actions/agt_start_here.png + *******************************************************************************/ + +start = java.lang.System.currentTimeMillis(); + +loadModule('/System/Scripting'); +setSharedObject("Task/start", start, true, true); + diff --git a/presentations/EclipseCon Europe 2015/05 Example Scripts/Task stop.js b/presentations/EclipseCon Europe 2015/05 Example Scripts/Task stop.js new file mode 100644 index 0000000..1fcf240 --- /dev/null +++ b/presentations/EclipseCon Europe 2015/05 Example Scripts/Task stop.js @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2015 Christian Pontesegger and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: Christian Pontesegger - initial API and implementation + * description: Stop timer and display elapsed time + * name: Task/stop + * toolbar: Project Explorer + * image: http://tdiv.free.fr/stop.png + *******************************************************************************/ + +loadModule('/System/UI'); +loadModule('/System/Scripting'); + +start = getSharedObject("Task/start"); + +if (start != null) { + stop = java.lang.System.currentTimeMillis(); + showInfoDialog("Your task took " + ((stop - start)/1000) + " seconds"); + setSharedObject("Task/start", null, true, true); + +} else + showInfoDialog("No active task available"); diff --git a/presentations/EclipseCon Europe 2015/06 Cool things/05 Charting.js b/presentations/EclipseCon Europe 2015/06 Cool things/05 Charting.js new file mode 100644 index 0000000..ec38efa --- /dev/null +++ b/presentations/EclipseCon Europe 2015/06 Cool things/05 Charting.js @@ -0,0 +1,31 @@ +loadModule('/Charting'); +loadModule('/System/Platform'); + +var servers = ["localhost", "www.eclipse.org", "www.google.com", "www.adelaidecitycouncil.com"]; + +figure("Ping Statistics"); +clear(); +setXLabel("Ping attempt") +setYLabel("Time [ms]") + +for each (address in servers) { + series(address); + for (var count = 1; count < 20; count++) { + + // run 'ping' command + process = runProcess("ping", [ "-c 1", address ]); + while (!process.isFinished()) + ; + + // parse output + output = process.getOutput(); + start = output.indexOf("time="); + if (start != -1) { + end = output.indexOf(" ms", start); + if (end != -1) { + time = parseFloat(output.substring(start + 5, end)); + plotPoint(count, time); + } + } + } +} -- cgit v1.2.3