Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
nwjs/
electron/
.vscode/**
18 changes: 9 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@ find_package(catkin REQUIRED)

catkin_package()

#add_custom_target(nwjs_inst)
#add_custom_command(TARGET nwjs_inst POST_BUILD COMMAND bin/nwjs_install)
#add_custom_target(electron_inst)
#add_custom_command(TARGET electron_inst POST_BUILD COMMAND bin/electron_install)

add_custom_command(OUTPUT nwjs
COMMAND bin/nwjs_install
add_custom_command(OUTPUT electron
COMMAND bin/electron_install
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
VERBATIM
)

add_custom_target(nw_install DEPENDS nwjs)
add_custom_target(electron_install DEPENDS electron)

if(NOT ${CMAKE_CURRENT_SOURCE_DIR}/nwjs)
safe_execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bin/nwjs_install)
if(NOT ${CMAKE_CURRENT_SOURCE_DIR}/electron)
safe_execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bin/electron_install)
endif()

#############
## Install ##
#############

install(PROGRAMS
bin/nwjs_install
bin/electron_install
bin/run_app
bin/shortcut
bin/test_report
Expand All @@ -40,7 +40,7 @@ install(DIRECTORY
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)
install(DIRECTORY
nwjs
electron
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS
)
Expand Down
55 changes: 55 additions & 0 deletions bin/electron_install
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash -e
cd "$( dirname "${BASH_SOURCE[0]}" )"
TEMPFILE="electron.zip"
mkdir -p ../electron
cd ../electron

VERSION="v34.0.0-beta.9" # verified working, to be incremented explicitly

# check if electron is already existing and up-to-date, abort if so
if [ -f electron ]; then
if [ -f version ] && [ "$(cat version)" == "$VERSION" ]; then
exit 0
else
cd ..
mv electron electron_old
mkdir electron
cd electron
fi
fi

# determine correct executable version
OS="linux"
if [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then
OS="win"
elif [[ "$OSTYPE" == "darwin"* ]]; then
OS="darwin"
else
OS="linux"
fi
ARCH="x64"
if [ `uname -m` == "x86_64" ]; then
ARCH="x64"
elif [ `uname -m` == "aarch64" ]; then
ARCH="arm64"
else
ARCH="ia32"
fi

# ready to go
echo "Downloading electron..."
URL_FILE="https://github.com/electron/electron/releases/download/$VERSION/electron-$VERSION-$OS-$ARCH.zip"
echo $URL_FILE
wget -q -O $TEMPFILE $URL_FILE

echo "Unpacking..."
unzip $TEMPFILE
rm $TEMPFILE
echo "$VERSION" > version

cd ..
if [ -f electron_old/electron ]; then
rm -rf electron_old
fi

echo -e "Successfully downloaded electron!"
51 changes: 0 additions & 51 deletions bin/nwjs_install

This file was deleted.

14 changes: 7 additions & 7 deletions bin/run_app
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#!/bin/bash

ROOT_PATH="$(rospack find flexbe_app)"
NW=$ROOT_PATH/nwjs/nw
if [ ! -f $NW ]; then
ELECTRON=$ROOT_PATH/electron/electron
if [ ! -f $ELECTRON ]; then
ROOT_PATH=.
NW=$ROOT_PATH/nwjs/nw
ELECTRON=$ROOT_PATH/electron/electron
fi
if [ ! -x $NW ]; then
echo "Cannot run flexbe_app, need to download nwjs first."
if [ ! -x $ELECTRON ]; then
echo "Cannot run flexbe_app, need to download electron first."
echo "Please build flexbe_app via catkin before using it or run the following command now:"
echo " rosrun flexbe_app nwjs_install"
echo " rosrun flexbe_app electron_install"
exit -1
fi

"$NW" --password-store=basic $ROOT_PATH "$@"
"$ELECTRON" --password-store=basic $ROOT_PATH "$@"
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "FlexBE App",
"version": "2.3.0",
"version": "2.4.1",
"main": "src/main.js",
"window": {
"icon": "src/img/icon-128.png",
Expand Down
43 changes: 23 additions & 20 deletions src/events.js
Original file line number Diff line number Diff line change
Expand Up @@ -168,29 +168,21 @@ document.addEventListener('DOMContentLoaded', function() {
});

////////////////////////////////////////////////////////////////////////////////////////////////

nw.Window.get().on('new-win-policy', function(frame, url, policy) {
policy.ignore();
nw.Shell.openExternal(url);
});

process.on('exit', (code) => {
RC.PubSub.shutdown();
ROS.shutdown();
IO.PackageParser.stopWatching();
IO.StateParser.close();
window.addEventListener('click', (event) => {
if (event.target.tagName === 'A' && event.target.href) {
event.preventDefault()
shell.openExternal(event.target.href)
}
})
window.addEventListener('will-navigate', (event, url, navigationType) => {
if (navigationType === 'newwindow') {
event.preventDefault(); // Prevent default window creation
shell.openExternal(url); // Open the link in the default system browser
}
});

nw.App.on('open', () => {
nw.Window.open('src/window.html', {
'width': 1340,
'height': 830,
'min_width': 1340,
'min_height': 650
});
});

nw.Window.get().on('close', function() {
window.addEventListener('close', function() {
var allow_close = true;
if (RC.Controller.isReadonly() || RC.Controller.isRunning()) {
var txt = "Behavior "+Behavior.getBehaviorName()+" is currently running!\n";
Expand Down Expand Up @@ -218,6 +210,17 @@ document.addEventListener('DOMContentLoaded', function() {
}
});


process.on('exit', (code) => {
RC.PubSub.shutdown();
ROS.shutdown();
IO.PackageParser.stopWatching();
IO.StateParser.close();
});




window.addEventListener('resize', function() {
UI.Statemachine.recreateDrawingArea();
UI.RuntimeControl.recreateDrawingArea();
Expand Down
Loading