From ros-sig-gui-bounces@code.ros.org  Sat Oct 29 05:09:24 2011
Return-Path: <ros-sig-gui-bounces@code.ros.org>
X-Original-To: www-data@code.ros.org
Delivered-To: www-data@code.ros.org
Received: from pub5.willowgarage.com (localhost [127.0.0.1])
	by pub5.willowgarage.com (Postfix) with ESMTP id 0732A25C7D1;
	Sat, 29 Oct 2011 05:09:24 -0700 (PDT)
X-Original-To: ros-sig-gui@code.ros.org
Delivered-To: ros-sig-gui@code.ros.org
Received: from smtprelay06.ispgateway.de (smtprelay06.ispgateway.de
	[80.67.31.103])
	by pub5.willowgarage.com (Postfix) with ESMTP id BC6D325C120
	for <ros-sig-gui@code.ros.org>; Sat, 29 Oct 2011 05:09:22 -0700 (PDT)
Received: from [94.79.138.214] (helo=[192.168.1.7])
	by smtprelay06.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256)
	(Exim 4.68) (envelope-from <mail@dirk-thomas.net>)
	id 1RK7iz-00077f-5R
	for ros-sig-gui@code.ros.org; Sat, 29 Oct 2011 14:09:21 +0200
Message-ID: <4EABECF0.6020606@dirk-thomas.net>
Date: Sat, 29 Oct 2011 14:09:20 +0200
From: Dirk Thomas <mail@dirk-thomas.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15
MIME-Version: 1.0
To: "ros-sig-gui@code.ros.org" <ros-sig-gui@code.ros.org>
References: <A54DD05424575E47B53ED3FD6C4FF1AA4392C9CD65@SI-MBX82.de.bosch.com>	<4EAACFF8.70001@dirk-thomas.net>
	<CABc9=uNS0otszijPG344dCzMjYL1wBD5UDx25FntLdX806JQ8g@mail.gmail.com>
In-Reply-To: <CABc9=uNS0otszijPG344dCzMjYL1wBD5UDx25FntLdX806JQ8g@mail.gmail.com>
X-Df-Sender: bWFpbEBkaXJrLXRob21hcy5uZXQ=
Subject: Re: [Ros-sig-gui] FW: Fuerte SIG: ROS GUI
X-BeenThere: ros-sig-gui@code.ros.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: <ros-sig-gui.code.ros.org>
List-Unsubscribe: <https://code.ros.org/mailman/options/ros-sig-gui>,
	<mailto:ros-sig-gui-request@code.ros.org?subject=unsubscribe>
List-Archive: </lurker/list/ros-sig-gui.html>
List-Post: <mailto:ros-sig-gui@code.ros.org>
List-Help: <mailto:ros-sig-gui-request@code.ros.org?subject=help>
List-Subscribe: <https://code.ros.org/mailman/listinfo/ros-sig-gui>,
	<mailto:ros-sig-gui-request@code.ros.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: ros-sig-gui-bounces@code.ros.org
Errors-To: ros-sig-gui-bounces@code.ros.org

Hi Dave,

> I will chime in from Willow Garage that we are looking to move to Qt generally, so help in porting the rx* tools to Qt is very welcome.  I am working on moving rviz to Qt even now, and I hope that it
> (or some part of it) will be able to plug into the rosgui framework as well.

Hopefully we can win the maintainers of the individual tools over to work on the porting...

> Dirk: can rosgui plugins run standalone as well, or do they only function inside the framework?  It occurs to me that it might be nice if they could go either way.  Maybe it's as simple as making a
> wrapper script that brings up a rosgui frame with exactly one plugin in it?

No and Yes ;-)

A plugin can not run fully standalone as the functionality provided by the framework (i.e. creating the QApplication, QMainWindow etc.) is missing.
A wrapper script would need to mimic the same behavior as ROS GUI and interact exactly as ROS GUI does (which would require quite some code).

But therefore the ROS GUI has a command line option "--standalone <PLUGIN-NAME>" which can be used to start the framework with only this specific plugin.
Other stuff like menu bars, perspectives etc. are then disabled.
The plugin can still save it's settings and they are restored if you start the ROSGUI again with the same standalone option.
I hope that is the feature you think is needed.

I have just pushed another commit to GIT which adds additional CLI options:
   -h, --help            show this help message and exit
   -b BINDING, --qt-binding=BINDING
                         choose Qt bindings to be used [pyqt|pyside]
   -l, --lock-perspective
                         lock the GUI to the used perspective (hide menu bar
                         and dock widget close buttons)
   -p PERSPECTIVE, --perspective=PERSPECTIVE
                         start with this perspective
   -s PLUGIN, --stand-alone=PLUGIN
                         start only this plugin (implies -L)
   --list-perspectives   list available perspectives and exit
   --list-plugins        list available plugins and exit

Especially "--list-plugins" is useful so that you do not have to guess the plugin names.
But you could also provide only a part of the plugin name (as long as it is unique in the list of all plugins).
Some kind of auto-completion for those arguments would be nice but would require to put a file to the ROS folder...

Dirk
_______________________________________________
Ros-sig-gui mailing list
Ros-sig-gui@code.ros.org
https://code.ros.org/mailman/listinfo/ros-sig-gui

