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

Document rqt_plot backend as public API #236

Merged
merged 6 commits into from
Jun 9, 2014

Conversation

trainman419
Copy link
Contributor

This builds on top of #232 and moves the DataPlot class into rqt_py_common.data_plot

It also adds documentation, and adds a clear_values method to facilitate implementation of #231

Merge after #232

@ablasdel ablasdel mentioned this pull request May 29, 2014
@ablasdel
Copy link
Contributor

I will probably need feedback from @DorianScholz to merge one this big but I will take some time to test this either today or tomorrow.

@ablasdel
Copy link
Contributor

After moving this into rqt_py_common doesn't rqt_py_common depend on the plotting libraries now instead of rqt_plot? the package.xml should be changed to reflect that.

edit Never mind I see what you are doing now, making it up to the implementing plugin to decide

@trainman419
Copy link
Contributor Author

No, I think you're right; this should probably include moving the dependencies on plotting libraries into rqt_py_common. Just an oversight on my part.

@dirk-thomas
Copy link
Contributor

I don't see a reason why the plotting code should be moved to the common package. rqt_bag can just depend on the rqt_plot package.

@trainman419
Copy link
Contributor Author

I'd like to see the plotting backend code moved out of rqt_plot, just so that anyone working on it has an understanding that's its used in more than one place. I don't really care where it ends up, but I would like it to be clear that this is common code and not just used by rqt_plot.

Basically, I'd like to avoid having future changes to the plotting code break the rqt_bag plugin, because the author wasn't aware that it was used elsewhere.

@ablasdel
Copy link
Contributor

I agree with @trainman419 here. Isn't the whole point of py_common to house common code elements that are reusable/reused in multiple places?

@dirk-thomas
Copy link
Contributor

Yes, but consider the dependencies this refactoring implies. I another package now uses the rwt_py_common` stuff just to get a combo box containing topic names e.g. it pull in dependencies like matplot etc.

Common is meant to contain "common" generic functionality - the plotting requires very specific additional dependencies and therefore I would think it should no go into common. Actually we should add this rational to the package description of rqt_py_common: #237

It is perfectly valid to keep the code in the rqt_plot package. To clarify that the code is being used by other plugins the package could state that the plot widget API is meant to be public and used by other plugins to reuse the functionality. This could go into the package description, a readme file and/or into the specific Python files which are considered public API.

@trainman419
Copy link
Contributor Author

@dirk-thomas ok; I'll go with that approach.

I'll update this so that it doesn't move the plotting code into rqt_py_common, and then just redo the last three days of work that I've done on top of that branch.

@trainman419
Copy link
Contributor Author

Ok; updated this PR so that it leaves the data plotting backend in rqt_plot.

@trainman419 trainman419 changed the title Move rqt_plot into rqt_py_common Document rqt_plot backend as public API May 30, 2014
@ablasdel
Copy link
Contributor

ablasdel commented Jun 2, 2014

Ok i'll try to get some time to look at the new versions.

@ablasdel
Copy link
Contributor

ablasdel commented Jun 6, 2014

+1 This looks good. There seems to be consensus on this being a good change and my tests have revealed no issues. I plan to merge end of day today if there are no objections (roughly 6 hours from this post)

@ablasdel
Copy link
Contributor

ablasdel commented Jun 9, 2014

3 days is like 6 hours right?

ablasdel pushed a commit that referenced this pull request Jun 9, 2014
Document rqt_plot backend as public API
@ablasdel ablasdel merged commit c301d19 into ros-visualization:groovy-devel Jun 9, 2014
@trainman419 trainman419 deleted the py_common_plot branch June 10, 2014 21:21
severin-lemaignan referenced this pull request in severin-lemaignan/robotpkg Aug 18, 2014
Changes since 0.2.16:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_reconfigure
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------

0.3.7 (2014-07-11)
------------------
* fix slider bar, add context menus for common operations (`#251
<https://github.com/ros-visualization/rqt_common_plugins/issues/251>`_)
* fix bug in float range calculations (`#241
<https://github.com/ros-visualization/rqt_common_plugins/issues/241>`_)
* remove experimental suffix from rqt_reconfigure (`#256
<https://github.com/ros-visualization/rqt_common_plugins/issues/256>`_)
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------
* remove unnecessary margins to improve usability on small screens (`#228
<https://github.com/ros-visualization/rqt_common_plugins/issues/228>`_)

