QUESTION How do I dynamically add icons to a container and use context menus in different variations? ANSWER To learn how to dynamically add icons to a container during runtime, instead of statically during development time, see the example in the VisualAge User's Guide and Reference Manual pages 229-236. This example allows you to use a context menu while clicking the second mouse button anywhere in the container surface except on top of the icons. There are other ways to use the context menu. For instance, you may want to be able to bring up the context menu while both clicking the second mouse button on the container surface and on top of the icons. To do this, you just have to modify the following method: fillContainer: itemsCollection defaultAction: aScriptName iconGadget := (AbtIconGadgetView new label: each; largeIcon: icon; parentView: container; openWidget; menu: ((self subpartNamed: 'Menu') yourself) <=add this line yourself). By adding that one line, you can now click anywhere inside the container including on top of the icons and see a context menu. Another variation to the use of context menus within a container is to click the second mouse button on top of the icon and see a context menu but not see a context menu when you click the second mouse button from anywhere else in the container. To do this you will edit the same method. But now, that same segment of code will look like this: iconGadget := (AbtIconGadgetView new label: each; largeIcon: icon; parentView: container; openWidget; menu: (((self subpartNamed: 'Menu') yourself) createWidget; setPostCreationSettings; yourself); yourself). In addition to changing this piece of code, you also must delete the connection between the container's menu attribute and the menu's self attribute. After these few changes, you should now be able to only see a context menu by clicking the second mouse button on the icons only, not on the container's surface.