Project

General

Profile

Bug #5143

qview Advanced Tracking Tool does not show up with the 1st line displayed

Added by Makayla Shepherd 3 months ago. Updated 10 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Applications
Target version:
-
Impact:

Minimal - swapped 2 lines of code in AdvancedTrackingTool

Software Version:
Test Reviewer:

Description

When using the Advanced Tracking Tool through the Find Point Tool the first line is not displayed. The tool has to be resized for it to show.

Steps to reproduce:
rm -rf ~/.Isis/qview
qview
Open a cube
Select the Find tool on the right tool bar
Select the Find Point tool on the top tool bar
Enter a Sample and Line value
Click Ok
Click Record Point
Advanced Tracking tool comes up with the 2nd line at the top. This is very weird and it makes the user think that the point was never recorded.

History

#1 Updated by Tammy Becker 3 months ago

  • Status changed from New to Acknowledged

#2 Updated by Makayla Shepherd 28 days ago

  • Status changed from Acknowledged to Assigned
  • Assignee set to Adam Goins

#3 Updated by Adam Goins 28 days ago

  • Status changed from Assigned to In Progress

#4 Updated by Adam Goins 28 days ago

  • Status changed from In Progress to Resolved

The AdvancedTrackTool was causing this bug.

The problem is as follows:

void AdvancedTrackTool::record(QPoint p) {
updateRow(p);
record();
p_tableWin->showTable();
}

Essentially it's the fact that p_tableWin->showTable() is the last thing called.

If a table doesn't exist and showTable() is called, it creates the table.
showTable() is the last thing called, so if we are recording our first point and no table it showing then it updates the row, records the point, and then creates the table.
The recorded point is still there, but the displayed table is drawn after the point is recorded, therefore the first point doesn't display unless something happens to cause the table to update, such as a resize or an additional point being recorded.

By making the call to show the table first, we create the table and then record the point -- successfully recording the first point into the table.
void AdvancedTrackTool::record(QPoint p) {
p_tableWin->showTable();
updateRow(p);
record();
}

This will show the table first -- creating it if it doesn't exist -- and then populates it with the recorded point.

#5 Updated by Adam Goins 28 days ago

  • Impact updated (diff)

#6 Updated by Tammy Becker 28 days ago

  • Status changed from Resolved to Feedback

#7 Updated by Tammy Becker 28 days ago

I have tested this fix on astrovm4. While I cannot reproduce the original issue exactly as described, this fix definitely has a more stable behavior with recording a point in the Advanced Tracking tool. The fact that the first recorded point begins with a point id =1, is a good sign (rather than zero in the current release version).

There is a repeated message printed out on the xterm screen, it looks suspiciously like a debugging statement that needs to be removed, the reason this is set to Feedback. This message is printed out the minute I load an image.
Update Row is called
Update Row is called
Update Row is called
Update Row is called
Update Row is called
Update Row is called...

It is beyond the scope of this ticket, but the Advanced Tracking tool box completely covers the "help" box; I didn't realize there was a help box until I moved the Advanced Tracking tool box.

#8 Updated by Lynn Weller 27 days ago

I can not reproduce the original problem under the production version of isis, though I have seen some odd behaviour w/ tracking leaving rows blank on occasion for unknown reasons, so maybe this will help that scenario.

In general, things seem to be working ok, meaning the changes that although the changes are not apparent to me (because I don't see the problem), nothing seems to be broken.

Does anyone what the ID column is suppose to be about? In both production and this version if rows are recorded in the table, say the last recorded ID is 4 (it seems to increment with each save), if the table is cleared the ID does not start over at 1 (or 0, whatever the case may be), it picks up from where it left off. I'm just wondering if this is expected. I don't ever use that column so I don't know what it represents and why it would increment and start over.

Anyway, nothing immediately strikes me as a problem in regard to the changes, except for the possible debug statement going to the shell as Tammy has pointed out.

#9 Updated by Adam Goins 26 days ago

  • Status changed from Feedback to Resolved

The "Update row is called" was a debug statement that was mistakenly left in, it has been removed.

The behavior of the row ID's for the advanced track tool does appear to be strange -- You can record 10 points and then clear the table, but the next recorded point's ID will pick up where the previously uncleared table left off.
I'm not sure if that is the desired behavior or not.

#10 Updated by Summer Stapleton 10 days ago

  • Status changed from Resolved to Feedback

Take a look at your history comment again. Made a call to showTable() where? (Maybe something along the lines of "Updated so-and-such-method to do draw the recorded point...")

#11 Updated by Adam Goins 10 days ago

Updated the history comment to be less vague.

  • Updated the record(QPoint p) function to call showTable()
  • before it attempts to record a point so that a table is created
  • to record the point into so that the first recorded point is drawn.
  • Fixes #5143.

#12 Updated by Adam Goins 10 days ago

  • Status changed from Feedback to Resolved

Also available in: Atom PDF