Getting multiple panels in one extension
Hi,
I'm having trouble setting up multiple panels in my extension. I've seen similar posts on here but what fixed it for them doesn't seem to solve it for me!
My first panel appears fine, but clicking the menu option for the second one does nothing.
I have a WidgetBoss for each:
Class
{
kPanelAWidgetBoss,
kPalettePanelWidgetBoss,
{
IID_IPANELMENUDATA, kCPanelMenuDataImpl,
}
},
Class
{
kPanelBWidgetBoss,
kPalettePanelWidgetBoss,
{
IID_IPANELMENUDATA, kCPanelMenuDataImpl,
}
},
ALocaleIndex for each:
resource LocaleIndex (kPanelAResourceID)
{
kViewRsrcType,
{
kWildFS, k_Wild, kPanelAResourceID + index_enUS
}
};
resource LocaleIndex (kPanelBResourceID)
{
kViewRsrcType,
{
kWildFS, k_Wild, kPanelBResourceID + index_enUS
}
};
A separate PanelList for each:
resource PanelList (kPanelAResourceID)
{
{
// 1st panel in the list
kPanelAResourceID,
kPluginID,
kNotResizable,
kPanelAWidgetActionID,
"",
kPanelAMenuPath,
kPanelAMenuItemPosition,
0,0,
c_Panel,
}
};
resource PanelList (kPanelBResourceID)
{
{
// 2nd panel in the list
kPanelBResourceID,
kPluginID,
kNotResizable,
kPanelBWidgetActionID,
"",
kPanelBMenuPath,
kPanelBMenuItemPosition,
0,0,
c_Panel
}
};
A type definition:
type PanelAWidget(kViewRsrcType) : PalettePanelWidget(ClassID = kPanelAWidgetBoss)
{
CPanelMenuData;
};
type PanelBWidget(kViewRsrcType) : PalettePanelWidget(ClassID = kPanelBWidgetBoss)
{
CPanelMenuData;
};
And a definition for the resource itself:
resource PanelAWidget(kPanelAResourceID + index_enUS)
{
__FILE__, __LINE__, // Localization macro
kPanelAWidgetID, // WidgetID
kPMRsrcID_None, // RsrcID
kBindNone, // Binding (0=none)
0, 0, 207, 95, // Frame: left, top, right, bottom.
kTrue, kTrue, // Visible, Enabled
kFalse, // Erase background
kInterfacePaletteFill, // Erase to color
kFalse, // Draw dropshadow
kPanelATitleKey, // Panel name
{
}
kInternalPopupMenuNameKey // Popup menu name (internal)
};
resource PanelBWidget(kPanelBResourceID + index_enUS)
{
__FILE__, __LINE__, // Localization macro
kPanelBWidgetID, // WidgetID
kPMRsrcID_None, // RsrcID
kBindNone, // Binding (0=none)
0, 0, 207, 95, // Frame: left, top, right, bottom.
kTrue, kTrue, // Visible, Enabled
kFalse, // Erase background
kInterfacePaletteFill, // Erase to color
kFalse, // Draw dropshadow
kPanelBTitleKey, // Panel name
{
}
kInternalPopupMenuNameKey // Popup menu name (internal)
};
PanelB is nowhere to be seen.
I guess I'm missing something obvious. Can anyone help?
Thanks
Liz