0.3.5 (2014-05-07)
------------------
* numerous improvements and bug fixes (`#209
<https://github.com/ros-visualization/rqt_common_plugins/pull/209>`_, `#210
<https://github.com/ros-visualization/rqt_common_plugins/pull/210>`_)
* add option to open list of names from command line (`#214
<https://github.com/ros-visualization/rqt_common_plugins/pull/214>`_)

0.3.4 (2014-01-28)
------------------

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)
* mark rqt_launch and rqt_reconfigure as experimental (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------

0.3.0 (2013-08-28)
------------------
* fix updating range limits (`#108
<https://github.com/ros-visualization/rqt_common_plugins/issues/108>`_)
* fix layout quirks (`#150
<https://github.com/ros-visualization/rqt_common_plugins/issues/150>`_)
* fix icon for closing a node (`#48
<https://github.com/ros-visualization/rqt_common_plugins/issues/48>`_)
* fix handling of enum parameters with strings

0.2.17 (2013-07-04)
-------------------
* Improvement; "GUI hangs for awhile or completely, when any one of nodes
doesn't return any value" (`#81
<https://github.com/ros-visualization/rqt_common_plugins/issues/81>`_)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_topic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------

0.3.7 (2014-07-11)
------------------
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------

0.3.5 (2014-05-07)
------------------

0.3.4 (2014-01-28)
------------------

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)
* catch and show exceptions `#198
<https://github.com/ros-visualization/rqt_common_plugins/issues/198>`_

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------
* improve rqt_topic initialization time (`#62
<https://github.com/ros-visualization/rqt_common_plugins/issues/62>`_)
* modified toggling topics to use checkbox instead of context menu (`#75
<https://github.com/ros-visualization/rqt_common_plugins/issues/75>`_)

0.3.0 (2013-08-28)
------------------
* fix cleaning old data in rqt_topic (fix `#74
<https://github.com/ros-visualization/rqt_common_plugins/issues/74>`_)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_top
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------

0.3.7 (2014-07-11)
------------------
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------

0.3.5 (2014-05-07)
------------------

0.3.4 (2014-01-28)
------------------
* fix sort order for numerical fields (`#205
<https://github.com/ros-visualization/rqt_common_plugins/issues/205>`_)

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)
* fix an error caused by SIGKILLing nodes

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------

0.3.0 (2013-08-28)
------------------
* remove copy of psutil module and implement missing function (`#105
<https://github.com/ros-visualization/rqt_common_plugins/issues/105>`_)

0.2.17 (2013-07-06)
-------------------
* Embeds python-psutil in the package in order to be enabled on Ubuntu Precise
* first release of this package into hydro

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_image_view
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------

0.3.7 (2014-07-11)
------------------

0.3.6 (2014-06-02)
------------------

0.3.5 (2014-05-07)
------------------
* list image transport topics if parent image topic is not available (`#215
<https://github.com/ros-visualization/rqt_common_plugins/issues/215>`_)

0.3.4 (2014-01-28)
------------------

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)
* properly handle aligned images
* wrap cv calls in try-catch-block (`#201
<https://github.com/ros-visualization/rqt_common_plugins/issues/201>`_)

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------
* fix event handling for rqt_image_view enabling to run multiple instances
simultaneously (`#66
<https://github.com/ros-visualization/rqt_common_plugins/issues/66>`_)
* add rqt_image_view to global bin (`#168
<https://github.com/ros-visualization/rqt_common_plugins/issues/168>`_)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_bag_plugins
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------
* fix missing installation of resource subfolder

0.3.7 (2014-07-11)
------------------
* add plotting plugin (`#239
<https://github.com/ros-visualization/rqt_common_plugins/issues/239>`_)
* fix rqt_bag to plot array members (`#253
<https://github.com/ros-visualization/rqt_common_plugins/issues/253>`_)
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------

0.3.5 (2014-05-07)
------------------
* fix PIL/Pillow error (`#224
<https://github.com/ros-visualization/rqt_common_plugins/issues/224>`_)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_plot
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------
* fix missing installation of Python subpackage

0.3.7 (2014-07-11)
------------------
* fix missing import (`#248
<https://github.com/ros-visualization/rqt_common_plugins/issues/248>`_)
* significant improvements and unification of different plot backends (`#239
<https://github.com/ros-visualization/rqt_common_plugins/issues/239>`_, `#231
<https://github.com/ros-visualization/rqt_common_plugins/issues/231>`_)
* make more things plottable including arrays and simple message types (`#246
<https://github.com/ros-visualization/rqt_common_plugins/issues/246>`_)
* make DataPlot a proxy for its plot widget, redraw after loading new data, add
clear_values (`#236
<https://github.com/ros-visualization/rqt_common_plugins/issues/236>`_)
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------
* subscribe to any known topic, even if currently not available (`#233
<https://github.com/ros-visualization/rqt_common_plugins/pull/233>`_)

