<--- Cannot embed stylesheet: [Errno 2] No such file or directory: '../../../../aros.css' --->

Scrollbar.mui

MUIA_Scrollbar_IncDecSize

Function

Set the amount argument passed by arrow Timer notifications to
Prop_Increase and Prop_Decrease. Default one.

Inputs

ULONG; initialize, set and get. Getter writes the stored amount to IPTR
storage.

Notes

Setting rebuilds each existing arrow Timer notification: KillNotify
removes notifications for Timer, then a new increase/decrease
notification is registered. Results are ignored. Zero and large amounts
are accepted without validation. Prop applies its own deltafactor and
bounds; the amount is not an unconditional pixel count. In border mode
there are no arrow Image objects, so this attribute is stored but does
not configure the window arrow gadgets.

Bugs

A getter value confirms stored state, not successful notification
registration. Prop arithmetic can overflow for large amount/factor
combinations; no extra validation is provided here.

MUIA_Scrollbar_Type

Function

Choose the ordering of Prop and arrow children. Default is
MUIV_Scrollbar_Type_Default.

Inputs

LONG; initialize only. Use Default, Top, Bottom or Sym.

Notes

Top initially orders Prop, decrease arrow, increase arrow. Bottom orders
decrease arrow, increase arrow, Prop. Sym orders decrease arrow, Prop,
increase arrow. Default initially uses Top order, then Setup applies the
application arrangement preference. Explicit types bypass that
preference reorder. These are actual list orders; names must not be
interpreted as a different visual ordering. With Prop_UseWinBorder, only
Prop is attached and this order is irrelevant. No local setter or getter
exists.

Bugs

Values outside the four enum constants are not rejected and select no
insertion branch outside border mode. Created objects can remain
unattached and undisposed.

MUIC_Scrollbar

Superclass

Group.mui

Description

Combine a Prop child with decrease/increase arrow Images. Group_Horiz
chooses orientation at construction; default FALSE is vertical. Without
Prop_UseWinBorder, arrows use Timer notifications to call
Prop_Decrease/Increase. With a nonzero border selector, only the Prop is
attached and the Scrollbar receives the border-gadget flag.
Attached Prop/arrows are Group-owned. Scrollbar has no local disposer;
normal Group lifecycle and disposal apply. Use Prop_First, Prop_Entries
and Prop_Visible through Group forwarding to control the range. There is
no separate public Prop-child getter.

Methods

Construction creates Prop before Group and temporarily changes the first
caller ShowMe tag to TAG_IGNORE while creating Prop, then restores it.
The tag list must be writable. Additional repeated ShowMe tags are not
filtered by that single FindTagItem operation.
Setup calls Group first. For Type Default outside a window border, it
reorders the three children according to the application's scrollbar
arrangement. Its scrollbar-style preference switch currently makes no
changes. Setup returns FALSE on Group failure and TRUE otherwise,
ignoring sort results. Do not add unrelated children: the default sort
enumerates only the three internal objects.

Bugs

If Group construction fails, the already created Prop is not explicitly
disposed here. Prop and arrow allocation failures are not safely
rejected before Group addition, whose helper expects non-NULL children.
An unsupported Type leaves created objects unattached because the
insertion switch has no default branch. Thus a non-NULL result is not
proof of a complete usable control.
Forwarding and child-get fallback are inherited from Group; they are not
independent storage for Prop attributes. Keep the internal children and
their notification targets intact.