Share via


SysCompareContextProvider.onContextMenu Method [AX 2012]

Notifies the class that the user has right-clicked in the comparison tree pane.

Syntax

public void onContextMenu(
    int _hwnd, 
    SysComparable _comparable1, 
    SysComparable _comparable2, 
    SysComparable _topComparable1, 
    SysComparable _topComparable2)

Run On

Called

Parameters

  • _hwnd
    Type: int
    The windows handle to the tree control. Use to display the context menu.

Examples

From the SysTreenodeCompareContext.onContextMenu method:

public void onContextMenu(  
    int _hwnd,  
    SysTreeNode _comparable1,  
    SysTreeNode _comparable2,  
    SysTreeNode _topComparable1,  
    SysTreeNode _topComparable2)  
{  
    SysContextMenuCompare contextMenu = new  
        SysContextMenuCompare(_comparable1 ?  
                              _comparable1.parmTreenode() : null , 
                              _comparable2 ?  
                              _comparable2.parmTreenode() : null);  
 
    PopupMenu popupMenu  = new PopupMenu(_hwnd);  
    PopupMenu subMenu    = contextMenu.buildMenu(_hwnd, popupMenu);  
    PopupMenu menu1      = new PopupMenu(_hwnd, popupMenu);  
    PopupMenu menu2      = new PopupMenu(_hwnd, popupMenu);  
    int       newWindow1;  
    int       newWindow2;  
    int       edit1;  
    int       edit2;  
    int       property1;  
    int       property2;  
    int       sel;  
    TreeNode  node1 = _comparable1 ? _comparable1.parmTreenode() :  
         null;  
    TreeNode  node2 = _comparable2 ? _comparable2.parmTreenode() :  
        null;  
    
    if (node1)  
    {   
        newWindow1 = menu1.insertItem("@SYS53405");  
        if (SysTreeNode::hasSource(node1))  
            edit1 = menu1.insertItem("@SYS453");   
        property1 = menu1.insertItem("@SYS10344");   
        popupMenu.insertPopupMenu(_topComparable1.comparableName(),  
            menu1);  
    }   
    if (node2)  
    {  
        newWindow2 = menu2.insertItem("@SYS53405");  
        if (SysTreeNode::hasSource(node2))  
            edit2 = menu2.insertItem("@SYS453");  
        property2  = menu2.insertItem("@SYS10344");  
        popupMenu.insertPopupMenu(_topComparable2.comparableName(),  
            menu2);  
    }  
    popupMenu.insertBreak();  
    popupMenu.insertPopupMenu("@SYS28637", subMenu);  
    sel = popupMenu.draw();  
    if (!contextMenu.runMenu(sel, contextMenu))  
    {  
        switch (sel)  
        {  
            case newWindow1:  
                node1.AOTnewWindow();  
                break;  
            case newWindow2:  
                node2.AOTnewWindow();  
                break;  
            case edit1:  
                node1.AOTedit();  
                break;  
            case edit2:  
                node2.AOTedit();  
                break;  
            case property1:  
                node1.AOTshowProperties();  
                break;  
            case property2:  
                node2.AOTshowProperties();  
                break;  
        }  
    }  
}  

See Also

SysCompareContextProvider Interface

PopupMenu Class

SysTreenodeCompareContext.onContextMenu Method