0.3.5 (2014-05-07)
------------------
* change minimum padding to enable viewing arbitrarily small values (`#223
<https://github.com/ros-visualization/rqt_common_plugins/pull/223>`_)
* redraw plot only on new data to reduce cpu load, especially with matplot
(`#219 <https://github.com/ros-visualization/rqt_common_plugins/issues/219>`_)

0.3.4 (2014-01-28)
------------------

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)
* add checkbox to toggle automatic scrolling of plot with data
* add simple legend for pyqtgraph backend

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------

0.3.0 (2013-08-28)
------------------
* fix waiting on unpublished topics (`#110
<https://github.com/ros-visualization/rqt_common_plugins/issues/110>`_)
* fix rendering of icons on OS X (`ros-visualization/rqt#83
<https://github.com/ros-visualization/rqt/issues/83>`_)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_console
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------

0.3.7 (2014-07-11)
------------------
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------

0.3.5 (2014-05-07)
------------------

0.3.4 (2014-01-28)
------------------

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)
* use icons instead of text when available, refactor pause/resume button

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------
* rewrite of rqt_console to drastically improve performance (`#186
<https://github.com/ros-visualization/rqt_common_plugins/pull/186>`_)

0.3.0 (2013-08-28)
------------------
* pause button no more saves state (`#125
<https://github.com/ros-visualization/rqt_common_plugins/issues/125>`_)
* persist message limit (`#138
<https://github.com/ros-visualization/rqt_common_plugins/issues/138>`_)
* add ability to set logger level (`#117
<https://github.com/ros-visualization/rqt_common_plugins/issues/117>`_)
* add tooltips to table cells (`#143
<https://github.com/ros-visualization/rqt_common_plugins/issues/143>`_)
* improve labels for filters (`#146
<https://github.com/ros-visualization/rqt_common_plugins/issues/146>`_)
* fix time column when loading data from file (`#160
<https://github.com/ros-visualization/rqt_common_plugins/issues/160>`_)
* fix applying message limit on change (`#133
<https://github.com/ros-visualization/rqt_common_plugins/issues/133>`_)
* fix clear button to remove all messages (`#141
<https://github.com/ros-visualization/rqt_common_plugins/issues/141>`_)
* fix sorting to use row index to decide order between equal values (except for
time column) (`#124
<https://github.com/ros-visualization/rqt_common_plugins/issues/124>`_)
* fix locking of message queue
* fix rendering of icons on OS X (`ros-visualization/rqt#83
<https://github.com/ros-visualization/rqt/issues/83>`_)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package rqt_graph
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.3.8 (2014-07-15)
------------------

0.3.7 (2014-07-11)
------------------
* fix compatibility with Groovy, use TopicStatistics only if available (`#252
<https://github.com/ros-visualization/rqt_common_plugins/issues/252>`_)
* export architecture_independent flag in package.xml (`#254
<https://github.com/ros-visualization/rqt_common_plugins/issues/254>`_)

0.3.6 (2014-06-02)
------------------

0.3.5 (2014-05-07)
------------------
* add displaying of topic/connection statistics along edges (`#214
<https://github.com/ros-visualization/rqt_common_plugins/pull/214>`_)
* using CATKIN_ENABLE_TESTING to optionally configure tests (`#220
<https://github.com/ros-visualization/rqt_common_plugins/pull/220>`_)

0.3.4 (2014-01-28)
------------------

0.3.3 (2014-01-08)
------------------
* add groups for rqt plugins, renamed some plugins (`#167
<https://github.com/ros-visualization/rqt_common_plugins/issues/167>`_)

0.3.2 (2013-10-14)
------------------

0.3.1 (2013-10-09)
------------------
* modified zooming method to work better on high-res trackpads like Macbook
Pros (`#187
<https://github.com/ros-visualization/rqt_common_plugins/pull/187>`_)

0.3.0 (2013-08-28)
------------------
* fix rendering of icons on OS X (`ros-visualization/rqt#83
<https://github.com/ros-visualization/rqt/issues/83>`_)

0.2.17 (2013-07-04)
-------------------
* Improve checkbox labels and tooltips wording.
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.

3 participants