Hello everyone,
I would like to know if there is a way to manipulate the tool palette by creating my group and adding some palettes I created within the Tool Palette. I know it can be done manually, but I would like to know how to do it with .NET.
I've found a lot of material for ObjectARX, but I would like to know if there is anything in C# .NET.
void CrearGruposPaletas()
{
TCHAR datosGrupos[1000];
//TCHAR * datosGrupos=L"Grupo3|Grupo2";
CString grupoNuevo;
CString grupoPadre;
CString pElem[50];
int res;
bool ok;
CAcTcUiToolPaletteSet *pTPSet = AcTcUiGetToolPaletteWindow();
CAcTcUiToolPaletteGroup *pPaletteGroups = pTPSet->GetToolPaletteGroup(true);
CAcTcUiToolPaletteGroup *pPaletteGroupNuevo;
CAcTcUiToolPaletteGroup *pPaletteGroupPadre;
res= acedGetString (1, _T("\nDatos de grupo: "), datosGrupos);
res=SplitString(datosGrupos,_T("|"),pElem);
//Formato: NombreGrupo|GrupoPadre
if (res == 2)
{
grupoNuevo= pElem[0];
grupoPadre=pElem[1];
pPaletteGroupNuevo = pPaletteGroups->FindGroup(grupoNuevo,true);
if (pPaletteGroupNuevo == NULL)
{
// No existe el grupo, se creara uno nuevo
//Clonar el grupo general y borrarle los elementos para que sea el nuevo grupo a agregar
ok = pPaletteGroups->Clone(pPaletteGroupNuevo);
if (ok)
{
ok = pPaletteGroupNuevo->DeleteAllItems();
}
if (ok)
{
//Asignarle el nombre al nuevo grupo
ok=pPaletteGroupNuevo->SetName(grupoNuevo);
//Buscar el grupo padre y asignarle el nuevo
pPaletteGroupPadre=pPaletteGroups->FindGroup(grupoPadre,true);
if (pPaletteGroupPadre != NULL)
{
res=pPaletteGroupPadre->AddItem(pPaletteGroupNuevo);
}
}
}
}
else if(res==1)
{
//Si no aparece GrupoPadre es el raiz
grupoNuevo = pElem[0];
pPaletteGroupNuevo = pPaletteGroups->FindGroup(grupoNuevo,true);
if (pPaletteGroupNuevo == NULL)
{
// No existe el grupo, se creara uno nuevo
//Clonar el grupo general y borrarle los elementos para que sea el nuevo grupo a agregar
ok = pPaletteGroups->Clone(pPaletteGroupNuevo);
if (ok)
{
ok = pPaletteGroupNuevo->DeleteAllItems();
}
if (ok)
{
//Si no aparece GrupoPadre es el raiz
grupoNuevo= pElem[0];
ok=pPaletteGroupNuevo->SetName(grupoNuevo);
res=pPaletteGroups->AddItem(pPaletteGroupNuevo);
}
}
}
}