void CNuGenDimensionView::OnRButtonDown(UINT nFlags, CPoint point)
{
    CChildFrame* pFrame = static_cast<CChildFrame*>(GetParentFrame());

    if (!pFrame->m_commander && !Drawer::CurrentHotObject)
    {

        CEGMenu menu;
        menu.CreatePopupMenu();
        int nItem=0;
        UINT  chs=0;
        chs = (sgGetScene()->GetObjectsList()->GetCount()!=0)?MF_ENABLED:MF_GRAYED;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_ALL_SCENE_VIEW, GetLeftHalfOfString(ID_ALL_SCENE_VIEW));
        menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR);
        chs = (!m_Camera.m_bPerspective)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_PARALL_PROJ, GetLeftHalfOfString(ID_PARALL_PROJ));
        chs = (m_Camera.m_bPerspective)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_PERSPECT_PROJ, GetLeftHalfOfString(ID_PERSPECT_PROJ));
        menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR);
        chs = (m_Camera.m_enumCameraPosition==CP_FRONT)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs, ID_FRONT_VIEW, GetLeftHalfOfString(ID_FRONT_VIEW));
        chs = (m_Camera.m_enumCameraPosition==CP_BACK)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs,  ID_BACK_VIEW, GetLeftHalfOfString(ID_BACK_VIEW));
        chs = (m_Camera.m_enumCameraPosition==CP_TOP)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_TOP_VIEW, GetLeftHalfOfString(ID_TOP_VIEW));
        chs = (m_Camera.m_enumCameraPosition==CP_BOTTOM)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_BOTTOM_VIEW, GetLeftHalfOfString(ID_BOTTOM_VIEW));
        chs = (m_Camera.m_enumCameraPosition==CP_LEFT)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs,  ID_LEFT_VIEW, GetLeftHalfOfString(ID_LEFT_VIEW));
        chs = (m_Camera.m_enumCameraPosition==CP_RIGHT)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_RIGHT_VIEW, GetLeftHalfOfString(ID_RIGHT_VIEW));
        menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR);
        chs = (m_Camera.m_enumCameraPosition==CP_ISO_FRONT)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs,  ID_ISO_FRONT_VIEW, GetLeftHalfOfString(ID_ISO_FRONT_VIEW));
        chs = (m_Camera.m_enumCameraPosition==CP_ISO_BACK)?MF_CHECKED:0;
        menu.InsertMenu(nItem++, MF_BYPOSITION|chs , ID_ISO_BACK_VIEW, GetLeftHalfOfString(ID_ISO_BACK_VIEW));
        //menu.InsertMenu(nItem++, MF_BYPOSITION|MF_SEPARATOR);

        menu.LoadToolBar( cm_icons, RGB(0,0,0) );

        //menu.SetDefaultItem(ID_EDIT_PASTE);

        CRect clR;
        GetWindowRect(&clR);

        menu.TrackPopupMenu( TPM_LEFTALIGN | TPM_LEFTBUTTON |
                             TPM_RIGHTBUTTON|0x0000, point.x+clR.left,point.y+clR.top, this);

    }
    else
    {
        if (pFrame->m_commander)
        {
            CRect clR;
            GetWindowRect(&clR);

            pFrame->CommanderContextMenu(point.x+clR.left,point.y+clR.top);

        }
        else if (Drawer::CurrentHotObject)
        {
            CRect clR;
            GetWindowRect(&clR);

            pFrame->EditCommanderContextMenu(point.x+clR.left,point.y+clR.top);
        }

    }

    COpenGLView::OnRButtonDown(nFlags, point);
}