Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A GUI for configuring launch-files #253

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

Conversation

okalachev
Copy link
Member

@okalachev okalachev commented Jul 21, 2020

Add roslaunch_editor – a GUI for configuring launch files. It can work in "clover" mode (through shell node) or in "standalone" mode (requiring a special backend node).

Also adjusted arguments for more novice-friendly configuration.

roslaunch_editor

TODO:

  • impossible to perform sudo command for restarting

Copy link
Member

@sfalexrog sfalexrog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like a good idea and looks nice, exactly what newcomers would want. Not sure about two modes and Javascript-side shell scripting.

On a somewhat related note, how about a web UI for dynamic_reconfigure?

@@ -22,7 +22,7 @@
<param name="fade_period" value="0.5"/>
<param name="rainbow_period" value="5"/>
<!-- events effects table -->
<rosparam param="notify" if="$(arg led_notify)">
<rosparam param="notify" if="$(eval led_notify == 'all')">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we could have a set of default notifications and append to it somehow?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't completely get what you mean.

# # myfile2
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
# )

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You really want to add something like catkin_install_python here.


## Modes

`roslaunch_editor` works in two modes: standalone mode (where running `editor` node is required), and Clover mode (where `clover`'s `shell` node, `roswww_static` and `rosbridge_suite` are utilized). The editor will read and write launch-files and restart the nodes (if configured) using one of these nodes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, I'd prefer a single (standalone) mode. We've discussed shell before, and even though I understand its usefulness, I'm not in favor of it being used.

@@ -0,0 +1,140 @@
<html>
<head>
<script src="roslib.js"></script>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

roslib.js will probably be used in all web-based plugins, how about moving it to roswww_static?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean, /roswww_static/roslib.js? What about different versions might be needed? Also, I'm thinking on not requiring roswww_static for this. Plus, for now, it's compatible with roswww, too.

@@ -0,0 +1,287 @@
var editorElem = document.querySelector('form.editor');

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no "use strict";?

var items = {};

function generateForm(item, content) {
var parser = new DOMParser();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't let/const the new hotness in JS?


if (clover) {
const boundary = '===BOUNDARY===';
var cmd = 'bash -ic "' + p.items.map(function(item) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling bash from JS seems... odd, and the other branch looks much cleaner. Just sayin'.

@sfalexrog
Copy link
Member

Another thing of note: is it ROS-like to put executable Python scripts in src? I believe I saw a Python script in bin, but most packages just dump them in script. It's more of a nitpick, since roslaunch/rosrun will find your script anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants