Ticket #4277 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

SliceViewer: launch slice viewer and set the view from python

Reported by: Janik Zikovsky Owned by: Janik Zikovsky
Priority: critical Milestone: Release 2.0
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Andrei Savici

Description (last modified by Janik Zikovsky) (diff)

Will use SIP, same as qtiplot's bindings. Need to learn it.

Change History

comment:1 Changed 9 years ago by Janik Zikovsky

  • Status changed from new to accepted
  • Description modified (diff)

comment:2 Changed 9 years ago by Janik Zikovsky

Refs #4277: Start at exposing SliceViewer to python

Added a sip file for any MantidQt widgets to be exposed. The module is libmantidqt, which will later get some convenience functions to wrap.

Changeset: 466a7b7a64c50be0ab589f7f4bdbc3fbdaf2527c

comment:3 Changed 9 years ago by Janik Zikovsky

Refs #4277: case sensitivity fix for windows

Changeset: e41bf9c3076b7c862437038c583ee9d8c9d0f6cb

comment:4 Changed 9 years ago by Janik Zikovsky

Refs #4277: one more method exposed

Changeset: f639511b3e9d689765c4313fe5036a486b7550b6

comment:5 Changed 9 years ago by Janik Zikovsky

Refs #4277: more methods exposed

Changeset: 7907e3d5000d6d9b68d91f0677feba75ae253933

comment:6 Changed 9 years ago by Janik Zikovsky

Refs #4277 wrap c++ exceptions to python

Changeset: 790cdb8c14cbbd607c19a045c5275da5c1d52f4b

comment:7 Changed 9 years ago by Janik Zikovsky

Refs #4277 better exception handling from C++ to python

Changeset: 2cb9ce464d5eecec41a9e6932c649ce56841d4e6

comment:8 Changed 9 years ago by Janik Zikovsky

Refs #4277 exposed color scale methods

And cleaned up old methods from ColorBarWidget

Changeset: 6f6eae95e06992e3e5c6e9a2451730d402793a9e

comment:9 Changed 9 years ago by Janik Zikovsky

Refs #4277 Exposed setting the XY limits

And starting to expose Qwt types in a separate sip file

Changeset: 4fcf5ba6b1221f4331879806cf297c3c430d5202

comment:10 Changed 9 years ago by Janik Zikovsky

Refs #4277 Wrapped QwtDoubleInterval into Python list

and will leave the tests enabled on build servers

Changeset: 3cb3abbf2828ba880835d95e474f4a9f09a15d9d

comment:11 Changed 9 years ago by Janik Zikovsky

Refs #4277 fix the python module file name

and type so as to hopefully make it work on windows and mac

Changeset: 5a2d432089317fed0f9d1f3bc9263e807c17db99

comment:12 Changed 9 years ago by Janik Zikovsky

Refs #4277 exposed several more methods of sliceViewer

Changeset: 3ff5fe9a9c81247f220adc7e856209a9bd70f646

comment:13 Changed 9 years ago by Janik Zikovsky

Refs #4277 exposed several more methods of sliceViewer

Changeset: 0b539818c6658e88cec5b42d2e06407cb124f48f

comment:14 Changed 9 years ago by Janik Zikovsky

Refs #4277 doxygen documentation in SIP generated file

Added a python script that grabs doxygen and stuffs in in a .sip file. Used it on mantidqt.sip to generate a documented .sip file. Later should add it to the cmake process so that it updates automatically.

Changeset: fb4fbc366b236c34cd59fe04e3f3a9360b91ccca

comment:15 Changed 9 years ago by Janik Zikovsky

Refs #4277: old version of sip on RHEL5 fix.

Changeset: 4326b7edd60708d9eb5e6029f58ebdfd276634ee

comment:16 Changed 9 years ago by Janik Zikovsky

Refs #4277 sip doc processing shell script

Changeset: 0d6e6af74e6bb6d54121f21d0a54ad2de86d6313

comment:17 Changed 9 years ago by Janik Zikovsky

Refs #4277 script to strip docstrings from sip file

for RHEL5 old builds that dont support them.

Changeset: 654de4068eab49b7d3e2949a5e8b9f6ee040b1b8

comment:18 Changed 9 years ago by Janik Zikovsky

Refs #4277 attempt RHEL5 sip build fix

