Home RSS GitHub Email

TabGroup.mcc

TabGroup.mcc is a MUI custom class which provides a page group with tab headings. Pages can be added, removed, and renamed. Tabs can be reordered with drag-and-drop.

In an upcoming project I am building a MUI application which manages one document per tab. I prefer this design to managing documents in separate windows.

MUI provides a Group subclass called Register which displays each of its children on a separate page. The group has a strip of tabs along the top to identify and change pages.

Register would be a good fit were it not for one problem: the set of pages is static. As the user opens and closes documents I need to add and remove pages. This was resolved in a later version of MUI but classic Amigas generally run MUI 3.8. Later builds targeted PPC and RTG for acceptable performance.

TabGroup.mcc to the rescue! Thanks to the extensibility of MUI, and to the BOOPSI foundation that it builds upon, I was able to adapt the Group class to fit my needs. Here is a summary of improvements I’ve made:

User preferences are implemented as a MUI settings module:

A number of options are available to customize the group and its tabs. By default TabGroup.mcc follows the Register class style.

TabGroup.mcc will be released on Aminet once I have finished testing it. For now the source code and binary package are available on GitHub.