Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[swtbot-dev] Unable to access context menus in sub classes of an Xviewer tree

Eclipse Version: Juno Service Release 2
SWTBot Version: 2.2.2.201504201611

Hello,
I am currently working with a team that created a new manager which is accessed inside a tab in an eclipse run time program
Inside this manager, there is an Xviewer table as shown below:
Inline image 1
Note: The context menu of the first level (DEALERDB) is different from the context menu of the second layer (any of the segments, such as ORDER). Also, different columns have different functionality. If you LEFT click any of the rows in the second column (State) you are given a different context menu, however if you RIGHT click them, you still get the same context menu as before which is shown in the picture above.

I am trying to gain access to the second layer's context menu which can be reached by right clicking any item in the second layer.

My issue is that regardless of what functions I call, the only context menu it reads is the different context menu that only applies to the top level (DEALERDB)

The only way I can get the correct context menu to click the item I need is by manually right clicking that segment when it begins it's search of the item in debug mode

tree = bot.tree(2);   // This gains hold of that tree shown in the picture above
SWTBotTreeItem[] dbdtrees = tree.getAllItems(); // Gets all the items in the tree
tree.expandNode(dbdName); //Expands the tree to show the second layer with segments
dbdtrees[0].getNode("ORDER").contextMenu("Import COBOL or PL/I Data Structures").click();

The above code works without error, however, it selects and click's the ORDER segment but choses the "Import ..." menu from the base DEALERDBD file (I can check because the wizard would have different settings on start). Both the top level dbd and child level segments contain "Import ..." as one of their menus however the top level does not contain "Add or Edit Fields" while the lower does contain it as shown in picture above.

If I attempt to change it to
dbdtrees[0].getNode("ORDER").contextMenu("Add or Edit Fields").click();

Then the program freezes at that stage and gives an error of widget not found. However if I chose to right click that segment myself when it searches for the menu, it finds and clicks the correct item and opens the correct wizard

I posted a forum thread and have not gotten any replies in over a month
I would really appreciate any help and need to get this resolved ASAP because it pertains to my work.

Thank you for your time
Saar

Back to the top