Changeset: 693265a8453109f4ad797e3a28647b65b289f582

comment:19 Changed 9 years ago by Janik Zikovsky

Refs #4277 attempt RHEL5 sip build fix

Changeset: b8ed1d498bda4d38d24b8b362d72f546b3d5d549

comment:20 Changed 9 years ago by Janik Zikovsky

Refs #4277 my test fails on every machine except mine

Changeset: 45f44ef3f1d2c1ce90c78c505e72efe0f643b810

comment:21 Changed 9 years ago by Janik Zikovsky

Refs #4340 using a factory for creating the python object

solves the segfault problem on my machine at least. Thanks Russell!!! Also Refs #4277 exposing some methods of SliceViewerWindow and of the factory. Still need to handle the singleton.

Changeset: cda977591fb8e767ebb9e357a931855fe143b0d9

comment:22 Changed 9 years ago by Janik Zikovsky

Refs #4277 attempt at test fix

Changeset: 25c2c81d0b7aff0f26e059020dd1e07c854599e0

comment:23 Changed 9 years ago by Janik Zikovsky

Refs #4277 avoid creating workspace each test in unit test

Changeset: 0205787eb6235b08fe0cb2452d0696f1f0865125

comment:24 Changed 9 years ago by Janik Zikovsky

Refs #4277 once again foiled by old python on build servers

Changeset: cfc6498378542da91a29a581f646410c6695d1fa

comment:25 Changed 9 years ago by Janik Zikovsky

Refs #4277 disabling tests

Changeset: 946c4753be58397edea61443ecd2e15b09c55aba

comment:26 Changed 9 years ago by Janik Zikovsky

Refs #4277 this should fix the python test on ubuntu 10.04

by forcing the qt objects to be deleted in the test rather than at python close. Also a mac python filename fix that may fix that problem

Changeset: 96f112364d343c65e0cf704ea1cbda6447b6525f

comment:27 Changed 9 years ago by Janik Zikovsky

Refs #4277: Start at exposing SliceViewer to python

Added a sip file for any MantidQt widgets to be exposed. The module is libmantidqt, which will later get some convenience functions to wrap.

Changeset: 466a7b7a64c50be0ab589f7f4bdbc3fbdaf2527c

comment:28 Changed 9 years ago by Janik Zikovsky

Refs #4277: case sensitivity fix for windows

Changeset: e41bf9c3076b7c862437038c583ee9d8c9d0f6cb

comment:29 Changed 9 years ago by Janik Zikovsky

Refs #4277: linker fix for mac?

Changeset: edf0e9e5e84736549afc908441062567a6e63236

comment:30 Changed 9 years ago by Janik Zikovsky

Refs #4277: one more method exposed

Changeset: f639511b3e9d689765c4313fe5036a486b7550b6

comment:31 Changed 9 years ago by Janik Zikovsky

Refs #4277: more methods exposed

Changeset: 7907e3d5000d6d9b68d91f0677feba75ae253933

comment:32 Changed 9 years ago by Janik Zikovsky

Refs #4277: add mantidqtpython to windows installer

Changeset: dc4ac84e14212880d3afd5360ee6496b30963624

comment:33 Changed 9 years ago by Janik Zikovsky

Refs #4342, #4277: Proxy object for safety around widgets

QtProxyObject wraps the underlying C++ QWidget so that it does not segfault if something deletes the underlying object

Changeset: 1b9278e6543b825eca0362f924f684ce072ebace

comment:34 Changed 9 years ago by Janik Zikovsky

  • Status changed from accepted to verify
  • Resolution set to fixed

OK I think this is complete and unit tested. I may add methods to access the LineViewer in a separate ticket.

Related ticket: #4342 for the simple methods to access them.

Related ticket: #4316 for the unit tests.

Note to testers: The wiki page at http://www.mantidproject.org/SliceViewer_Python_Interface shows how to create and modify the SliceViewer GUI.

comment:35 Changed 9 years ago by Andrei Savici

  • Status changed from verify to verifying
  • Tester set to Andrei Savici

comment:36 Changed 9 years ago by Andrei Savici

  • Status changed from verifying to closed

I checked several python methods. Everything seems to work

comment:37 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 5124

Note: See TracTickets for help on using tickets.