Newer
Older
module Fox
#
# The scroll bar is used when a document has a larger content than may be made
# visible. The range is the total size of the document, the page is the part
# of the document which is visible. The size of the scrollbar thumb is adjusted
# to give feedback of the relative sizes of each.
# The scroll bar may be manipulated by the left mouse button (normal scrolling), by the
# middle mouse button (same as the left mouse only the scroll position can jump to the
# place where the click is made), or by the right mouse button (vernier- or fine-scrolling).
# Holding down the control key while scrolling with the left or middle mouse button also
# enables vernier-scrolling mode. The vernier-scrolling mode is very useful for accurate
# positioning in large documents.
# Finally, if the mouse sports a wheel, the scroll bar can be manipulated by means
# of the mouse wheel as well. Holding down the Control-key during wheel motion
# will cause the scrolling to go faster than normal.
#
# === Events
#
# The following messages are sent by FXScrollBar to its target:
#
Lars Kanis
committed
# +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
# +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
# +SEL_MIDDLEBUTTONPRESS+:: sent when the middle mouse button goes down; the message data is an FXEvent instance.
# +SEL_MIDDLEBUTTONRELEASE+:: sent when the middle mouse button goes up; the message data is an FXEvent instance.
# +SEL_RIGHTBUTTONPRESS+:: sent when the right mouse button goes down; the message data is an FXEvent instance.
# +SEL_RIGHTBUTTONRELEASE+:: sent when the right mouse button goes up; the message data is an FXEvent instance.
# +SEL_CHANGED+::
# sent continuously while the scroll bar is moving; the message data is an integer
# indicating the current position of the scroll bar.
# +SEL_COMMAND+::
# sent at the end of a scrolling operation, to signal that the scrolling is complete.
# The message data is an integer indicating the new position of the scroll bar.
#
# === Scrollbar styles
#
Lars Kanis
committed
# +SCROLLBAR_HORIZONTAL+:: Horizontally oriented
# +SCROLLBAR_VERTICAL+:: Vertically oriented (the default)
Lars Kanis
committed
# +ID_TIMEWHEEL+:: x
# +ID_AUTOINC_LINE+:: x
# +ID_AUTODEC_LINE+:: x
# +ID_AUTOINC_PAGE+:: x
# +ID_AUTODEC_PAGE+:: x
# +ID_AUTOINC_PIX+:: x
# +ID_AUTODEC_PIX+:: x
#
class FXScrollBar < FXWindow
# Content size range [Integer]
attr_accessor :range
# Viewport page size [Integer]
attr_accessor :page
# Scroll increment for line [Integer]
attr_accessor :line
# Current scroll position [Integer]
attr_accessor :position
# Highlight color {FXColor}
# Shadow color {FXColor}
# Border color {FXColor}
attr_accessor :borderColor
# Scroll bar style [Integer]
attr_accessor :scrollbarStyle
# Bar size [Integer]
attr_accessor :barSize
#
# Return an initialized FXScrollBar instance.
#
# ==== Parameters:
#
# +p+:: the parent widget for this scroll bar {FXComposite}
# +target+:: the initial message target (if any) for this scroll bar {FXObject}
Lars Kanis
committed
# +selector+:: the message identifier for this scroll bar [Integer]
# +opts+:: the options [Integer]
# +x+:: initial x-position, when the +LAYOUT_FIX_X+ layout hint is in effect [Integer]
# +y+:: initial y-position, when the +LAYOUT_FIX_Y+ layout hint is in effect [Integer]
# +width+:: initial width, when the +LAYOUT_FIX_WIDTH+ layout hint is in effect [Integer]
# +height+:: initial height, when the +LAYOUT_FIX_HEIGHT+ layout hint is in effect [Integer]
#
def initialize(p, target=nil, selector=0, opts=SCROLLBAR_VERTICAL, x=0, y=0, width=0, height=0) # :yields: theScrollBar
end
end
#
# Corner between scroll bars
#
class FXScrollCorner < FXWindow
#
# Return an initialized FXScrollCorner instance, where _p_ is the
# parent window (an FXComposite instance).
#
def initialize(p) # :yields: theScrollCorner
end
end
end