Ticket #3737 (inprogress)
Stability of CreateSampleShape GUI
Reported by: | Nick Draper | Owned by: | Anyone |
---|---|---|---|
Priority: | major | Milestone: | Backlog |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | #7802 | |
Blocking: | Tester: |
Description (last modified by Keith Brown) (diff)
The gui can cause Mantid to crash when insufficient information is present to display the sample.
e.g.
- Create a sphere (enter no details)
- Create a union above
- Add a cylinder to the union (no details)
- Click update 3d view -> freeze
Change History
comment:2 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.1 to Release 2.2
Moved at end of release 2.1
comment:3 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.2 to Release 2.3
Moved at the end of release 2.2
comment:4 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.3 to Release 2.4
Moved to milestone 2.4
comment:5 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.4 to Release 2.5
Moved at the code freeze for release 2.4
comment:8 Changed 7 years ago by Martyn Gigg
This should also be able to load a previously created shape
comment:9 Changed 7 years ago by Martyn Gigg
- Status changed from new to assigned
- Owner changed from Anyone to Keith Brown
comment:11 Changed 7 years ago by Keith Brown
There seems to be two parts to this:
- Fix the crash
- Make the custom GUI operate more sensibly, populating itself if possible.
comment:12 Changed 7 years ago by Keith Brown
Fixed crash by means of extra validation
The program should no longer freeze as it is no longer possible to update the 3D view or create the shape without entering in all the details for a component shape. If any fields don't contain a number that's convertable to double, the program will show an error message. The error doesn't show what's wrong specifically, it just tells the user there is something to check.
Refs #3737
Changeset: 549e777f0ada41034a8ca9ffb92e677b4a07d40b
comment:13 Changed 7 years ago by Keith Brown
Stashing in order to fix another ticket
Validation has had a fix as in the shape valid() methods I had negated some conditions when I shouldn't have.
Otherwise, work is starting on loading a stored shape
Refs #3737
Changeset: f1fd374d9033a3bee7855be5fda62bbd91815e03
comment:15 Changed 7 years ago by Keith Brown
Started writing the shape XML parser
The XML parser has been started and currently only gets the algebra string so that the tree can be constructed.
Next job is to actually build a data structure to hold the tree info in
Refs #3737
Changeset: d1f6d5840d0cc4f3b48909ec8241dd292b44ad90
comment:17 Changed 7 years ago by Keith Brown
Started writing equation parser
Committing to save progress before looking at another branch the equasion parser will be written as a recursive function, finding the most central opperator and splitting the string there and passing to a lower function until only a shape remains
Refs #3737
Changeset: 4dfa9c4e4dce5ad636de17c71584fe12d94e4446
comment:18 Changed 7 years ago by Keith Brown
- Status changed from new to inprogress
- Description modified (diff)
comment:19 Changed 7 years ago by Keith Brown
Equation parser taking shape
the recursive equation parsing algorithm is taking shape and the framework is nealry complete
Refs #3737
Changeset: ac1b131307d98e92fb822e25ffbf9d1c9e1b7d84
comment:20 Changed 7 years ago by Keith Brown
Parsing fucntion practically complete.
The parsing function is as complete as it can be for now, as it can't create anything before i supply the storage framework for storing the dummy tree The new constructors for the shapes need written too
Refs #3737
Changeset: 1bdfcc733770a20635e15182bdec53ed5758a96a
comment:23 Changed 7 years ago by Keith Brown
Discovered another bug where if a shape has it's complement flag set (the text in the widget has a # in it) it won't be able to be edited as setupDetailsBox() looks directly to see if item->text(0) is in m_setup_map, which it won't be as the # is in the way. so it continues without adding the editing widget, leaving a blank space.
Will have to change either the map or strip out the # before looking it up.
comment:24 Changed 7 years ago by Keith Brown
Stashing to switch tickets
Now creating the functionality to populate the tree. Committing in order to switch branches and fix a reopened ticket
Refs #3737
Changeset: fc16513906be06c008663a3c8965a0405f9c7170
comment:25 Changed 7 years ago by Keith Brown
Instanciation methods taking shape
The instanciation methods that build the QTreeWidget are taking shape.
I've added new constructors to ShapeDetails and derived classes that take a Poco::XML::Element and can fill in details from the XML contained within that element
Refs #3737
Changeset: 61cb9aba7a44b62a1c72fe5fe532b03db3db11de
comment:26 Changed 7 years ago by Keith Brown
Tree is being built, XML being parsed
The tree is being built as expected and the XML is being parsed, but i've revealed that the new way i've done something seems to mean that widgets aren't being loaded, but i'll fix that by making it get the widget a more sensible way.
Refs #3737
Changeset: 8301b67af959e1169d5da84299040675fe8b5839
comment:27 Changed 7 years ago by Keith Brown
Some shapes confirmed to work. Complement identification works
At least spheres and finite cylinders import properly, the code is there for sliceofcylinderring and infinitecylinder but they've not been tested. The other shapes are awaiting parseing code.
I had made some mistakes when it came to complements of shapes. The first was that even if they were identified they weren't getting set as them, this was because I'd accidentally redeclared the flag as local and it was going out of scope. the second was that the displayed text was wrong due to the way i was constructing the QString.
Fixed a possible memory leak (or at least objects were kept in memory and not deleted) as when i was parsing XML in the shapes, some lists weren't being released.
Refs #3737
Changeset: 95686b7279f15e92e744e44537277f4cd9f79ecd
comment:28 Changed 7 years ago by Keith Brown
All shapes now Parse XML given to them
All shapes now have a construtor that will intialise them from XML.
I still need to inlcude parts for the spherical coordinate system but once that's in all i need to do is test it out and make sure it works fully
Refs #3737
Changeset: bc1149c8e330b7f9d04e7fed8f68086d545761ca
comment:33 Changed 6 years ago by Keith Brown
This is blocked as some shapes don't render properly
comment:34 Changed 6 years ago by Keith Brown
- Owner changed from Keith Brown to Anyone
not going to get this done before i leave, leaving to anyone
There is work against this ticket on branch bugfix/3737_CreateSampleShape_freeze_and_load_fix
comment:36 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 4584
Moved to iteration 33 at iteration 32 code freeze