module Fox # # The Dial widget is a valuator widget which is able to provide a cyclic # value range when the DIAL_CYCLIC is passed, or a simple linear value range. # While being turned, the dial sends a SEL_CHANGED message to its target; # at the end of the interaction, a SEL_COMMAND message is sent. # The message data represents the current value (an integer). The options # DIAL_VERTICAL and DIAL_HORIZONTAL control the orientation of the dial. # An optional notch can be used to indicate the zero-position of # the dial; display of the notch is controlled by the DIAL_HAS_NOTCH option. # # === Events # # The following messages are sent by FXDial to its target: # # +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_CHANGED+:: sent when the dial's value changes; the message data is the new value (an integer). # +SEL_COMMAND+:: sent when the user stops changing the dial's value and releases the mouse button; the message data is the new value (an integer). # # === Dial style options # # +DIAL_VERTICAL+:: Vertically oriented # +DIAL_HORIZONTAL+:: Horizontal oriented # +DIAL_CYCLIC+:: Value wraps around # +DIAL_HAS_NOTCH+:: Dial has a Center Notch # +DIAL_NORMAL+:: same a +DIAL_VERTICAL+ # class FXDial < FXFrame # Dial value [Integer] attr_accessor :value # Dial range [Range] attr_accessor :range # # The revolution increment is the amount of change in the position # for revolution of the dial; the dial may go through multiple revolutions # to go through its whole range. [Integer] # attr_accessor :revolutionIncrement # # The spacing for the small notches; this should be set # in tenths of degrees in the range [1,3600], and the value should # be a divisor of 3600, so as to make the notches come out evenly. [Integer] # attr_accessor :notchSpacing # # The notch offset is the position of the center notch; the value should # be tenths of degrees in the range [-3600,3600]. [Integer] # attr_accessor :notchOffset # Current dial style [Integer] attr_accessor :dialStyle # Center notch color [FXColor] attr_accessor :notchColor # Status line help text for this dial [String] attr_accessor :helpText # Tool tip message for this dial attr_accessor :tipText # Construct a dial widget def initialize(p, tgt=nil, sel=0, opts=DIAL_NORMAL, x=0, y=0, w=0, h=0, pl=DEFAULT_PAD, pr=DEFAULT_PAD, pt=DEFAULT_PAD, pb=DEFAULT_PAD) # :yields: theDial end end end