[commit] r1152 - trunk/GME/Gme
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Mon Jan 31 11:02:15 CST 2011
Author: ksmyth
Date: Mon Jan 31 11:02:14 2011
New Revision: 1152
Log:
Fix GME-327: right-click model editor>insert new model couldnt find the correct role when the model has a display name. Also the Name of the newly-inserted model should be the role name or the display name, not the role name or kind name
Modified:
trunk/GME/Gme/DynMenu.cpp
trunk/GME/Gme/DynMenu.h
trunk/GME/Gme/GMEView.cpp
trunk/GME/Gme/GuiMeta.cpp
Modified: trunk/GME/Gme/DynMenu.cpp
==============================================================================
--- trunk/GME/Gme/DynMenu.cpp Fri Jan 28 17:23:42 2011 (r1151)
+++ trunk/GME/Gme/DynMenu.cpp Mon Jan 31 11:02:14 2011 (r1152)
@@ -17,14 +17,14 @@
delete items.GetNext(pos);
}
-void CDynMenu::AddItem(int id, const CString& label, const CString& helpMsg)
+void CDynMenu::AddItem(int id, const CString& roleName, const CString& displayName, const CString& helpMsg)
{
if(minID < 0)
minID = id;
maxID = id;
- CDynMenuItem* item = new CDynMenuItem(id, label, helpMsg);
+ CDynMenuItem* item = new CDynMenuItem(id, roleName, helpMsg);
items.AddTail(item);
- menu.AppendMenu(MF_ENABLED | MF_UNCHECKED | MF_STRING, id, label);
+ menu.AppendMenu(MF_ENABLED | MF_UNCHECKED | MF_STRING, id, displayName);
}
CDynMenuItem* CDynMenu::FindItem(int id)
Modified: trunk/GME/Gme/DynMenu.h
==============================================================================
--- trunk/GME/Gme/DynMenu.h Fri Jan 28 17:23:42 2011 (r1151)
+++ trunk/GME/Gme/DynMenu.h Mon Jan 31 11:02:14 2011 (r1152)
@@ -33,7 +33,7 @@
bool IsEmpty() const { return items.GetCount() == 0; }
int GetCount() const { return items.GetCount(); }
- void AddItem(int id, const CString& label, const CString& helpMsg);
+ void AddItem(int id, const CString& roleName, const CString& displayName, const CString& helpMsg);
CDynMenuItem* FindItem(int id);
};
Modified: trunk/GME/Gme/GMEView.cpp
==============================================================================
--- trunk/GME/Gme/GMEView.cpp Fri Jan 28 17:23:42 2011 (r1151)
+++ trunk/GME/Gme/GMEView.cpp Mon Jan 31 11:02:14 2011 (r1152)
@@ -4187,9 +4187,20 @@
return;
}
COMTHROW(currentModel->CreateChildObject(role,&child));
- CComBSTR nm;
- COMTHROW(role->get_DisplayedName(&nm));
- COMTHROW(child->put_Name(nm));
+ CComBSTR realRoleName;
+ CComPtr<IMgaMetaFCO> childMeta;
+ COMTHROW(child->get_Meta(&childMeta));
+ CComBSTR kindName;
+ COMTHROW(childMeta->get_Name(&kindName));
+ CComBSTR bstrRoleName;
+ COMTHROW(role->get_DisplayedName(&bstrRoleName));
+ if (kindName == bstrRoleName) {
+ CComBSTR kindDisplayName;
+ COMTHROW(childMeta->get_DisplayedName(&kindDisplayName));
+ COMTHROW(child->put_Name(kindDisplayName));
+ } else {
+ COMTHROW(child->put_Name(bstrRoleName));
+ }
CComBSTR bstr;
COMTHROW(child->get_ID(&bstr));
Modified: trunk/GME/Gme/GuiMeta.cpp
==============================================================================
--- trunk/GME/Gme/GuiMeta.cpp Fri Jan 28 17:23:42 2011 (r1151)
+++ trunk/GME/Gme/GuiMeta.cpp Mon Jan 31 11:02:14 2011 (r1152)
@@ -599,6 +599,8 @@
else {
CopyTo(bstrRoleName,label);
}
+ CString roleName;
+ CopyTo(bstrRoleName, roleName);
objtype_enum type;
COMTHROW(kind->get_ObjType(&type));
@@ -606,22 +608,22 @@
case OBJTYPE_MODEL:
if (!insertModelMenu)
insertModelMenu = new CDynMenu(CGuiMetaProject::theInstance->GetNewMenuCmdID(), "Insert New Model");
- insertModelMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), label, "Help");
+ insertModelMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), roleName, label, "Help");
break;
case OBJTYPE_ATOM:
if (!insertAtomMenu)
insertAtomMenu = new CDynMenu(CGuiMetaProject::theInstance->GetNewMenuCmdID(), "Insert New Atom");
- insertAtomMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), label, "Help");
+ insertAtomMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), roleName, label, "Help");
break;
case OBJTYPE_REFERENCE:
if (!insertReferenceMenu)
insertReferenceMenu = new CDynMenu(CGuiMetaProject::theInstance->GetNewMenuCmdID(), "Insert New Reference");
- insertReferenceMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), label, "Help");
+ insertReferenceMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), roleName, label, "Help");
break;
case OBJTYPE_SET:
if (!insertSetMenu)
insertSetMenu = new CDynMenu(CGuiMetaProject::theInstance->GetNewMenuCmdID(), "Insert New Set");
- insertSetMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), label, "Help");
+ insertSetMenu->AddItem(CGuiMetaProject::theInstance->GetNewMenuCmdID(), roleName, label, "Help");
break;
}
}
More information about the gme-commit
mailing list