These are the frequently asked questions for VisualBubble Version 1.0. 1. What is VisualBubble? VisualBubble is an add-on for VisualWorks release 2.5 and 2.5.1 to create bubble helps for widgets easily. To test this, just create a widget into a canvas (not a label or region) and select 'VisualBubble' in the properties tool. Imagine that the notebook now has minor labels! If you want to change some default settings, open the settings from the VisualLauncher and choose 'VisualBubble' again. You can specify the delays, the colors or the default fonts. 2. Which widgets can have bubbles? All UI widgets that have an active controller. Labels cannot have bubbles since they are inactive, but you can group a label and give the group a bubble help. Theoretically can all objects have labels, they just have to be a component of the active window and must respond to collectVB:. See ColorArea as an example of a class that provides help without having a VisualBubbleSpec. 3. In which system tools is help supported? In the launcher, the palette and the canvas tool, in the mask editor, in the color tool and in the VisualBubble pages of the settings and the properties tool. You can easily add help to other tools, but only the properties tool provides full support for long help. If you want this in other tools (e.g. in other pages of the settings), the you could copy out the labels of UISettings class>>visualBubbleSpecXXX, and implement a raiseHelp:-method into the ApplicationModel. You don't need to implement this in UISettings, just group the accept-reset-help buttons and name this group buttonGroup. 4. I used VB in my own application and want to distribute that now. What can I do? No problem. Everybody may feel free to give it away and distribute it inside his own tools and applications. The only restriction is that you may not sell software that mainly consists of ONLY Visualbubble; say, if you sell a program that includes VisualBubble, you must earn money for the rest of the program, not for the bubble help feature. It's the same whether you sell it as an image or as source code; in the latter case, just add the Visualbubble code to it. Okay, there are a few more restrictions: - You must not say that YOU where the author of VB. - If you distribute the pure VisualBubble for free, you must leave the code unchanged, and you must distribute all files of this package. - It would be very laudable if you could add my name as the author somewhere; if you give the source code away, leave my name in the class comments. mail me if this is not possible. - If you use VB in your own software, I would be pleased if you could send me a mail, including how many people will work with it, so that I know who takes care of my bubbles. 5. Can I use part of the code for my own tools (not only the bubbles themselves)? Of course! For example, if you want to use the feature of minor keys in the settings and properties tool, just look at the methods #slices and UISettings class>>initialize to see how you can add own pages to them. If you want icons for other applications in the VisulLauncher, extend the method allPossibleSpecs in its class, and the icon will be automatically positioned if the application is in the system. (In a much better way than the ExternalDatabaseIcon, what is just invisible!) If you want to use these parts as a part of your own product, but not the bubble help, feel free to use only the needed part of VB. You don''t need to name me in the programmer's list, if you don't want, for such a small part of code, but please mail me anyway that you distribute it. 6. I want to use ViusalBubble in my (public domain) utility, but don't want to add the full bubble help functionatlity to this. What can I do? If you have defined help texts and/or attributes in your widgets, and no VB is in the image present, your canvases won't open. The reason is that no Spec class would understand bubbleHelp: etc. But you can use a trick: Define dummy methods #bubbleHelp:, #helpAttributes: and #longHelp: in NamedSpec (that is normally the superclass) to avoid errors. You could test "Smalltalk includesKey: #VisualBubble" to not to noverload the image with unnecessary methods. But be warned: If you re-install a canvas without VB, your help texts will be lost! 7. I have other tools in my image, too. Does VB disturb them? If the tool is the Refactoring Browser by John Brant, then it's okay; it's better to first file in the Browser, then the VisualBubble, otherwise the bubbles of the VisualLauncher buttons would be lost. If you have the Advanced Programming Tools, you will have an extra icon for the Full Browser. For all other tools: I don't know. See changed.txt for a complete list of changed methods and definitions. The most dangerous parts are: - Tools that add extra pages into the UISettings or the UIProperties, as VB overrides the most defining methods. - Tools that add cursors, as the Cursor definition is changed for caching the exact corner points of the cursors (otherwise, e.g., a bubble at the right side of the normal cursor would be far too far away). There are other changes in VisualWorks classes, but I think they are not too relevant for other tools. The best way is trying it out! 8. I use VisualWorks version immemorial; will VB work? VisualBubble works for VisualWorks release 2.5 and 2.5.1. I couldn't try it on version 2.0, but I can't believe that this will do so. It does definitely NOT work with versions former to 2.0, and it does not work with VisualWave. I could adapt it for VisualWave, but why? If you build a canvas, you could not use help bubbles anyway, due to the lack of help bubbles in HTML. 9. Where do the funny images come from? I'm a programmer, not a painter, so I simply stole them from some WWW pages. 'Bob' from the intro screen is from the following page: http://www.stevie.powerup.com.au/~ghall/bubble.html It's a Bubble Bobble page, a fantastic Amiga/C64/etc. game from 1986! Bob was originally painted by Jonathan Dawes, Email: jond@videologic.com. He gave his permissions to use it, but the copyright lies still at him. The silly frog is from an unknown page: I forgot the link! I thought it was from the German railroad company, but they don't have it there. Maybe the poor creature has been removed? If someone finds him somewhere, please mail me! 10. Are there known bugs? Well, I do think that there are many "language bugs" in the texts, maybe in the goofy comments of pinhead the frog. I was never a crack in English lessons, learned much more from the Internet than from school books. There is a bug with the label sizes: With some font settings, the bubble window has bad sizes. That seems to be a bug in the preferredBounds of the Text, as Visualbubble only asks the Label for its bounds to calculate the extent; or it is a problem with uninstalled fonts on the system. I got different results on equal copmuter systems. The extent was in most cases a too small rectangle, so VB adds an offset to the label, to the origin as well as to the extent. You can change the parameters in VisualBubble>> open and ...>>bubbleHelpLabel. The welcome window had an obscure look on a very old computer: The text 'VisualBubble' was far too wide at the right and wrapped to the next line. There are no other KNOWN bugs. I have tested VB on the following systems: PC with Windows 95 (I like OS/2 much better, but our University has only the Windows version), Apple MacIntosh, and Sun Solaris. Please send all bug reports to kuhlmann@fzi.de, so I can generate a patch. 11. Who is the genius who wrote such a wonderful tool? It's me! Contact me at: kuhlmann@fzi.de Michael Kuhlmann Gottesauerstrasse 11 D-76131 Karlsruhe, Germany +49 721 698 947 VisualBubble and this document are written and copyright by the above author. Finished on July 5th, 1996, at 2:35 am CET. Good night! Kuli As long as there's enough ice-cold beer in the fridge, as soon as Hannover 96 has raised to the first league while f**** Bayern Muenchen is DOWN, the instant Bill Gates has died from an exception in his brain, life will be lovable!