NAME speedbar_gc -- create speedbar BOOPSI objects SUPERCLASS gadgetclass REQUIRES bevel.image DESCRIPTION This classes provides a simple way to create and manage "Speed Bars", also commonly called Button Bars, tool docs, etc. A speed bar is a horizontal row or vertical column of button gadgets, usually with an image face denoting some program function. The speedbar gadget could be placed in the main programs window or perhaps its own window to form a floating speedbar/tooldoc. An advantages that this class provides: > Speedbar button strip created & removed as a single gadget. > Help strings for each button can be provided, and displayed in a window title bar while a button is depressed. > Supports Right Mouse Button abort. > Supports window relativity. > custom centered images. > Ability to change background color of the speed bar strip or use fill hook pattern. > Horizontal or Vertical speed bar orientation. > Supports hiding and exposing speed buttons in the bar. > Supports scrolling additional speed buttons in to view via holding down the SHIFT key while clicking and dragging the mouse left/right or up/down depending on the SPEEDBAR_Orientation setting. > Supports OM_NOTIFY and may be attached to either button.gadget, scroller.gadget and/or propgclass to scroll the speed buttons if more buttons exist that are visible within its bounds. However, this as a slight unresolvable bug. METHODS OM_NEW -- Passed to superclass, defaults set, then OM_SET. OM_SET -- Passed to superclass, options tags set then rendered. OM_GET -- custom tag returned or passed to superclass. OM_UPDATE -- Passed to superclass, options set then rendered. OM_NOTIFY -- Passed to superclass, options set then rendered. OM_DISPOSE -- Passed to superclass. GM_RENDER -- Passed to superclass, then speedbar is rendered. GM_HITTEST -- Overrides supperclass, returns GMR_HITTEST. GM_GOACTIVE -- Passed to superclass, speedbar activated. GM_HANDLEINPUT -- Overrides supperclass, all input processed. GM_GOINACTIVE -- Passed to superclass, speedbar deactivated. GM_DOMAIN -- Returns GDOMAIN_MINIMUM and GDOMAIN_MAXIMUM dimensions. ATTRIBUTES SPEEDBAR_Buttons (struct list *) An Exec list. Nodes in this list must be allocated with allocspeedbuttonnodea(). See the included SpeedBarTest.c example for additional information. Passing a NULL list will remove all buttons from the speedbar and detatch the buttons. Passing ~0 will detach all buttons but not erase the display, useful when working on the list data, or while changing button lists. Applicability is (OM_NEW,OM_SET,OM_GET) SPEEDBAR_Orientation (WORD) Define orientation of the speedbar's button strip. Accepted values as defined in <gadgets/speedbar.h> are: SBORIENT_HORIZ SBORIENT_VERT Defaults to SBORIENT_HORIZ Applicability is (OM_NEW,OM_SET,OM_GET) SPEEDBAR_Background (WORD) Background colour to appear behind gadget. Defaults to 0. Applicability is (OM_NEW,OM_SET,OM_GET) SPEEDBAR_Window (struct window *) This Window's TitleBar will changed to the selected button's help text while the button remains selected. Defaults to NULL. Applicability is (OM_NEW,OM_SET,OM_GET) NOTE: SPEEDBAR_Screen is *NOT* implemented. SPEEDBAR_StrumBar (BOOL) enable "strumming" mode, where by you can drag the mouse over the button bar to view the help titles and release mouse button select the speed button under the mouse. Defaults to FALSE. Applicability is (OM_NEW,OM_SET) NOTE: SPEEDBAR_StrumBar has been disabled to support other features available now, and in the future. SPEEDBAR_OffButton (SHORT) Disconnect a specified button ID from the speedbar display, but does not remove or deallocate button from the list. Applicability is (OM_SET, OM_UPDATE) SPEEDBAR_OnButton (SHORT) Reconnect specified button ID to the speedbar. Applicability is (OM_SET, OM_UPDATE) SPEEDBAR_ScrollLeft (BOOL) Scrolls the speedbuttons to the Left or Up depending on gadget orientation. Applicability is (OM_SET, OM_UPDATE) SPEEDBAR_ScrollRight (BOOL) Scrolls the speedbuttons to the Right or Down depending on gadget orientation. Applicability is (OM_SET, OM_UPDATE) SPEEDBAR_Top (WORD) Set or retrieve the SpeedButton ID of the Top (read First Visible) gadget in the button list. Applicability is (OM_SET, OM_UPDATE, OM_GET, OM_NOTIFY) SPEEDBAR_Visible (WORD) Retrieve the number of speed buttons visible within the gadget's container bounds. Applicability is (OM_GET, OM_NOTIFY) SPEEDBAR_Total (WORD) Retrieve the total number of speed buttons in the button list. SPEEDBAR_Total, SPEEDBAR_Visible and SPEEDBAR_Top could be mapped to a scroller's matching PGA tags to scroll the button list if so desired. Applicability is (OM_GET, OM_NOTIFY) SPEEDBAR_BevelStyle (WORD) Set bevel box style around the speed bar. In some cases complex speedbars might be built via a series of speedbars in a layout object group and it would be desirable to select other bevel styles such as BVS_NONE, which under any bevel style preferences in use, it will not render a bevel. Defaults to BVS_BUTTON. Applicability is (ON_NEW, OM_SET, OM_GET)