How can I convert this code from ObjectAXR, which works with toolpalette groups, to .NET C#?

How can I convert this code from ObjectAXR, which works with toolpalette groups, to .NET C#?

artillis_prado
Enthusiast Enthusiast
197 Views
0 Replies
Message 1 of 1

How can I convert this code from ObjectAXR, which works with toolpalette groups, to .NET C#?

artillis_prado
Enthusiast
Enthusiast

This code creates a group in the Tool Palette or retrieves an existing one, and links it to the palette. My question is how to do it in .NET C#.

 

 

void MyUtilities::CreateToolPaletteGroup(System::String^ toolPaletteGroupName)
{
	CAcTcUiToolPaletteSet *pTpset = AcTcUiGetToolPaletteWindow(); 

	CAcTcUiToolPaletteGroup *pRootTpgroup = pTpset->GetToolPaletteGroup(FALSE);

	CAcTcUiToolPaletteGroup *pMyToolPaletteGroup = NULL;
	pMyToolPaletteGroup = pRootTpgroup->FindGroup(StringToCIF(toolPaletteGroupName), TRUE);
	if(pMyToolPaletteGroup == NULL)
	{ // Does not exist, lets create it

		// Create a new Palette Group
		CAcTcUiToolPaletteGroup * pMyToolPaletteGroup = NULL;
		pRootTpgroup->Clone(pMyToolPaletteGroup);
		pMyToolPaletteGroup->Reset();
		pMyToolPaletteGroup->SetName(StringToCIF(toolPaletteGroupName));

		// Any Palette can be found in the "All Palettes group"
		CAcTcUiToolPaletteGroup *pAllPalettesGroup = pTpset->GetAllPalettesGroup();
		CAcTcUiToolPalette *pMechanicalPalette = pAllPalettesGroup->FindPalette(ACRX_T("Mechanical"), NULL);

		// Add it to the palette group
		pMyToolPaletteGroup->AddItem(pMechanicalPalette);

		// Create a new palette and add it to the palette group
		CAcTcUiManager *pToolPaletteManager = AcTcUiGetManager();
		CAcTcUiToolPalette *pMyToolPalette = pToolPaletteManager->CreatePalette(ACRX_T("MyPalette"));
		pMyToolPaletteGroup->AddItem(pMyToolPalette);

		pRootTpgroup->AddItem(pMyToolPaletteGroup);
	}

	// Set the newly create Palette group as active
	pTpset->SetActivePaletteGroup(pMyToolPaletteGroup);
}

 

 

I found this code in ObjectAXR, but I work with .NET C#. Is there a way to achieve the same logic in .NET C#?

 

Code ObjectAXR

https://adndevblog.typepad.com/autocad/2013/06/working-with-toolpalette-groups-using-net.html

0 Likes
198 Views
0 Replies
Replies (0)