I'm working on a 64bit tool to add frequently used datasets and tools to the ribbon interface.
I have got basic buttons working based on one of the examples but I would like to add some more advanced functionality, like toggle buttons, grouped buttons (if that's possible?), panels/galleries and maybe some drop down lists/settings.
Looking at the RibbonLib source its difficult to see what is possible and what each function does.
What would be awesome would be a few screenshots of the ribbon interface showing the different button/control types mapped to the Mapbasic functions required to build them.
I guess you have found this article from @Peter Horsbøll Møller? https://li360.pitneybowes.com/s/article/Developer-Dojo-Using-a-MapBasic-library-to-integrate-tools-into-the-64-bit-MapInfo-Pro
I guess you want/need more documentation though??
There's also the "ExtensibilityReferenceHelp.exe" application that should be in your MapBasic folder.
Thanks @John Ievers? , that was helpful. I didn't realise RibbonLib didn't cover all the control types. It seems if I want to do more then I'll have to go the .NET route.
Thanks @James Nolet? , that's a useful resource if I end up going the .NET route.
The Extensibility Ref help has a MapBasic Tab that provides the MapBasic method used for same interface if it can be supported by MapBasic. There are only a few that can't be used in MapBasic due to usage of .NET specific types\classes. There are multiple sample apps installed with MapBasic download for .NET and MapBasic controls.
Peter, included a couple of procedures in the Ribbonlib mb that shows what ribbon features can be added and what already exists in the standard MapInfo.
Try looking at the RBNLoop and the RBNLoopCreateRibbonStatements, if you call these procedures they print out the various stages of creating most types of item.
You can do most of the items you require through the Ribbonlib, although I haven't used galleries. For me it was certainly quicker using the Ribbonlib than going down the .Net route as at the time we didn't have much .Net experience.
Thanks @Peter Horsbøll Møller? and @Bill Wemple?, I now have some of the native MapBasic functions working. I think the problem was as all elements were created using RibbonLib so they had different IDs to the internal MI ones. Once I figured out how to expose and use the correct ID I managed to get the few missing pieces working.
Thanks @David Wilson? , yeah I spotted that function in one of the sample tools Peter released which printed out the commands to a txt file.The problem was it converts the particular type of button I wanted to just a regular button.
Yes, I agree RibbonLib saves a lot of time. I'm hoping to release this tool soon, inspired by the tool you guys demo'd at the MUGUK event. The idea is to allow anyone to build a simple tab/button based interface with no MapBasic knowledge required - just edit a spreadsheet to add buttons.