Morph Menu - Copyright (C) by Fabio Ciucci 1998/99 This applet is a navigational menu: it can display up to 20 submenu's, with max 20 items each menu, but consider even the limit of the phisical space where the items are displayed. The link feature works only when you are registered by paying for the shareware. This applet contains code by Dolf van der Schaar & Andrea Fasce which is used under a licence. ************************************************************************** NECESSARY FILES. Apart from the background image and an optional overlay image, the following 5 ".class" files must be uploaded: morphmenu.class morphmenub.class morphmenuc.class Lware.class anfy.class If you use a background animation effect, you have to add the respective class file too: mmgalaxy.class or mmblobs.class. Plus, morphmenu.jar for speedy loading on recent browsers. ************************************************************************ EXAMPLE. Insert the tag in your html document as follows to add this applet to your page (Comments after the ";" symbol are code explanations and acceptable min/max values. They are not part of the applet language): ; Registration code (if you have it) ; Reglink opened in new frame? ; Name of new frame for reglink ; Optional fx ("none" or "random") ; Y offset from top where menu starts ; Optional link-statusbar y position ; Font used to paint characters ; Font size ; Alignment ("left","center","right") ; Colour or unselected text ; Colour of selected text ; Background colour ; B. Fx ("color","image","...other") ; Float mode ("YES" or "NO") ; Float window width ; Float window height ; Float window x position start ; Float window y position start ; Float window title ; Float win. always on top (YES,NO) ; If back_fx = "image": ; Background image ; If back_fx = "mmgalaxy": ; Galaxy shape ("ring" or "vortex) ; Random seed for effect generation ; Back fx ("none","blur","fire") ; Fire fade red colour (0..255) ; Fire fade green colour (0..255) ; Fire fade blue colour (0..255) ; Smooth filter ("yes" or "no") ; Back colour visible ("yes" or "no") ; If back_fx = "mmblobs": ; number of blobs (2-8) ; minimum speed (1-15) ; Blob val 1 ; Blob val 2 ; Blob val 3 ; Colour palette (1-6) ; Sinus movements ("YES" or "NO") ; Star shape ("YES" or "NO") ; Negative colours ("YES" or "NO") ; Menu structure example ; Text menu 0 item 0 ; Menu Link menu 0 item 0: submenu 1 ; Text menu 0 item 1 ; No links for menu 0 item 1 ; No Target for Url link menu 0 i. 1 ; Text menu 0 item 2 ; Url Link menu 0 item 2 ; No Target for Url link menu 0 i. 2 ; Text menu 0 item 3 ; Url link menu 0 item 3 ; Target for url link menu 0 item 3 ; Text menu 1 item 0 (back arrow) ; Menu link menu 1 item 0: go back ; Text menu 1 item 2 ; Url link menu 1 item 2 ; No Target for Url link menu 1 i. 2 ; Optional image over applet ; Over image X offset ; Over image Y offset ; Memory deallocation delay ; Task priority (1..10) ; Min. milliseconds/frame for sync Sorry, your browser doesn't support Java.; Message for no java browsers. ; End of applet tag *************************************************************************** INSTRUCTIONS. The following instructions describe how to change parameters: Attempting to change the credits parameter will disable the applet. To activate the reg parameters read the shareware registration notes. In the "regcode" parameter, place the registration code you purchased from the author. If the code is correct and the applet is run from the registered domain name, you can use "link" parameters to link to a URL when the applet is "clicked". If you set "regnewframe" to "YES", you can specify a specific frame location for the menu links: "_blank" : To load the link in a new blank unnamed browser window. "_self" : To load the link into the same window the applet occupies. "_parent" : To load the link into the immediate FRAMESET parent. "_top" : To load the link into the top body of the window. You can also set a custom frame name, such as "myframe1". Note: you can specify specific target for specific menu items, using the parameters MenuTargetXX. If no MenuTargetXX is specified, regnewframe is used. With "statusbar_y", you can decide the postion of the text link statusbar. If you place here a value bigger than the height of the applet, the text will be not displayed. This line will be printed with the colour specified in the "textcolor". With the "menu_fx" parameter, you can enable a random flickering of the text, specifying "random" in it. Otherwise, specify "none". You can decide the y offset from top where start to draw the menu items with the "menu_y" parameter. You can control the style and size of a font using the "fontName" and "font_h" parameters, respectively. The usable fonts are "Courier", "Dialog", "Helvetica" and "TimesRoman". The text alignment can be controlled with "textalign" parameter, which can be "left","center", or "right". The colour of selected and unselected text is determined by the "textcolor" and "selectedcolor" parameters, and s in RRGGBB hex format, same as the html colour format, without the leading #. With "back_fx", you choose a type of background effect from colour, image, galaxy animation to blobs animation. If you choose "color", a filled colour determined by "backcolor" will be used. If you choose "image", a gif/jpg image, specified in "back_image", will be used. Otherwise, you can specify one of the background effects plugins available, and in this case you have to copy the necessary .class too. ; If back_fx = "mmgalaxy", here the extra parameters: mmgalaxy_fx: Galaxy shape ("ring" or "vortex) mmgalaxy_scol: Random seed color for effect generation mmgalaxy_clr: Backround burning ("none","blur","fire") mmgalaxy_r: Fire fade red colour (0..255) mmgalaxy_g: Fire fade green colour (0..255) mmgalaxy_b: Fire fade blue colour (0..255) mmgalaxy_filter: Smooth filter ("yes" or "no") mmgalaxy_bcol: Background colour visible ("yes" or "no") Remember to upload to site mmgalaxy.class. ; If back_fx = "mmblobs", here the extra parameters: mmblobs_nblobs: number of blobs (2-8) mmblobs_minspeed: minimum speed (1-15) mmblobs_bval1: Blob val 1 mmblobs_bval2: Blob val 2 mmblobs_bval3: Blob val 3 mmblobs_numpal: Colour palette (1-6) mmblobs_sinemode: Sinus movements ("YES" or "NO") mmblobs_starshape: Star shape ("YES" or "NO") mmblobs_negative: Negative colorus ("YES" or "NO") Remember to upload to site mmblobs.class and mmblob.class. ***** [The floating mode:] Optionally, you can enable the "floating window" mode. The treemenu applet, then, will appear in a floating external window, and will leave free all the other frame space on the web site. But, you still have to create a small horizontal or vertical frame (maybe 1 or 2 pixels large), containing the applet, 1 pixel large. To enable this mode: 1) Set "floatmode" to "YES" 2) Copy the applet width in the "floatw" parameter 3) Copy the applet height in the "floath" parameter 4) Set the applet width=1 and height=1 At this point, you just have to customize it using those parameters: The window title must be written in the "floatitle" parameter. The starting X and Y position where window should apper, must be written in the "floatx" and "floaty" parameters. Note: the coordinates are relative to user screen, so result can change depending on screen resolution. If you want the window to be always on top and visible, set the "floatinfront" parameter to "YES". This could be useful for someone, and annoying for others. Note: the "floatinfront" option will have no effect on some versions of Internet Explorer. ***** [Menu System:] This menu applet can display up to 20 submenu's, with any number of items within each menu, the only limitation is the physical space where display the items. Each item is defined with a menu identifier + an item identifier. For example, 00 means menu 0, item 0; 10 means menu 1, item 0; 22 means menu 2, item 2, and so on. If you need more than 10 menus or items, use character instead of numbers, for example: The numeration starts from 0, so the max menu is letter j. Please note that you are limited to 20 menus and 20 items per menu (so item/menu identifies can be in the range 0..9/a..j) Each item should have a Text label: ; Text menu 0 item 0 The text can contain numbers or special characters, too. Note: If you use "<---" as the name of a menu item, it will be drawn as a back arrow, useful for back menu items. Each menu item can have (or not have) a link. The link can be of 2 types: MenuLinkXX or MenuUrlXX: ; Menu Link menu 0 item 0: submenu 1 ; Menu link menu 1 item 0: go back When it's a MenuLink, it indicates to go to next sub menu, or to go back to previous menu. To specify the submenu, you simply specify: 0,1,2,3,4,5,6... and you can go more than one step deeper, if you want: when you are on menu 2, you can go to submenu 3, or even to submenu 4 or 5, etc. To go back to previous menu, just specify the number of menu from which you were linked to the current one. NOTE: you are obliged to specify a "BACK" item, otherwise users can't go back to the upper level. When it's a MenuUrl, you should specify a http:// or relative link to a file: ; Url Link menu 0 item 2 And, optionally, you can specify a target frame: ; Target for url link menu 0 item 3 If no target frame is specified, the "regframename" will be used. Let's see a complex example, with more than one sub-menu each screen: (0) | |_ (1) Image Gallery (MenuText00) Link: 1 | |_ <-- (MenuText10) Link: 0 | |_ (2) GIF Images (MenuText11) Link: 2 | | |_ <-- (MenuText20) Link: 1 | | |_ Flower.gif (MenuText21) Url | | |_ Portrait.gif (MenuText22) Url | | | |_ (3) JPG Images (MenuText12) Link: 3 | |_ <-- (MenuText30) Link: 1 | |_ Flower.jpg (MenuText31) Url | |_ Portrait.jpg (MenuText32) Url | |_ (4) Audio Files (MenuText01) Link: 4 | |_ <-- (MenuText40) Link: 0 | |_ Dance.wav (MenuText41) Url | |_ Classic.wav (MenuText42) Url | |_ E-Mail (MenuText02) Url Here how to build it: