US5877758A - System and method for using a slider control for controlling parameters of a display item - Google Patents

System and method for using a slider control for controlling parameters of a display item Download PDF

Info

Publication number
US5877758A
US5877758A US08/753,284 US75328496A US5877758A US 5877758 A US5877758 A US 5877758A US 75328496 A US75328496 A US 75328496A US 5877758 A US5877758 A US 5877758A
Authority
US
United States
Prior art keywords
fob
control
timescale
stop
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/753,284
Inventor
Charles Allen Seybold
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US08/753,284 priority Critical patent/US5877758A/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SEYBOLD, CHARLES ALLEN
Application granted granted Critical
Publication of US5877758A publication Critical patent/US5877758A/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/974Slider control as on-screen object in operator interface

Definitions

  • the present invention relates to a control mechanism for changing parameters of an item of a user interface presented by a computer program, and more particularly relates to changing multiple parameters of a timescale presented by a graphical user interface by operation of a slider control.
  • a display interface such as a graphical user interface (GUI)
  • GUI graphical user interface
  • a GUI typically comprises a variety of display items, each having an appearance defined by one or more controllable parameters. Because users often have different views about the way a GUI should look, computer software designers have created controls that allow users to change these parameters and to customize the appearance of the GUI.
  • a dialog is a typical control device for enabling a user to view and select desired parameters to control the appearance of a display item. From a user's perspective, a dialog often presents a wide variety of possible control options, each requiring the user to readily understand its operation based on the text or image associated with a particular control.
  • a "busy" dialog can offer a rather intimidating display for the typical user because it fails to support intuitive control operations. In other words, a dialog typically provides the typical user with multiple discrete options for varying the presentation of a display item, which can often lead to a user's confusion regarding the associated control operations.
  • Prior mechanisms for controlling parameters of a display interface also include radio buttons and pull-down menus.
  • radio buttons the user typically moves the cursor onto a button associated with the desired parameter and then selects the button to change its state.
  • Pull-down menus generally require the user to move the cursor to a desired menu, select the menu, find and select the desired parameter in the menu, and then release, thereby controlling the state of the desired parameter.
  • each of these prior control devices must be operated numerous times. This can be time consuming and tedious for the typical user.
  • a collection or set of radio buttons also presents a cluttered user interface and occupies a substantial amount of screen space.
  • Tags or labels are typically placed proximate to radio buttons denoting the function of each button.
  • Many programs are adapted for use in non-English speaking environments. Because each tag requires translation for a non-English speaking audience, the text and supporting source code for each tag would need to be modified. This presents time management issues for a programmer. Moreover, a translation of the tag text may lead to a translated tag occupying additional screen space, thereby contributing to an already cluttered user interface. Similar translation issues are presented by the text used in drop-down menus.
  • the present invention is generally directed to a control that allows adjustment of multiple parameters associated with an element or item of a user interface, such as a graphical user interface (GUI), in an easy and efficient manner.
  • a parameter is a variable that can be assigned different values for shaping the appearance of a display item.
  • the value assigned to the parameter determines the appearance of the display item.
  • the control allows a user to easily switch between display characteristics of the display item by controlling parameter values.
  • the selection of a particular control setting of the control serves to select the parameter value for the display item.
  • a conventional slider control provides a control mechanism exhibiting an efficient and intuitive manner for changing the format or appearance of the display item, such as a timescale, presented by the GUI.
  • a time-based scaling of a given view can be easily switched between predefined time scalings.
  • a slider control is a control device, comprising a fob and a rail, useful for controlling the parameters of a display item.
  • the fob is an indicator that can be selected by the user.
  • the rail is a bar, typically positioned at a horizontal or vertical location of the user interface, which can include stops associated with control operations for predefined sets of parameters. Once selected, the fob can be moved along the rail to a desired position, typically a stop associated with parameter values for a display item. The presentation of the display item can be varied by moving the fob from one position to the next along the rail, thereby varying the parameters defining the appearance of this display item.
  • the slider control is typically initialized in response to booting the computer, and initial parameters, including the size of the slider control, the number of tabs or stops, and the position of the slider control on the GUI, are defined during this initialization process.
  • a slider control avoids the need for a user to use a dialog to select desired timescale parameters because the control operation for varying these parameters is presented to the user in a single control device.
  • alternative controls such as radio buttons or drop-down menus
  • radio buttons or drop-down menus can be used to adjust multiple parameters of a user interface, they typically use a large amount of real estate for the user interface and present a cluttered look.
  • radio buttons nor drop-down menu controls offer a universal control solution for controlling multiple parameters of a display item.
  • these controls suffer from the problem of displaying options via text-based menu items, which presents language translation problems for an application program that will be distributed on an international scale.
  • the slider control provides an optimum control mechanism, particularly when compared to the prior control mechanisms with respect to screen real estate and ease of use
  • the slider control can be implemented as a conventional control device, supported by the "WINDOWS" operating system, for controlling multiple parameters associated with the presentation of a timescale on a display screen.
  • Timescales typically comprise a major timescale and a minor timescale, and each timescale can be viewed as a "ruler” that measures time along an axis.
  • the units of a major timescale can be weeks
  • the units of a corresponding minor timescale can be days.
  • a user can adjust multiple parameters associated with the major and minor timescales, including date formats, time units (months, weeks, days, etc.) and labels (April, 1996, etc.) by selecting and sliding the fob along the rail until a desired stop is reached. In this manner, the time-based scaling of a screen of text and/or graphic information can be easily varied by a user based on the use of a single intuitive control device.
  • Timescale settings can be assigned to the stops of a horizontal (or vertical) slider, or the rail, and these stops are positioned at discrete intervals along the rail.
  • Each stop or set point on the rail represents a different predefined set of parameters, and each set corresponds to a setting defining the appearance of a timescale. Because settings are packaged into specific control choices available via a single user interface control device, the user can use the slider control to achieve extensive customization of the timescale presented by the user interface.
  • the fob can move along the rail and provides a visual target or handle for the user to view during cursor movement. A user can move the fob by placing the cursor proximate to the fob, depressing a mouse button, and moving the mouse to "drag" the indicator in the desired direction along the rail.
  • timescale settings can be linked to discrete stops or set points along the rail based on a "hard-coded" table stored within memory of the computer.
  • a "tool tip” can be displayed as a label, typically as information within a window, when the indicator is placed proximate to a stop on the rail.
  • the tool tip can present text-based feedback, i.e., a tip, regarding the timescale setting associated with the present stop.
  • the text of the tool tip is updated based on the location of the fob along the rail.
  • the information conveyed by the label for a tool tip changes as the fob moves from one stop to the next stop along the rail.
  • the tool tip appears to move in the same direction as the fob is dragged by the user because the information within the tool tip is updated as the selected fob passes discrete points along the rail.
  • a tool tip also can be provided when the user places the cursor proximate to the slider control, but without selecting the fob, thereby presenting the current control setting of the slider control to the user.
  • the tool tip is typically presented to the user in a readily readable form adjacent to the slider control.
  • the slider control can receive messages from the operating system, including messages regarding information associated with an input device, such as a pointing device capable of controlling the position of a pointer in response to movement of the mouse.
  • a pointing device typically includes at least one control, such as a button, for sending control signals to the operating system based on the position of the button. Focusing on a mouse having at least one mouse button, the operating system can generate messages in response to mouse movement and mouse button position (UP or DOWN). Mouse event messages typically indicate the position of the cursor and the state of the mouse buttons.
  • the slider control in response to the user moving a pointing device, such as a mouse, to place a pointer or cursor proximate to the slider control while mouse buttons are in the UP position, the slider control will support the presentation of a tool tip containing text for the current timescale setting of the slider control. Timescale parameters typically can not be adjusted while the mouse buttons are in the UP position.
  • Timescale parameters can be adjusted, however, by moving the fob from its current stop position to another stop position.
  • This control adjustment can be achieved by depressing the mouse button while the cursor is proximate to the fob and dragging the fob along the rail to the desired stop.
  • the selected fob is moved along the rail by moving the mouse while maintaining the button in the DOWN position.
  • the text of a tool tip can dynamically change in response to the location of the fob on the rail and will contain information regarding the stop located closest to the fob.
  • the user can move the selected fob along the rail to a desired stop based on an observation of the proximate location of the stop on the rail and the information presented by each tool tip.
  • the fob will snap to the closest stop on the rail and the underlying application program will assume the settings associated with that stop.
  • the slider control will notify the application program of a setting change by sending a message to the application.
  • the application program will request the current stop position from the slider control.
  • the application program will respond to the current stop position by looking at a hard-coded table and locating the parameters associated with that current stop position.
  • FIG. 1 is an illustration of the preferred operating environment of a personal computer for supporting operation of the present invention.
  • FIGS. 2A, 2B, 2C, and 2D are screen displays illustrating a slider control for selecting a timescale setting of a user interface in accordance with an exemplary embodiment of the present invention.
  • FIGS. 3A and 3B are screen displays illustrating a slider control for selecting an alternative timescale setting of a user interface in accordance with an exemplary embodiment of the present invention.
  • FIG. 4 is a flow diagram generally illustrating the steps completed by a user to control parameters of a display item for a user interface in accordance with an embodiment of the present invention.
  • FIG. 5 is a flow diagram illustrating the steps of a computer-implemented method for controlling multiple parameters of a display item for a user interface in accordance with an embodiment of the present invention.
  • the present invention is generally directed to a computer-implemented system for controlling multiple parameters of a display item, such as a timescale, to vary the appearance of the display item by a user interface for a computer program.
  • a control preferably a slider control
  • a slider control typically comprises a fob that can slide along a rail comprising multiple stops or set points associated with control selections.
  • the fob is a visual indicator, selectable by the user, which can be moved along the rail to select a desired control operation typically associated with a stop on the rail.
  • the rail is typically implemented as a horizontal (or vertical) bar having stops, which can be depicted as tick marks at spaced intervals along the rail.
  • the fob sits on the rail and, for the representative example of a horizontal bar, can be moved left or right along the rail.
  • An input device such as a mouse or keyboard, can be used to select the fob in order to move it along the rail.
  • the desired parameters for the display item can be established by selecting and dragging the fob to the corresponding stop on the rail.
  • the input device can be used to control the position of a pointer, typically a cursor, on the screen.
  • a "tool tip” can appear on the screen.
  • the tool tip is a window that contains text-based and/or graphical information. For example, when the cursor approaches the window outline for the slider control, a tool tip appears near the slider control and displays information corresponding to the current position of the fob.
  • This information which is provided as a "tip" to support user operations of the underlying software module, describes the controllable timescale appearance associated with the stop where the fob rests.
  • the information of the tool tip can dynamically change in response to moving the selected fob from a first stop to a second stop. Once the fob is located at the desired stop, the parameters of the display item are updated, thereby modifying the appearance of the user interface.
  • FIG. 1 illustrates a conventional personal computer 10 suitable for supporting the operation of an embodiment of the present invention.
  • the personal computer 10 operates in a networked environment with logical connections to a remote computer 11.
  • the logical connections between the personal computer 10 and the remote computer 11 are represented by a local area network 12 and a wide area network 13.
  • the remote computer 11 may function as a file server or compute server.
  • the personal computer 10 includes a processing unit 14, such as the 80486 or "PENTIUM” microprocessors manufactured by Intel Corporation of Santa Clara, Calif.
  • the personal computer also includes system memory 15 (including read only memory (ROM) 16 and random access memory (RAM) 17), which is connected to the processing unit 14 by a system bus 18.
  • the computer 10 utilizes a BIOS 19, which is stored in ROM 16. Those skilled in the art will recognize that the BIOS 19 is a set of basic routines that helps to transfer information between elements within the personal computer 10.
  • a local hard disk drive 20 is connected to the system bus 18 via a hard disk drive interface 21.
  • a floppy disk drive 22, which is used to read or write a floppy disk 23, is connected to the system bus 18 via a floppy disk drive interface 24.
  • a CD-ROM drive 25, which is used to read a CD-ROM disk 26, is connected to the system bus 18 via a CD-ROM interface 27.
  • a user enters commands and information into the personal computer 10 by using input devices, such as a keyboard 28 and/or pointing device, such as a mouse 29, which are connected to the system bus 18 via a serial port interface 30.
  • Other types of pointing devices include track pads, track balls, pens, head trackers, data gloves and other devices suitable for positioning a cursor on a computer monitor 31.
  • the monitor 31 or other kind of display device is connected to the system bus 18 via a video adapter 32.
  • the remote computer 11 in this networked environment is connected to a remote memory storage device 33.
  • This remote memory storage device 33 is typically a large capacity device such as a hard disk drive, CD-ROM drive, magneto-optical drive or the like.
  • the personal computer 10 is connected to the remote computer 11 by a network interface 34, which is used to communicate over the local area network 12.
  • the personal computer 10 is also connected to the remote computer 11 by a modem 35, which is used to communicate over the wide area network 13, such as the Internet.
  • the modem 35 is connected to the system bus 18 via the serial port interface 30.
  • the modem 35 also can be connected to the public switched telephone network (PSTN) or community antenna television (CATV) network.
  • PSTN public switched telephone network
  • CATV community antenna television
  • program modules such as an operating system 36, application programs 37, and data are provided to the personal computer 10 via computer-readable media.
  • the computer-readable media include the local or remote memory storage devices, which may include the local hard disk drive 20, floppy disk 23, CD-ROM 26, RAM 17, ROM 16, and the remote memory storage device 33.
  • the local hard disk drive 20 is used to store data and programs, including the operating system and programs.
  • the preferred embodiment of the present invention is represented by the "TEAM MANAGER” program, which is an application program published by Microsoft Corporation of Redmond, Wash.
  • the preferred program which is represented in FIG. 1 as application program 37a, is a collaborative management tool that consolidates, coordinates, and tracks team activity.
  • the program allows a user to consolidate, coordinate and track a project team's information such as the amount of work completed, or actual work, on an assignment.
  • the preferred program allows users to enter information describing available resources and tasks, and then generates a schedule based on the input information.
  • the preferred program utilizes an assignment-oriented approach for generating a schedule, which results in maximizing the utilization of resources.
  • the preferred application program presents a graphical user interface (GUI), and operates in tandem with the "WINDOWS 95" operating system, which is published by Microsoft Corporation of Redmond, Wash. This gives the user visual access to resource and task data, and direct ways to view and manipulate information.
  • GUI graphical user interface
  • data is preferably stored in team-related files.
  • the user can create a Team File that contains information about team members and the tasks they work on.
  • a subset of the data in the Team File can be graphically depicted as a part of a screen display, wherein the data subset is organized in a particular way, called a "view".
  • Different views are organized around typical management activities.
  • a Workload Planner view allows the user to view tasks under way and the time set aside for the task to be completed.
  • the Workload Planner view allows a user to visually determine how work tasks are distributed across members of the team.
  • the Workload Planner View--A Timescale Presentation of Information
  • FIGS. 2A-2D and 3A-3B are illustrations showing screen displays associated with the preferred program, Microsoft's "TEAM MANAGER" program.
  • these screen displays each presented in a window 100, illustrate the Workload Planner view that shows team information, including task name and each person assigned to a task.
  • the Workload Planner view allows a user to view tasks for a team project and the time and resource(s) allocated for each task to be completed.
  • menu bar 102 which is located near the top of the screen, contains several pull-down menus 104.
  • the pull-down menus on the menu bar 102 allow the user to perform such tasks as editing, formatting and viewing files.
  • a main tool bar 106 which is located below the menu bar 102, allows the user to perform common commands by selecting buttons located on the tool bar.
  • a status bar 108 is located near the bottom of the screen and contains a return to a Program Manager button 110, and buttons for switching to other open applications 112.
  • a view banner 114 which displays "WORKLOAD PLANNER,” is located on the left-hand side of the screen, beneath the main tool bar 106, to describe the current view.
  • the view banner 114 allows the user to select the manner that information in the Team File is graphically depicted, i.e., a "view”. For example, a view is selected when the user chooses the desired view from a drop-down menu activated by selecting the inverted triangle on the left-hand side of the view banner 114.
  • the selection of the send updates button 122 allows a team manager to send updated task-related information to team members via electronic mail.
  • Tabs 124 are positioned vertically along the left hand side of the screen. The tabs 124 allow the user to view team information associated with a particular management activity. One of the tabs 124 can be selected when the user positions the cursor over the desired tab and depresses a button of the mouse. For example, to select the Workload Planner view, the "Tasks" tab must be selected. The Workload Planner view could not be selected if, for example, the "People" tab was selected.
  • the window 100 is divided into two halves, a window 126, located on the left, for viewing tasks and people and a window 132, located on the right, for viewing time.
  • the window 126 can list all task names and the people assigned to complete those tasks, as entered in the Team File.
  • the window 126 preferably includes a column 128 for tasks and a column 130 for task names entered in the Team File.
  • the columns 128 and 130 allow the user to easily identify the task-related items listed within these columns.
  • the window 132 includes a timescale 134 comprising an upper timescale 136 and a lower timescale 138.
  • the upper timescale 136 can be viewed as a major timescale and the lower timescale 138 as a minor timescale.
  • the units of a major timescale 136 can be weeks and the units of a corresponding minor timescale 138 can be days, wherein the listed days correspond to weeks recited by the major timescale.
  • a horizontal scroll bar 142 is located along the bottom of each of the window 126 and the window 132.
  • a vertical scroll bar 144 is provided on the right hand side of the window 132.
  • the horizontal and vertical scroll bars, 142 and 144 allow the user to adjust the size of displayed view information to accommodate information that is larger than the available screen space. By selecting and moving the control item within the scroll bars 142 and 144, information on the screen is shifted so that the user can view the desired portion of the information.
  • a visual indicator 146 shown as a cursor, is located in the window 100.
  • An input device such as a mouse or a keyboard, can be used to control the position of the cursor 146. Those skilled in the art will appreciate that other types of input devices can be used to input data and to control the position of the cursor on the screen.
  • the display item is a time scale, such as the timescale 134.
  • the slider control allows the user to choose the timescale settings of the timescale 134 by operating the slider control in an intuitive and efficient manner.
  • a timescale setting is a predefined combination of parameters, such as date formats, time units and labels, which define the appearance of the timescale 134.
  • Preferred timescale settings are: daily, weekly, biweekly, semimonthly, monthly, or quarterly. For example, if the timescale setting is daily, the parameters of the upper timescale 136 will be set to represent weeks in a month and the parameters of the lower timescale 138 will be set to represent days of the listed weeks. For a weekly timescale setting, the parameters of the upper timescale 136 will be set to represent month(s) of the year and the parameters of the lower timescale 138 will be set to represent weeks of the month(s).
  • a conventional control device comprising a fob 118 and a rail 120, is located adjacent the view banner 114.
  • the fob 118 is a handle that can be selected by the user and dragged to a stop along the rail 120.
  • the rail 120 is a bar with discrete set of staggered stops, each stop representing a timescale setting for the timescale 134.
  • the fob 118 preferably sits along the rail 120 and may be moved to the left or the right.
  • the user can drag the fob 118 along the rail 120 of the slider control 116 to the stop designating the desired timescale setting.
  • Optional tick marks can be displayed along the bar to provide a visual indication of the location of corresponding stops.
  • the rail 120 is shown in FIGS. 2 and 3 as a horizontal bar, those skilled in the art will appreciate that the rail 120 can be positioned in a variety of positions for the window 100.
  • FIG. 2A a subset of the team data maintained in the Team File, the tasks and the assigned resources, are shown within the window 126.
  • the allocation of these resources over time is shown within the window 132, based on the selected time settings for the timescale 134, i.e., months for the upper timescale 136 and biweekly for the lower timescale 138.
  • the cursor 146 is shown at rest in the window 132.
  • the slider control 116 can be operated to vary the appearance of the timescale 134 by selecting a desired timescale setting.
  • the fob 118 is positioned along the bar at one of the spaced-apart stops of the rail 120. As best shown in FIGS. 2B-2D, this control operation can be accomplished by moving the fob 118 along the rail 120 to a desired stop associated with the desired timescale setting, thereby changing the parameters of the timescale 134.
  • FIG. 2B the user has now used an input device to position the cursor 146 in an area proximate to the slider control 116.
  • the input device is represented by a mouse having at least one button.
  • a label containing text called a "tool tip" 148
  • the appearance of the tool tip which is placed adjacent to the slider control 116, depends on the location of the cursor.
  • the cursor 146 need only be positioned proximate to a window associated with the slider control 116 for the tool tip 148 to appear on the screen.
  • the tool tip 148 is preferably presented adjacent to the slider control 116 and proximate to the resting position of the fob 118.
  • the timescale setting displayed by the text of the tool tip 148 is determined by the present location of the fob 118, which rests at one of the discrete stops along the rail 120.
  • each stop of the rail 120 is associated with a certain timescale setting, and the text of a displayed tool tip is dictated by the corresponding stop that the cursor is positioned proximate to.
  • the information presented by the tool tip is in the form of text defining daily, weekly, bi-weekly, semi-monthly, monthly or quarterly control options for the slider control 116.
  • the user can position the cursor 146 over the slider control 116 without changing the setting of the slider control 116, so long as a mouse button is not depressed.
  • the user can position the cursor 146 proximate to the fob 118 on the slider control 116 by moving the mouse.
  • the user then depresses the mouse button while the cursor 146 is positioned proximate to the fob 118.
  • This causes the fob 118 to be "grabbed” for operation by the user.
  • the selected fob 118 can then be "dragged" along the rail 120 to a stop representing the desired timescale setting by moving the mouse while holding the mouse button in the depressed state.
  • a tool tip 148 can appear in response to moving the fob 118 proximate to a stop on the rail 120 denoting a timescale setting.
  • the text of the tool tip 148 changes to reflect the timescale setting corresponding to the current stop.
  • the fob 118 has moved to the left along the rail 120 in FIG. 2C, and the tool tip 148 is displayed proximate to the stop closest to the fob 118.
  • the text of the tool tip 148 now indicates that the fob 118 is located near the stop or setpoint associated with the "weekly" timescale for the time scale 134.
  • the user can continue to drag the fob 118 along the rail 120 until the desired timescale setting is reached.
  • a tool tip is generated and displayed adjacent to that set point until the fob passes.
  • a series of tool tips each displaying different information, can be presented in dynamic fashion to the user as the fob 118 moves along the rail and passes set points.
  • the fob 118 When the user releases the mouse button, the fob 118 is no longer selected for dragging operations, and it will "snap" to the closest stop on the rail 120, which typically corresponds to the desired timescale setting. Thus, the fob 118, once released, will move to the closest stop along the rail 120 and remain at that position until moved again by the user. In response to moving to the closest stop, a tool tip 148 will be generated and displayed to the user. As shown in FIGS. 2C and 2D, the user has moved the fob 118 from the stop associated with the "Weekly” setting to a stop at the far left of the rail 120, a stop associated with the "Daily” setting.
  • the information presented by a tool tip changes because the fob has moved from one stop to the next.
  • the tool tip for the stop associated with the resting position of the fob which is placed at the far left end of the rail, confirms that the "Daily" control setting for the slider control 116 has been selected by the user in FIG. 2D.
  • the timescale settings are updated to modify the appearance of the user interface in response to the movement of the fob 118 to a new resting position for the slider control 116.
  • a tool tip 148 can appear near the slider control 116 and display information corresponding to the current position of the fob 118, which is associated with the present selection for the presentation of the time scale 134.
  • This information which is provided as a "tip" to support user operations of the underlying software module, describes the controllable timescale appearance associated with the stop where the fob rests.
  • the information of the tool tip can dynamically change in response to moving the selected fob from a first stop to a second stop. When the fob 116 is no longer selected, it moves to the closest stop on the rail 120, and the parameters of the timescale 134 are updated in accordance with the control operation for that stop, thereby modifying the appearance of the user interface.
  • a timescale setting also can be selected in response to moving the cursor to a location proximate to the rail of the slider control and "clicking" a button of the mouse.
  • the selected timescale setting corresponds to the stop on the rail closest to the position of the cursor when the mouse button transitions from the UP state to the DOWN state.
  • the fob itself is not dragged directly by the user to the desired timescale setting. Instead, the fob "snaps" to the stop closest to the location of the cursor in response to the mouse button transition.
  • the cursor 146 is positioned in an area proximate to the slider control 116, specifically at one end of the rail 120.
  • the cursor can be placed in this position in response to the user moving the mouse, thereby controlling the position of the cursor along the user interface.
  • this action can cause the presentation of a tool tip (not shown) on the screen for describing the current timescale setting selected by the slider control 116 and the corresponding appearance of the timescale 134.
  • the display of the tool tip is preferably temporary and is presented for a predetermined time period. For the case shown in FIG. 3B, the tool tip is not shown because the time period for displaying the tool tip has expired.
  • the fob 118 has now moved from its position in FIG. 3A to the stop closest to the location of the cursor 146 because the user has depressed the mouse button while the cursor is placed along the rail 120.
  • a tool tip 148 appears to define the modified timescale setting corresponding to the stop where the fob 118 is located.
  • the tag "Quarterly" is displayed to advise the user that the quarterly time setting has been selected for the slider control 116.
  • the presentation of the timescale 134 changes to reflect the new time setting for the slider control 116. No further action is taken by the slider control 116 in response to the user subsequently releasing the mouse button.
  • the preferred control device is implemented as a "WINDOWS 95" control containing a fob, a rail and optional tick marks that indicate stops or set points.
  • the slider control can be built and tested under the "WINDOWS 95" operating system; however, the common control dynamic-link library (COMCTL32.DLL) included with the "WINDOWS 95" operating system is also supported for "WINDOWS 3.1” and "WINDOWS NT” operating systems via redistributable DLLs.
  • the CS1iderCtrl class represents the preferred implementation of the slider control 116, which is also called a trackbar.
  • a "slider control" is a window that contains a fob and a rail with optional tick marks. As illustrated above with respect to FIGS. 2 and 3, a slider control is useful for allowing the user to select a discrete value or a set of consecutive values in a range.
  • the slider control sends notification messages to indicate the change. For example, when the user drags the fob to the left or right along a horizontal rail, the slider control sends WM -- HSCROLL messages to indicate the change in position of the fob.
  • the fob value (or the position of the fob on the rail) can be extracted from the control device by calling the GetPos member function.
  • the slider element also called the fob, in a slider control moves in increments specified upon initialization. For example, if it is specified that the slider control should have a range of five, the fob can only occupy six positions: a position at the left side of the slider control and one position for each increment in the range. Typically, each of these positions is identified by a stop or set point, which can be graphically highlighted by the use of optional tick marks placed along the rail.
  • Typical usage of a slider control is as follows: The control is created. If the control is specified in a dialog box template, creation is automatic when the dialog box is created. Alternatively, the Create member function can be used to create the control as a child window of any window. Various Set member functions can be called to set values for the control. The changes that can be made include setting the minimum and maximum positions for the slider, drawing tick marks, setting a selection range, and repositioning the slider.
  • An application program such as the "TEAM MANAGER" program, can create a slider control by using the CreateWindow function and the TRACKBAR -- CLASS class name.
  • Table I contains a listing of the preferred statements for the creation of a slider control.
  • the minimum and maximum positions for the slider can be set, optional tick marks drawn, and the selection set by using the messages as shown in Table II:
  • Slider controls can have either a vertical or horizontal orientation. They can have stops on either side, both sides, or neither. They can also be used to specify a range of consecutive values. These properties are controlled by using slider control styles, which are specified when the slider control is created.
  • the TBS -- HORZ and TBS -- VERT styles determine the orientation of the slider control. If the orientation is not specified, the slider control is oriented horizontally.
  • the TBS -- AUTOTICKS style creates a slider control that has a tick mark for each stop in its range of values. These tick marks are added automatically when the SetRange member function is called. If TBS -- AUTOTICKS is not specified, member functions can be used, such as SetTic and SetTicFreq, to specify the positions of the tick marks. To create a slider control that does not display tick marks for the corresponding stops, the TBS -- NOTICKS style can be used.
  • Tick marks can be displayed on either or both sides of the slider control.
  • TBS -- BOTTOM or TBS -- TOP style can be specified.
  • TBS -- RIGHT or TBS -- LEFT style can be specified. (TBS -- BOTTOM and TBS -- RIGHT are the default settings.)
  • tick marks on both sides of the slider control in any orientation specify the TBS -- BOTH style.
  • a slider control can display a selection range only if the TBS -- ENABLESELRANGE style is specified upon creation.
  • the tick marks at the starting and ending positions of a selection range are displayed as triangles (instead of vertical dashes) and the selection range is highlighted.
  • selection ranges might be useful in a simple scheduling application. The user could select a range of tick marks corresponding to hours in a day to identify a scheduled meeting time.
  • the length of a slider control's slider varies as the selection range changes. If the slider control has the TBS -- FIXEDLENGTH style, the length of the slider remains the same even if the selection range changes.
  • a slider control that has the TBS -- NOTHUMB style does not include a fob.
  • An application program can call the slider control's member functions to retrieve information about the slider control and to change its characteristics.
  • the GetPos member function is used.
  • the SetPos member function is used.
  • the VerifyPos member function can be used to make sure that the fob is between the minimum and maximum values.
  • the range of a slider control is the set of contiguous values that the slider control can represent.
  • Most application programs use the SetRange member function to set the range of a slider control when it is first created.
  • Applications can dynamically alter the range after the slider control has been created by using the SetRangeMax and SetRangeMin member functions.
  • An application that allows the range to be changed dynamically typically retrieves the final range settings when the user has finished working with the slider control.
  • the GetRange, GetRangeMax, and GetRangeMin member functions are used to retrieve these settings.
  • An application can use the TBS -- AUTOTICKS style to have a slider control's stops displayed automatically. If an application needs to control the position or frequency of the stops, however, a number of member functions can be used. To set the position of a stop, an application can use the SetTic member function.
  • the SetTicFreq member function allows an application to set stops that appear at regular intervals in the slider control's range. For example, the application can use this member function to display only 10 stops in a range of 1 through 100.
  • the GetTic member function To retrieve the index in the range corresponding to a stop, the GetTic member function is used.
  • the GetTicArray member function retrieves an array of these indices.
  • the GetTicPos member function To retrieve the position of a stop, in client coordinates, the GetTicPos member function is used.
  • An application program can retrieve the number of stops by using the GetNumTics member function.
  • the ClearTics member function removes all of a slider control's tick marks.
  • a slider control's line size determines how far the fob moves when an application receives a TB -- LINEDOWN or TB -- LINEUP notification message.
  • the page size determines the response to the TB -- PAGEDOWN and TB -- PAGEUP notification messages.
  • Applications can retrieve and set the line and page size values by using the GetLineSize, SetLineSize, GetPageSize, and SetPageSize member functions.
  • An application program can use member functions to retrieve the dimensions of a slider control.
  • the GetThumbRect member function retrieves the bounding rectangle or window for the slider control.
  • the GetChannelRect member function retrieves the bounding rectangle for the slider control's rail.
  • a slider control has the TBS -- ENABLESELRANGE style
  • the user can select a range of contiguous values from it.
  • a number of member functions allow the selection range to be adjusted dynamically.
  • the SetSelection member function sets the starting and ending positions of a selection.
  • an application program can retrieve the settings by using the GetSelection member function. To clear a user's selection, the ClearSel member function is used.
  • a slider control notifies its parent window of user actions by sending the parent WM -- HSCROLL messages.
  • the parent's OnHScroll member function can be overridden to handle these messages.
  • This function will be passed a notification code, the position of the slider, and a pointer to the CSliderCtrl object.
  • the pointer is of type CScrollBar even though it points to a CSliderCtrl object. This pointer may need to be typecast in order to manipulate the slider control.
  • slider controls send a different set of notification codes.
  • a slider control sends the TB -- BOTTOM, TB -- LINEDOWN, TB -- LINEUP, and TB -- TOP notification codes only when the user interacts with a slider control by using the keyboard.
  • the TB -- THUMBPOSITION and TB -- THUMBTRACK notification messages are only sent when the user is using the mouse.
  • the TB -- ENDTRACK, TB -- PAGEDOWN, and TB -- PAGEUP notification codes are sent in both cases.
  • Table III lists the slider control notification messages and the events (virtual-key codes or mouse events) that cause the notifications to be sent.
  • FIG. 4 is a flow diagram that illustrates the steps completed by a user to control parameters of a display item for a user interface in accordance with an embodiment of the present invention.
  • the method 400 begins at step 405 when the user activates the slider control 116 by moving the cursor 146 within the bounding rectangle or window defining the boundary of the slider control 116.
  • a tool tip 148 can appear on the screen to provide a visual indication of the current setting of the timescale slider.
  • step 410 an inquiry is conducted to determine if the mouse button is depressed while the cursor 146 is proximate to the slider control. If not, the "NO" branch is followed from step 410 to step 415, and information regarding the current selection of the slider control 116 is displayed to the user in the form of a tool tip. The process then returns to step 410 via a loop from step 415 to step 410. In contrast, if the mouse button is depressed, the "YES" branch is followed to step 420. An inquiry is conducted in step 420 to determine if the cursor 146 is placed over the fob 118, thereby selecting this handle and enabling the user to drag the fob along the rail 120.
  • the user can drag the fob 118 along the rail 120 in step 425 to a desired timescale setting associated with a stop of the slider control 116.
  • Each stop along the rail 120 can be marked by a visual indicator, such as a tick mark or an inverted triangle.
  • a tool tip 148 appears denoting the timescale setting corresponding to the stop of the slider control is displayed to the user.
  • the information presented by a tool tip 148 continues to change in step 425 as each discrete stop is encountered in response to the user dragging the fob 118 along the rail 120.
  • an inquiry is conducted to determine if the user has released the mouse button.
  • step 430 If not, a loop is followed from step 430 to step 425. If the button has moved to the UP state, then the "YES" branch is followed to step 435, and the fob 118 moves proximate to the closest stop. At that point, the fob 118 is positioned at a stop closest to where the mouse button was released. In step 440, the appearance of the timescale 134 changes to reflect any new timescale settings associated with that stop. From step 440, the process then terminates at the END step.
  • step 445 An inquiry is conducted at decision block 445 to determine whether the cursor is placed proximate to the rail 120 of the slider control 116 while the mouse button is depressed. If not, then the "NO" branch is followed to loop back to step 420. If the inquiry in step 445 results in a positive response, however, the "YES” branch is followed from step 445 to step 450. Because the user has allowed the mouse button to transition from the up state (UP) to the depressed state (DOWN), the fob 118 snaps to the stop closest to the position of the cursor on the rail in step 450. In response to moving the fob 118 to the stop closest to the position of the cursor, the appearance of the timescale 134 changes in step 440 to reflect any new settings associated with that stop. From step 440, the process then terminates at the END step.
  • UP up state
  • DOWN depressed state
  • FIG. 5 is a logical flow diagram illustrating a computer-implemented process for controlling multiple parameters of a timescale for a user interface by use of a slider control in accordance with the preferred embodiment of the present invention.
  • the method 500 begins at the START step and proceeds to decision block 505, where an inquiry is conducted to determine whether the cursor has enter the boundary zone defining the boundary of the slider control 116. This is achieved by comparing the cursor coordinates provided by notification messages issued by the operating system to the known position of the slider control 116. In response to determining that the cursor is positioned proximate to the slider control, the "YES" branch is followed from step 505 to step 510.
  • a tool tip is generated and displayed to the user via the user interface.
  • This tool tip provides information, preferably text-based, describing the current selection of the slider control and the corresponding timescale setting of the timescale 134 within the window 100.
  • the information presented by the tool tip is derived from the current control selection of the slider control, i.e., the stop associated with the present resting position for the fob 118.
  • the response to the inquiry in decision block 505 is negative, the "NO" branch is followed to the START step, and the process begins anew.
  • step 515 an inquiry is conducted to determine if the mouse button is depressed. If the mouse button remains in the UP position, then the "NO" branch is followed to complete a loop back to step 515. If the mouse button has transitioned from the UP position to the DOWN position, then the "YES” branch is followed from step 515 to decision block 520. A determination is made in decision block 520 whether the cursor 146 is positioned proximate to the fob 118 while the mouse button is depressed. If not, then the "NO” branch is followed to decision block 525, and an inquiry is conducted to determine whether the cursor is placed proximate to the rail 120 of the slider control 116 while the mouse button is depressed. If not, then the "NO” branch is followed to loop back to step 520. If the inquiry in step 525 results in a positive response, however, the "YES” branch is followed from step 525 to step 530.
  • step 530 the fob 118 snaps to the stop closest to the position of the cursor on the rail because the mouse button is depressed while the cursor is placed proximate to the rail.
  • step 560 the appearance of the timescale 134 changes to reflect any new settings associated with the present position of the fob.
  • step 540 a determination is made whether the fob 118 is moving along the rail. If not, the "NO" branch returns to step 540 because the fob 118 is static. Otherwise, the fob 118 is moving, and the "YES" branch is followed from step 540 to step 545. In step 545, an inquiry is conducted to determine if the fob 118 has encountered a stop along the rail. If not, the "NO" branch is followed to step 550, wherein an inquiry is conducted to determine if the user has released the mouse button.
  • step 550 If not, the "NO" branch is followed from step 550 to step 545. If the user has released the mouse button, the "YES” branch is followed from step 550 to step 555, and the fob 118 moves to the closest stop on the rail. A tool tip denoting the timescale setting corresponding to the current stop is presented via the user interface in step 555. Based on the position of the fob, timescale parameters are located in a lookup table to determine the appearance of the timescale in step 560. The timescale 124 is displayed with its new parameter settings in step 565. From step 565, the process then terminates at the END STEP.
  • step 570 A tool tip providing information describing the selection for the encountered stop is presented in step 570 to the user via the user interface. This tool tip is preferably presented adjacent to the stop that is encountered by the fob during movement of the fob along the rail. The process then returns to step 545 by following a loop from step 545 from step 570.
  • the present invention provides a computer-implemented system based on use of a slider control for controlling multiple parameters of a display item, such as a timescale, to vary the appearance of the display item by a user interface.
  • the slider control can be used to vary the appearance of the display item by selecting a control setting that is associated with desired parameters for the display item.
  • a fob which is selectable by the user, can be moved along the rail to select a desired control operation typically associated with a stop on the rail.
  • the rail is typically implemented as a bar having stops, which can be depicted as tick marks at spaced intervals along the rail.
  • An input device such as a mouse or keyboard, can be used to select the fob in order to move it along the rail.
  • the desired parameters for the display item can be established by selecting and dragging the fob to the corresponding stop on the rail.
  • a "tool tip” can appear on the screen in response to moving the cursor within the boundary of the slider control.
  • the tool tip is a label, typically implemented as a window containing text-based and/or graphical information.
  • This information which is provided as a "tip” to support user operations of the underlying software module, describes the controllable timescale appearance associated with the stop where the fob rests.
  • the information of the tool tip can dynamically change in response to moving the selected fob from a first stop to a second stop. Once the user positions the fob at the desired stop, the parameters of the display item are updated, thereby modifying the appearance of the user interface.

Abstract

A control device for adjusting multiple parameters associated with an element or item of a user interface in an easy and intuitive manner. A slider control can be used to change the format or appearance of a timescale presented by the user interface. By using a single visual interface control, a slider control, a time-based scaling of a given view can be easily switched between predefined timescale settings for the timescale. The slider control, which comprises a fob and a rail, can control the parameters that dictate the appearance of the timescale, such as time units, date format, and labels. Once selected, the fob can be moved along the rail to a stop associated with parameter values for the timescale. The presentation of the timescale can be varied by moving the fob from one stop to the next stop along the rail, thereby varying the parameters defining the appearance of the timescale. A label containing information about the current timesetting for the slide control can be displayed in response to placing the cursor within the boundary for the slider control. In addition, a label is displayed adjacent to a stop as the fob moves along the rail and proximate to that stop, thereby advising the user of the time setting associated with that stop.

Description

FIELD OF THE INVENTION
The present invention relates to a control mechanism for changing parameters of an item of a user interface presented by a computer program, and more particularly relates to changing multiple parameters of a timescale presented by a graphical user interface by operation of a slider control.
BACKGROUND OF THE INVENTION
A display interface, such as a graphical user interface (GUI), represents a well known presentation medium for displaying computer data to a user. A GUI typically comprises a variety of display items, each having an appearance defined by one or more controllable parameters. Because users often have different views about the way a GUI should look, computer software designers have created controls that allow users to change these parameters and to customize the appearance of the GUI.
A dialog is a typical control device for enabling a user to view and select desired parameters to control the appearance of a display item. From a user's perspective, a dialog often presents a wide variety of possible control options, each requiring the user to readily understand its operation based on the text or image associated with a particular control. A "busy" dialog can offer a rather intimidating display for the typical user because it fails to support intuitive control operations. In other words, a dialog typically provides the typical user with multiple discrete options for varying the presentation of a display item, which can often lead to a user's confusion regarding the associated control operations.
Prior mechanisms for controlling parameters of a display interface also include radio buttons and pull-down menus. For radio buttons, the user typically moves the cursor onto a button associated with the desired parameter and then selects the button to change its state. Pull-down menus generally require the user to move the cursor to a desired menu, select the menu, find and select the desired parameter in the menu, and then release, thereby controlling the state of the desired parameter. To set multiple parameters, each of these prior control devices must be operated numerous times. This can be time consuming and tedious for the typical user.
A collection or set of radio buttons also presents a cluttered user interface and occupies a substantial amount of screen space. Tags or labels are typically placed proximate to radio buttons denoting the function of each button. Many programs are adapted for use in non-English speaking environments. Because each tag requires translation for a non-English speaking audience, the text and supporting source code for each tag would need to be modified. This presents time management issues for a programmer. Moreover, a translation of the tag text may lead to a translated tag occupying additional screen space, thereby contributing to an already cluttered user interface. Similar translation issues are presented by the text used in drop-down menus.
In view of the foregoing, there is a need in the art for a system for changing parameters of a controllable display item by use of a single control that provides an intuitive mechanism for varying the presentation of the display item. In addition, there is a need for a control mechanism that occupies a limited amount of screen space for a user interface, while providing control features that are easy for a typical user to operate to control parameters of a display item. There is a further need for a control mechanism for controlling the parameters of a display item in a manner that exhibits a universal view of operation.
SUMMARY OF THE INVENTION
The present invention is generally directed to a control that allows adjustment of multiple parameters associated with an element or item of a user interface, such as a graphical user interface (GUI), in an easy and efficient manner. A parameter is a variable that can be assigned different values for shaping the appearance of a display item. The value assigned to the parameter determines the appearance of the display item. The control allows a user to easily switch between display characteristics of the display item by controlling parameter values. The selection of a particular control setting of the control serves to select the parameter value for the display item. For example, a conventional slider control provides a control mechanism exhibiting an efficient and intuitive manner for changing the format or appearance of the display item, such as a timescale, presented by the GUI. By using a single visual interface control mechanism, such as the slider control, a time-based scaling of a given view can be easily switched between predefined time scalings.
A slider control is a control device, comprising a fob and a rail, useful for controlling the parameters of a display item. The fob is an indicator that can be selected by the user. The rail is a bar, typically positioned at a horizontal or vertical location of the user interface, which can include stops associated with control operations for predefined sets of parameters. Once selected, the fob can be moved along the rail to a desired position, typically a stop associated with parameter values for a display item. The presentation of the display item can be varied by moving the fob from one position to the next along the rail, thereby varying the parameters defining the appearance of this display item. The slider control is typically initialized in response to booting the computer, and initial parameters, including the size of the slider control, the number of tabs or stops, and the position of the slider control on the GUI, are defined during this initialization process.
The use of a slider control, as provided by the present invention, avoids the need for a user to use a dialog to select desired timescale parameters because the control operation for varying these parameters is presented to the user in a single control device. Although alternative controls, such as radio buttons or drop-down menus, can be used to adjust multiple parameters of a user interface, they typically use a large amount of real estate for the user interface and present a cluttered look. Neither radio buttons nor drop-down menu controls offer a universal control solution for controlling multiple parameters of a display item. Also, these controls suffer from the problem of displaying options via text-based menu items, which presents language translation problems for an application program that will be distributed on an international scale. Significantly, the slider control provides an optimum control mechanism, particularly when compared to the prior control mechanisms with respect to screen real estate and ease of use
For one aspect of the present invention, the slider control can be implemented as a conventional control device, supported by the "WINDOWS" operating system, for controlling multiple parameters associated with the presentation of a timescale on a display screen. Timescales typically comprise a major timescale and a minor timescale, and each timescale can be viewed as a "ruler" that measures time along an axis. For example, the units of a major timescale can be weeks, and the units of a corresponding minor timescale can be days. By using a slider control, a user can adjust multiple parameters associated with the major and minor timescales, including date formats, time units (months, weeks, days, etc.) and labels (April, 1996, etc.) by selecting and sliding the fob along the rail until a desired stop is reached. In this manner, the time-based scaling of a screen of text and/or graphic information can be easily varied by a user based on the use of a single intuitive control device.
Timescale settings can be assigned to the stops of a horizontal (or vertical) slider, or the rail, and these stops are positioned at discrete intervals along the rail. Each stop or set point on the rail represents a different predefined set of parameters, and each set corresponds to a setting defining the appearance of a timescale. Because settings are packaged into specific control choices available via a single user interface control device, the user can use the slider control to achieve extensive customization of the timescale presented by the user interface. The fob can move along the rail and provides a visual target or handle for the user to view during cursor movement. A user can move the fob by placing the cursor proximate to the fob, depressing a mouse button, and moving the mouse to "drag" the indicator in the desired direction along the rail. When the user lets go of the mouse button, the fob moves to the closest stop along the rail and the presentation of the timescale is varied, as required, based on the time scale settings assigned to that stop. Typically, timescale settings can be linked to discrete stops or set points along the rail based on a "hard-coded" table stored within memory of the computer.
A "tool tip" can be displayed as a label, typically as information within a window, when the indicator is placed proximate to a stop on the rail. For example, the tool tip can present text-based feedback, i.e., a tip, regarding the timescale setting associated with the present stop. As the fob is moved from one stop to another stop, the text of the tool tip is updated based on the location of the fob along the rail. Thus, the information conveyed by the label for a tool tip changes as the fob moves from one stop to the next stop along the rail. In addition, the tool tip appears to move in the same direction as the fob is dragged by the user because the information within the tool tip is updated as the selected fob passes discrete points along the rail. A tool tip also can be provided when the user places the cursor proximate to the slider control, but without selecting the fob, thereby presenting the current control setting of the slider control to the user. For either the dynamic or static case, the tool tip is typically presented to the user in a readily readable form adjacent to the slider control.
The slider control can receive messages from the operating system, including messages regarding information associated with an input device, such as a pointing device capable of controlling the position of a pointer in response to movement of the mouse. A pointing device typically includes at least one control, such as a button, for sending control signals to the operating system based on the position of the button. Focusing on a mouse having at least one mouse button, the operating system can generate messages in response to mouse movement and mouse button position (UP or DOWN). Mouse event messages typically indicate the position of the cursor and the state of the mouse buttons. For example, in response to the user moving a pointing device, such as a mouse, to place a pointer or cursor proximate to the slider control while mouse buttons are in the UP position, the slider control will support the presentation of a tool tip containing text for the current timescale setting of the slider control. Timescale parameters typically can not be adjusted while the mouse buttons are in the UP position.
Timescale parameters can be adjusted, however, by moving the fob from its current stop position to another stop position. This control adjustment can be achieved by depressing the mouse button while the cursor is proximate to the fob and dragging the fob along the rail to the desired stop. The selected fob is moved along the rail by moving the mouse while maintaining the button in the DOWN position. The text of a tool tip can dynamically change in response to the location of the fob on the rail and will contain information regarding the stop located closest to the fob.
Typically, the user can move the selected fob along the rail to a desired stop based on an observation of the proximate location of the stop on the rail and the information presented by each tool tip. In response to a transition of a mouse button from a DOWN position to an UP position, the fob will snap to the closest stop on the rail and the underlying application program will assume the settings associated with that stop. Specifically, the slider control will notify the application program of a setting change by sending a message to the application. In response to this message, the application program will request the current stop position from the slider control. The application program will respond to the current stop position by looking at a hard-coded table and locating the parameters associated with that current stop position.
In view of the foregoing, these and other features, advantages, and aspects of the present invention may be more clearly understood and appreciated from a review of the following detailed description of the disclosed embodiments and by reference to the appended drawings and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is an illustration of the preferred operating environment of a personal computer for supporting operation of the present invention.
FIGS. 2A, 2B, 2C, and 2D, collectively described as FIG. 2, are screen displays illustrating a slider control for selecting a timescale setting of a user interface in accordance with an exemplary embodiment of the present invention.
FIGS. 3A and 3B, collectively described as FIG. 3, are screen displays illustrating a slider control for selecting an alternative timescale setting of a user interface in accordance with an exemplary embodiment of the present invention.
FIG. 4 is a flow diagram generally illustrating the steps completed by a user to control parameters of a display item for a user interface in accordance with an embodiment of the present invention.
FIG. 5 is a flow diagram illustrating the steps of a computer-implemented method for controlling multiple parameters of a display item for a user interface in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION
The present invention is generally directed to a computer-implemented system for controlling multiple parameters of a display item, such as a timescale, to vary the appearance of the display item by a user interface for a computer program. A control, preferably a slider control, can be used to vary the appearance of the display item by selecting a control setting that is associated with desired parameters for the display item. For example, a user can efficiently switch between predetermined parameters or settings of a display item by varying the position of the fob of the slide control between discrete points or stops along the rail of the slide control.
Briefly described, a slider control typically comprises a fob that can slide along a rail comprising multiple stops or set points associated with control selections. The fob is a visual indicator, selectable by the user, which can be moved along the rail to select a desired control operation typically associated with a stop on the rail. The rail is typically implemented as a horizontal (or vertical) bar having stops, which can be depicted as tick marks at spaced intervals along the rail. The fob sits on the rail and, for the representative example of a horizontal bar, can be moved left or right along the rail. An input device, such as a mouse or keyboard, can be used to select the fob in order to move it along the rail. The desired parameters for the display item can be established by selecting and dragging the fob to the corresponding stop on the rail.
The input device can be used to control the position of a pointer, typically a cursor, on the screen. As the cursor approaches the proximate location of the slider control, a "tool tip" can appear on the screen. The tool tip is a window that contains text-based and/or graphical information. For example, when the cursor approaches the window outline for the slider control, a tool tip appears near the slider control and displays information corresponding to the current position of the fob. This information, which is provided as a "tip" to support user operations of the underlying software module, describes the controllable timescale appearance associated with the stop where the fob rests. In addition, the information of the tool tip can dynamically change in response to moving the selected fob from a first stop to a second stop. Once the fob is located at the desired stop, the parameters of the display item are updated, thereby modifying the appearance of the user interface.
The Computing Environment
Turning now to a review of the representative computing environment, FIG. 1 illustrates a conventional personal computer 10 suitable for supporting the operation of an embodiment of the present invention. As shown in FIG. 1, the personal computer 10 operates in a networked environment with logical connections to a remote computer 11. The logical connections between the personal computer 10 and the remote computer 11 are represented by a local area network 12 and a wide area network 13. Those of ordinary skill in the art will recognize that in this client/server configuration, the remote computer 11 may function as a file server or compute server.
The personal computer 10 includes a processing unit 14, such as the 80486 or "PENTIUM" microprocessors manufactured by Intel Corporation of Santa Clara, Calif. The personal computer also includes system memory 15 (including read only memory (ROM) 16 and random access memory (RAM) 17), which is connected to the processing unit 14 by a system bus 18. The computer 10 utilizes a BIOS 19, which is stored in ROM 16. Those skilled in the art will recognize that the BIOS 19 is a set of basic routines that helps to transfer information between elements within the personal computer 10. Those skilled in the art will also appreciate that the present invention may be implemented on computers having other architectures, such as computers that do not use a BIOS, and those that utilize other microprocessors, such as the "MIPS" or "POWER PC" families of microprocessors from Silicon Graphics and Motorola, respectively.
Within the personal computer 10, a local hard disk drive 20 is connected to the system bus 18 via a hard disk drive interface 21. A floppy disk drive 22, which is used to read or write a floppy disk 23, is connected to the system bus 18 via a floppy disk drive interface 24. A CD-ROM drive 25, which is used to read a CD-ROM disk 26, is connected to the system bus 18 via a CD-ROM interface 27. A user enters commands and information into the personal computer 10 by using input devices, such as a keyboard 28 and/or pointing device, such as a mouse 29, which are connected to the system bus 18 via a serial port interface 30. Other types of pointing devices (not shown in FIG. 1) include track pads, track balls, pens, head trackers, data gloves and other devices suitable for positioning a cursor on a computer monitor 31. The monitor 31 or other kind of display device is connected to the system bus 18 via a video adapter 32.
The remote computer 11 in this networked environment is connected to a remote memory storage device 33. This remote memory storage device 33 is typically a large capacity device such as a hard disk drive, CD-ROM drive, magneto-optical drive or the like. The personal computer 10 is connected to the remote computer 11 by a network interface 34, which is used to communicate over the local area network 12.
As shown in FIG. 1, the personal computer 10 is also connected to the remote computer 11 by a modem 35, which is used to communicate over the wide area network 13, such as the Internet. The modem 35 is connected to the system bus 18 via the serial port interface 30. The modem 35 also can be connected to the public switched telephone network (PSTN) or community antenna television (CATV) network. Although illustrated in FIG. 1 as external to the personal computer 10, those of ordinary skill in the art will quickly recognize that the modem 35 may also be internal to the personal computer 11, thus communicating directly via the system bus 18. It is important to note that connection to the remote computer 11 via both the local area network 12 and the wide area network 13 is not required, but merely illustrates alternative methods of providing a communication path between the personal computer 10 and the remote computer 11.
Although other internal components of the personal computer 10 are not shown, those of ordinary skill in the art will appreciate that such components and the interconnection between them are well known. Accordingly, additional details concerning the internal construction of the personal computer 10 need not be disclosed in connection with the present invention.
Those skilled in the art will understand that program modules such as an operating system 36, application programs 37, and data are provided to the personal computer 10 via computer-readable media. In the computer 10, the computer-readable media include the local or remote memory storage devices, which may include the local hard disk drive 20, floppy disk 23, CD-ROM 26, RAM 17, ROM 16, and the remote memory storage device 33. In the personal computer 10, the local hard disk drive 20 is used to store data and programs, including the operating system and programs.
The preferred embodiment of the present invention is represented by the "TEAM MANAGER" program, which is an application program published by Microsoft Corporation of Redmond, Wash. Briefly described, the preferred program, which is represented in FIG. 1 as application program 37a, is a collaborative management tool that consolidates, coordinates, and tracks team activity. The program allows a user to consolidate, coordinate and track a project team's information such as the amount of work completed, or actual work, on an assignment. For example, the preferred program allows users to enter information describing available resources and tasks, and then generates a schedule based on the input information. Advantageously, the preferred program utilizes an assignment-oriented approach for generating a schedule, which results in maximizing the utilization of resources. The preferred application program presents a graphical user interface (GUI), and operates in tandem with the "WINDOWS 95" operating system, which is published by Microsoft Corporation of Redmond, Wash. This gives the user visual access to resource and task data, and direct ways to view and manipulate information.
In the "TEAM MANAGER" program, data is preferably stored in team-related files. For example, the user can create a Team File that contains information about team members and the tasks they work on. A subset of the data in the Team File can be graphically depicted as a part of a screen display, wherein the data subset is organized in a particular way, called a "view". Different views are organized around typical management activities. For example, a Workload Planner view allows the user to view tasks under way and the time set aside for the task to be completed. The Workload Planner view allows a user to visually determine how work tasks are distributed across members of the team.
The Workload Planner View--A Timescale Presentation of Information
FIGS. 2A-2D and 3A-3B are illustrations showing screen displays associated with the preferred program, Microsoft's "TEAM MANAGER" program. In particular, these screen displays, each presented in a window 100, illustrate the Workload Planner view that shows team information, including task name and each person assigned to a task. The Workload Planner view allows a user to view tasks for a team project and the time and resource(s) allocated for each task to be completed.
Those skilled in the art will recognize conventional display items or elements shown in the screen displays for the Workload Planner view. As best shown in FIG. 2A, menu bar 102, which is located near the top of the screen, contains several pull-down menus 104. The pull-down menus on the menu bar 102 allow the user to perform such tasks as editing, formatting and viewing files. A main tool bar 106, which is located below the menu bar 102, allows the user to perform common commands by selecting buttons located on the tool bar. A status bar 108 is located near the bottom of the screen and contains a return to a Program Manager button 110, and buttons for switching to other open applications 112.
A view banner 114, which displays "WORKLOAD PLANNER," is located on the left-hand side of the screen, beneath the main tool bar 106, to describe the current view. The view banner 114 allows the user to select the manner that information in the Team File is graphically depicted, i.e., a "view". For example, a view is selected when the user chooses the desired view from a drop-down menu activated by selecting the inverted triangle on the left-hand side of the view banner 114.
The selection of the send updates button 122 allows a team manager to send updated task-related information to team members via electronic mail. Tabs 124 are positioned vertically along the left hand side of the screen. The tabs 124 allow the user to view team information associated with a particular management activity. One of the tabs 124 can be selected when the user positions the cursor over the desired tab and depresses a button of the mouse. For example, to select the Workload Planner view, the "Tasks" tab must be selected. The Workload Planner view could not be selected if, for example, the "People" tab was selected.
The window 100 is divided into two halves, a window 126, located on the left, for viewing tasks and people and a window 132, located on the right, for viewing time. The window 126 can list all task names and the people assigned to complete those tasks, as entered in the Team File. The window 126 preferably includes a column 128 for tasks and a column 130 for task names entered in the Team File. The columns 128 and 130 allow the user to easily identify the task-related items listed within these columns. The window 132 includes a timescale 134 comprising an upper timescale 136 and a lower timescale 138. The upper timescale 136 can be viewed as a major timescale and the lower timescale 138 as a minor timescale. For example, the units of a major timescale 136 can be weeks and the units of a corresponding minor timescale 138 can be days, wherein the listed days correspond to weeks recited by the major timescale.
A horizontal scroll bar 142 is located along the bottom of each of the window 126 and the window 132. A vertical scroll bar 144 is provided on the right hand side of the window 132. The horizontal and vertical scroll bars, 142 and 144, allow the user to adjust the size of displayed view information to accommodate information that is larger than the available screen space. By selecting and moving the control item within the scroll bars 142 and 144, information on the screen is shifted so that the user can view the desired portion of the information. A visual indicator 146, shown as a cursor, is located in the window 100. An input device, such as a mouse or a keyboard, can be used to control the position of the cursor 146. Those skilled in the art will appreciate that other types of input devices can be used to input data and to control the position of the cursor on the screen.
For the preferred embodiment, the display item is a time scale, such as the timescale 134. The slider control allows the user to choose the timescale settings of the timescale 134 by operating the slider control in an intuitive and efficient manner. A timescale setting is a predefined combination of parameters, such as date formats, time units and labels, which define the appearance of the timescale 134. Preferred timescale settings are: daily, weekly, biweekly, semimonthly, monthly, or quarterly. For example, if the timescale setting is daily, the parameters of the upper timescale 136 will be set to represent weeks in a month and the parameters of the lower timescale 138 will be set to represent days of the listed weeks. For a weekly timescale setting, the parameters of the upper timescale 136 will be set to represent month(s) of the year and the parameters of the lower timescale 138 will be set to represent weeks of the month(s).
A conventional control device, a slider control 116 comprising a fob 118 and a rail 120, is located adjacent the view banner 114. The fob 118 is a handle that can be selected by the user and dragged to a stop along the rail 120. The rail 120 is a bar with discrete set of staggered stops, each stop representing a timescale setting for the timescale 134. For example, for a horizontal bar, the fob 118 preferably sits along the rail 120 and may be moved to the left or the right. The user can drag the fob 118 along the rail 120 of the slider control 116 to the stop designating the desired timescale setting. Optional tick marks can be displayed along the bar to provide a visual indication of the location of corresponding stops. Although the rail 120 is shown in FIGS. 2 and 3 as a horizontal bar, those skilled in the art will appreciate that the rail 120 can be positioned in a variety of positions for the window 100.
In FIG. 2A, a subset of the team data maintained in the Team File, the tasks and the assigned resources, are shown within the window 126. The allocation of these resources over time is shown within the window 132, based on the selected time settings for the timescale 134, i.e., months for the upper timescale 136 and biweekly for the lower timescale 138. The cursor 146 is shown at rest in the window 132. It will be understood that the slider control 116 can be operated to vary the appearance of the timescale 134 by selecting a desired timescale setting. The fob 118 is positioned along the bar at one of the spaced-apart stops of the rail 120. As best shown in FIGS. 2B-2D, this control operation can be accomplished by moving the fob 118 along the rail 120 to a desired stop associated with the desired timescale setting, thereby changing the parameters of the timescale 134.
In FIG. 2B, the user has now used an input device to position the cursor 146 in an area proximate to the slider control 116. For purposes of discussion with respect to FIGS. 2 and 3, the input device is represented by a mouse having at least one button. In response to the position of the cursor 146, a label containing text, called a "tool tip" 148, appears on the screen to describe the current timescale setting selected by the slider control 116. The appearance of the tool tip, which is placed adjacent to the slider control 116, depends on the location of the cursor. Unlike dynamic tool tips that will be described below with respect to FIGS. 2C and 2D, there is no requirement for the user to depress a mouse button to enable the tool tip to appear on the screen. Instead, the cursor 146 need only be positioned proximate to a window associated with the slider control 116 for the tool tip 148 to appear on the screen. The tool tip 148 is preferably presented adjacent to the slider control 116 and proximate to the resting position of the fob 118. Moreover, the timescale setting displayed by the text of the tool tip 148 is determined by the present location of the fob 118, which rests at one of the discrete stops along the rail 120. For example, each stop of the rail 120 is associated with a certain timescale setting, and the text of a displayed tool tip is dictated by the corresponding stop that the cursor is positioned proximate to. For the preferred embodiment, the information presented by the tool tip is in the form of text defining daily, weekly, bi-weekly, semi-monthly, monthly or quarterly control options for the slider control 116.
As illustrated in FIGS. 2B and 2C, the user can position the cursor 146 over the slider control 116 without changing the setting of the slider control 116, so long as a mouse button is not depressed. To change the control selection of the slider control 116, however, the user can position the cursor 146 proximate to the fob 118 on the slider control 116 by moving the mouse. The user then depresses the mouse button while the cursor 146 is positioned proximate to the fob 118. This causes the fob 118 to be "grabbed" for operation by the user. The selected fob 118 can then be "dragged" along the rail 120 to a stop representing the desired timescale setting by moving the mouse while holding the mouse button in the depressed state.
As shown in FIGS. 2C and 2D, a tool tip 148 can appear in response to moving the fob 118 proximate to a stop on the rail 120 denoting a timescale setting. The text of the tool tip 148 changes to reflect the timescale setting corresponding to the current stop. In comparison to FIG. 2B, the fob 118 has moved to the left along the rail 120 in FIG. 2C, and the tool tip 148 is displayed proximate to the stop closest to the fob 118. The The text of the tool tip 148 now indicates that the fob 118 is located near the stop or setpoint associated with the "weekly" timescale for the time scale 134. Significantly, the user can continue to drag the fob 118 along the rail 120 until the desired timescale setting is reached. As the fob 118 is placed proximate to each set point, a tool tip is generated and displayed adjacent to that set point until the fob passes. In this manner, a series of tool tips, each displaying different information, can be presented in dynamic fashion to the user as the fob 118 moves along the rail and passes set points.
When the user releases the mouse button, the fob 118 is no longer selected for dragging operations, and it will "snap" to the closest stop on the rail 120, which typically corresponds to the desired timescale setting. Thus, the fob 118, once released, will move to the closest stop along the rail 120 and remain at that position until moved again by the user. In response to moving to the closest stop, a tool tip 148 will be generated and displayed to the user. As shown in FIGS. 2C and 2D, the user has moved the fob 118 from the stop associated with the "Weekly" setting to a stop at the far left of the rail 120, a stop associated with the "Daily" setting. As a result of this movement of the fob 118, the information presented by a tool tip changes because the fob has moved from one stop to the next. Indeed, the tool tip for the stop associated with the resting position of the fob, which is placed at the far left end of the rail, confirms that the "Daily" control setting for the slider control 116 has been selected by the user in FIG. 2D. In turn, the timescale settings are updated to modify the appearance of the user interface in response to the movement of the fob 118 to a new resting position for the slider control 116.
In summary, when the cursor 146 approaches the window outline for the slider control, a tool tip 148 can appear near the slider control 116 and display information corresponding to the current position of the fob 118, which is associated with the present selection for the presentation of the time scale 134. This information, which is provided as a "tip" to support user operations of the underlying software module, describes the controllable timescale appearance associated with the stop where the fob rests. In addition, the information of the tool tip can dynamically change in response to moving the selected fob from a first stop to a second stop. When the fob 116 is no longer selected, it moves to the closest stop on the rail 120, and the parameters of the timescale 134 are updated in accordance with the control operation for that stop, thereby modifying the appearance of the user interface.
Referring now to FIGS. 3A-3B, a timescale setting also can be selected in response to moving the cursor to a location proximate to the rail of the slider control and "clicking" a button of the mouse. The selected timescale setting corresponds to the stop on the rail closest to the position of the cursor when the mouse button transitions from the UP state to the DOWN state. In contrast to FIGS. 2A-2D, the fob itself is not dragged directly by the user to the desired timescale setting. Instead, the fob "snaps" to the stop closest to the location of the cursor in response to the mouse button transition.
Turning first to FIG. 3A, the cursor 146 is positioned in an area proximate to the slider control 116, specifically at one end of the rail 120. Typically, the cursor can be placed in this position in response to the user moving the mouse, thereby controlling the position of the cursor along the user interface. As previously described with respect to FIG. 2B, this action can cause the presentation of a tool tip (not shown) on the screen for describing the current timescale setting selected by the slider control 116 and the corresponding appearance of the timescale 134. The display of the tool tip, however, is preferably temporary and is presented for a predetermined time period. For the case shown in FIG. 3B, the tool tip is not shown because the time period for displaying the tool tip has expired.
As shown in FIG. 3B, the fob 118 has now moved from its position in FIG. 3A to the stop closest to the location of the cursor 146 because the user has depressed the mouse button while the cursor is placed along the rail 120. A tool tip 148 appears to define the modified timescale setting corresponding to the stop where the fob 118 is located. For the example shown in FIG. 3B, the tag "Quarterly" is displayed to advise the user that the quarterly time setting has been selected for the slider control 116. In turn, the presentation of the timescale 134 changes to reflect the new time setting for the slider control 116. No further action is taken by the slider control 116 in response to the user subsequently releasing the mouse button.
Turning now to a review of the slider control 116, the preferred control device is implemented as a "WINDOWS 95" control containing a fob, a rail and optional tick marks that indicate stops or set points. For example, the slider control can be built and tested under the "WINDOWS 95" operating system; however, the common control dynamic-link library (COMCTL32.DLL) included with the "WINDOWS 95" operating system is also supported for "WINDOWS 3.1" and "WINDOWS NT" operating systems via redistributable DLLs.
The CS1iderCtrl class represents the preferred implementation of the slider control 116, which is also called a trackbar. A "slider control" is a window that contains a fob and a rail with optional tick marks. As illustrated above with respect to FIGS. 2 and 3, a slider control is useful for allowing the user to select a discrete value or a set of consecutive values in a range. When the user moves the fob along the rail, typically using either the mouse or the arrow keys, the slider control sends notification messages to indicate the change. For example, when the user drags the fob to the left or right along a horizontal rail, the slider control sends WM-- HSCROLL messages to indicate the change in position of the fob. The fob value (or the position of the fob on the rail) can be extracted from the control device by calling the GetPos member function.
The slider element, also called the fob, in a slider control moves in increments specified upon initialization. For example, if it is specified that the slider control should have a range of five, the fob can only occupy six positions: a position at the left side of the slider control and one position for each increment in the range. Typically, each of these positions is identified by a stop or set point, which can be graphically highlighted by the use of optional tick marks placed along the rail.
Typical usage of a slider control is as follows: The control is created. If the control is specified in a dialog box template, creation is automatic when the dialog box is created. Alternatively, the Create member function can be used to create the control as a child window of any window. Various Set member functions can be called to set values for the control. The changes that can be made include setting the minimum and maximum positions for the slider, drawing tick marks, setting a selection range, and repositioning the slider.
An application program, such as the "TEAM MANAGER" program, can create a slider control by using the CreateWindow function and the TRACKBAR-- CLASS class name. Table I contains a listing of the preferred statements for the creation of a slider control.
              TABLE I
______________________________________
#include "commctrl.h"
HWND hwndTB;
hwndTB = CreateWindow(
TRACKBAR.sub.-- CLASS,
"",
WS.sub.-- CHILD|WS.sub.-- VISIBLE,
10,100,100,100,
hwndParent,
(HMENU) 1,
hinst,
NULL);
______________________________________
Once a slider has been created, the minimum and maximum positions for the slider can be set, optional tick marks drawn, and the selection set by using the messages as shown in Table II:
              TABLE II
______________________________________
TBM.sub.-- CLEARSEL TBM.sub.-- GETTICPOS
TBM.sub.-- CLEARTICS
                    TBM.sub.-- SETPOS
TBM.sub.-- GETNUMTICS
                    TBM.sub.-- SETRANGE
TBM.sub.-- GBTPOS   TBM.sub.-- GETPTICS
TBM.sub.-- SETRANGEMAX
                    TBM.sub.-- SETSEL
TBM.sub.-- SETRANGEMIN
                    TBM.sub.-- SETSELEND
TBM.sub.-- GETRANGEMAX
                    TBM.sub.-- SETTIC
TBM.sub.-- GETRANGEMIN
                    TBM.sub.-- GETSELEND
TBM.sub.-- SETSELSTART
                    TBM.sub.-- GETTIC
TBM.sub.-- GETSELSTART
______________________________________
Slider controls can have either a vertical or horizontal orientation. They can have stops on either side, both sides, or neither. They can also be used to specify a range of consecutive values. These properties are controlled by using slider control styles, which are specified when the slider control is created. The TBS-- HORZ and TBS-- VERT styles determine the orientation of the slider control. If the orientation is not specified, the slider control is oriented horizontally. The TBS-- AUTOTICKS style creates a slider control that has a tick mark for each stop in its range of values. These tick marks are added automatically when the SetRange member function is called. If TBS-- AUTOTICKS is not specified, member functions can be used, such as SetTic and SetTicFreq, to specify the positions of the tick marks. To create a slider control that does not display tick marks for the corresponding stops, the TBS-- NOTICKS style can be used.
Tick marks can be displayed on either or both sides of the slider control. For horizontal slider controls, the TBS-- BOTTOM or TBS-- TOP style can be specified. For vertical slider controls, the TBS-- RIGHT or TBS-- LEFT style can be specified. (TBS-- BOTTOM and TBS-- RIGHT are the default settings.) For tick marks on both sides of the slider control in any orientation, specify the TBS-- BOTH style.
A slider control can display a selection range only if the TBS-- ENABLESELRANGE style is specified upon creation. When a slider control has this style, the tick marks at the starting and ending positions of a selection range are displayed as triangles (instead of vertical dashes) and the selection range is highlighted. For example, selection ranges might be useful in a simple scheduling application. The user could select a range of tick marks corresponding to hours in a day to identify a scheduled meeting time.
By default, the length of a slider control's slider varies as the selection range changes. If the slider control has the TBS-- FIXEDLENGTH style, the length of the slider remains the same even if the selection range changes. A slider control that has the TBS-- NOTHUMB style does not include a fob.
An application program can call the slider control's member functions to retrieve information about the slider control and to change its characteristics. To retrieve the position of the fob (that is, the value the user has chosen), the GetPos member function is used. To set the position of the fob, the SetPos member function is used. At any time the VerifyPos member function can be used to make sure that the fob is between the minimum and maximum values.
The range of a slider control is the set of contiguous values that the slider control can represent. Most application programs use the SetRange member function to set the range of a slider control when it is first created. Applications can dynamically alter the range after the slider control has been created by using the SetRangeMax and SetRangeMin member functions. An application that allows the range to be changed dynamically typically retrieves the final range settings when the user has finished working with the slider control. The GetRange, GetRangeMax, and GetRangeMin member functions are used to retrieve these settings.
An application can use the TBS-- AUTOTICKS style to have a slider control's stops displayed automatically. If an application needs to control the position or frequency of the stops, however, a number of member functions can be used. To set the position of a stop, an application can use the SetTic member function. The SetTicFreq member function allows an application to set stops that appear at regular intervals in the slider control's range. For example, the application can use this member function to display only 10 stops in a range of 1 through 100.
To retrieve the index in the range corresponding to a stop, the GetTic member function is used. The GetTicArray member function retrieves an array of these indices. To retrieve the position of a stop, in client coordinates, the GetTicPos member function is used. An application program can retrieve the number of stops by using the GetNumTics member function. The ClearTics member function removes all of a slider control's tick marks.
A slider control's line size determines how far the fob moves when an application receives a TB-- LINEDOWN or TB-- LINEUP notification message. Similarly, the page size determines the response to the TB-- PAGEDOWN and TB-- PAGEUP notification messages. Applications can retrieve and set the line and page size values by using the GetLineSize, SetLineSize, GetPageSize, and SetPageSize member functions.
An application program can use member functions to retrieve the dimensions of a slider control. The GetThumbRect member function retrieves the bounding rectangle or window for the slider control. The GetChannelRect member function retrieves the bounding rectangle for the slider control's rail.
If a slider control has the TBS-- ENABLESELRANGE style, the user can select a range of contiguous values from it. A number of member functions allow the selection range to be adjusted dynamically. The SetSelection member function sets the starting and ending positions of a selection. When the user has finished setting a selection range, an application program can retrieve the settings by using the GetSelection member function. To clear a user's selection, the ClearSel member function is used.
A slider control notifies its parent window of user actions by sending the parent WM-- HSCROLL messages. The parent's OnHScroll member function can be overridden to handle these messages. This function will be passed a notification code, the position of the slider, and a pointer to the CSliderCtrl object. The pointer is of type CScrollBar even though it points to a CSliderCtrl object. This pointer may need to be typecast in order to manipulate the slider control.
Rather than using the scroll bar notification codes, slider controls send a different set of notification codes. A slider control sends the TB-- BOTTOM, TB-- LINEDOWN, TB-- LINEUP, and TB-- TOP notification codes only when the user interacts with a slider control by using the keyboard. The TB-- THUMBPOSITION and TB-- THUMBTRACK notification messages are only sent when the user is using the mouse. The TB-- ENDTRACK, TB-- PAGEDOWN, and TB-- PAGEUP notification codes are sent in both cases.
Table III lists the slider control notification messages and the events (virtual-key codes or mouse events) that cause the notifications to be sent.
              TABLE III
______________________________________
Notification message
             Event causing notification to be sent
______________________________________
TB.sub.-- BOTTOM
             VK.sub.-- END
TB.sub.-- ENDTRACK
             WM.sub.-- KEYUP (the user released a key that sent
             a relevant virtual-key code)
TB.sub.-- LINEDOWN
             VK.sub.-- RIGHT or VK.sub.-- DOWN
TB.sub.-- LINEUP
             VK.sub.-- LEFT or VK.sub.-- UP
TB.sub.-- PAGEDOWN
             VK.sub.-- NEXT (the user clicked the channel
             below or to the right of the slider)
TB.sub.-- PAGEUP
             VK.sub.' PRIOR (the user clicked the channel above
             or to the left of the slider)
TB.sub.-- THUMBPOSITION
             WM.sub.-- LBUTTONUP following a
             TB.sub.-- THUMBTRACK notification message
TB.sub.-- THUMBTRACK
             Slider movement (the user dragged the slider)
TB.sub.-- TOP
             VK.sub.-- HOME
______________________________________
Selected slider control member functions are listed below in Table IV, as follows:
              TABLE IV
______________________________________
CSliderCtrl::GetPos
int GetPos() const;
Return Value
The current position.
Remarks
This function is called to retrieve the current position of the fob in a
slider control.
______________________________________
CSliderCtrl::GetNumTics
UINT GetNumTics() const;
Return Value
The number of stops on the slider control.
Remarks
This function to retrieves the number of stops on a slider
______________________________________
control.
CSliderCtrl::GetLineSize
int GetLineSize() const;
Return Value
The size of a line for the slider control.
Remarks
This function is called to retrieve the size of the line for a slider
control.
The line size affects how much the fob moves for the TB.sub.-- LINEUP
and
TB.sub.-- LINEDOWN notifications. The default setting for the line size
is 1.
______________________________________
CSliderCtrl::GetRange
void GetRange(int& nMin, int& nMax) const;
Parameters   Description
______________________________________
nMin         Reference to an integer that receives the
             minimum position.
nMax         Reference to an integer that receives the
             maximum position.
Remarks
This function is called to retrieve the maximum and minimum positions
for the fob on a slider control. This function copies the values into
the
integers referenced by nMin and nMax.
______________________________________
CSliderCtrl::GetRangeMax
int GetRangeMax( ) const;
Return Value
The fob's maximum position.
Remarks
This function is called to retrieve the maximum position for the fob in
slider control.
______________________________________
CSliderCtrl::GetRangeMin
int GetRangeMin() const;
Return Value
The fob's minimum position.
Remarks
This function is called to retrieve the minimum position for the fob in
slider control.
______________________________________
CSliderCtrl::GetTic
int GetTic(int nTic) const;
Return Value
The position of the specified tick mark for a stop or 1 if nTic does not
specify a valid index.
Parameters    Description
______________________________________
nTic          Zero-based index identifying a stop;
Remarks
This function is called to retrieve the position of a stop in a slider
control.
______________________________________
CSliderCtrl::SetRange
void SetRange(int nMin, int nMax, BOOL bRedraw = FALSE);
Parameters  Description
______________________________________
nMin        Minimum position for the fob.
nMax        Maximum position for the fob.
bRedraw     The redraw flag. If this parameter is TRUE,
            the fob is redrawn after the range is
            set; otherwise the fob is not redrawn.
Remarks
This function is called to set the range (minimum and maximum
positions) for the fob in a slider control.
______________________________________
CSliderCtrl::SetRangeMax
void SetRangeMax(int nMax, BOOL bRedraw = FALSE);
Parameters  Description
______________________________________
nMax        Maximum position for the fob.
bRedraw     The redraw flag. If this parameter is TRUE,
            the fob is redrawn after the range is set;
            otherwise the fob is not redrawn.
Remarks
This function is called to set the maximum range for the fob in a slider
control.
______________________________________
CSliderCtrl::SetTicFreq
void SetTicFreq(int nFreq);
Parameters       Description
______________________________________
nFreq            Frequency of the stops.
Remarks
This function is called to set the frequency with which stops are
displayed as tick marks in a slider control. For example, if the
frequency is set to 2, a tick mark is displayed for every other
increment
in the slider control's range. The default setting for the frequency is
(that is, every increment in the range is associated with a stop). The
slider control must be created with the TBS.sub.-- AUTOTICKS style to
use
this function.
______________________________________
FIG. 4 is a flow diagram that illustrates the steps completed by a user to control parameters of a display item for a user interface in accordance with an embodiment of the present invention. Turning now to FIGS. 2A-2D and 4, the method 400 begins at step 405 when the user activates the slider control 116 by moving the cursor 146 within the bounding rectangle or window defining the boundary of the slider control 116. As discussed above with respect to FIGS. 2A-2D, when the user moves the cursor 146 proximate to the slider control 116 while the mouse button is in the UP position, a tool tip 148 can appear on the screen to provide a visual indication of the current setting of the timescale slider. Thus, in step 410, an inquiry is conducted to determine if the mouse button is depressed while the cursor 146 is proximate to the slider control. If not, the "NO" branch is followed from step 410 to step 415, and information regarding the current selection of the slider control 116 is displayed to the user in the form of a tool tip. The process then returns to step 410 via a loop from step 415 to step 410. In contrast, if the mouse button is depressed, the "YES" branch is followed to step 420. An inquiry is conducted in step 420 to determine if the cursor 146 is placed over the fob 118, thereby selecting this handle and enabling the user to drag the fob along the rail 120.
If the response to the inquiry in decision block 420 is positive, then the user can drag the fob 118 along the rail 120 in step 425 to a desired timescale setting associated with a stop of the slider control 116. Each stop along the rail 120 can be marked by a visual indicator, such as a tick mark or an inverted triangle. As the fob 118 approaches each stop, a tool tip 148 appears denoting the timescale setting corresponding to the stop of the slider control is displayed to the user. The information presented by a tool tip 148 continues to change in step 425 as each discrete stop is encountered in response to the user dragging the fob 118 along the rail 120. At step 430, an inquiry is conducted to determine if the user has released the mouse button. If not, a loop is followed from step 430 to step 425. If the button has moved to the UP state, then the "YES" branch is followed to step 435, and the fob 118 moves proximate to the closest stop. At that point, the fob 118 is positioned at a stop closest to where the mouse button was released. In step 440, the appearance of the timescale 134 changes to reflect any new timescale settings associated with that stop. From step 440, the process then terminates at the END step.
If the response to the inquiry in decision block 420 is negative, then the "NO" branch is followed to step 445. An inquiry is conducted at decision block 445 to determine whether the cursor is placed proximate to the rail 120 of the slider control 116 while the mouse button is depressed. If not, then the "NO" branch is followed to loop back to step 420. If the inquiry in step 445 results in a positive response, however, the "YES" branch is followed from step 445 to step 450. Because the user has allowed the mouse button to transition from the up state (UP) to the depressed state (DOWN), the fob 118 snaps to the stop closest to the position of the cursor on the rail in step 450. In response to moving the fob 118 to the stop closest to the position of the cursor, the appearance of the timescale 134 changes in step 440 to reflect any new settings associated with that stop. From step 440, the process then terminates at the END step.
FIG. 5 is a logical flow diagram illustrating a computer-implemented process for controlling multiple parameters of a timescale for a user interface by use of a slider control in accordance with the preferred embodiment of the present invention. Turning now to FIG. 5, the method 500 begins at the START step and proceeds to decision block 505, where an inquiry is conducted to determine whether the cursor has enter the boundary zone defining the boundary of the slider control 116. This is achieved by comparing the cursor coordinates provided by notification messages issued by the operating system to the known position of the slider control 116. In response to determining that the cursor is positioned proximate to the slider control, the "YES" branch is followed from step 505 to step 510. In step 510, a tool tip is generated and displayed to the user via the user interface. This tool tip provides information, preferably text-based, describing the current selection of the slider control and the corresponding timescale setting of the timescale 134 within the window 100. The information presented by the tool tip is derived from the current control selection of the slider control, i.e., the stop associated with the present resting position for the fob 118. In contrast, if the response to the inquiry in decision block 505 is negative, the "NO" branch is followed to the START step, and the process begins anew.
In step 515, an inquiry is conducted to determine if the mouse button is depressed. If the mouse button remains in the UP position, then the "NO" branch is followed to complete a loop back to step 515. If the mouse button has transitioned from the UP position to the DOWN position, then the "YES" branch is followed from step 515 to decision block 520. A determination is made in decision block 520 whether the cursor 146 is positioned proximate to the fob 118 while the mouse button is depressed. If not, then the "NO" branch is followed to decision block 525, and an inquiry is conducted to determine whether the cursor is placed proximate to the rail 120 of the slider control 116 while the mouse button is depressed. If not, then the "NO" branch is followed to loop back to step 520. If the inquiry in step 525 results in a positive response, however, the "YES" branch is followed from step 525 to step 530.
In step 530, the fob 118 snaps to the stop closest to the position of the cursor on the rail because the mouse button is depressed while the cursor is placed proximate to the rail. The process then proceeds to step 560. As described below with respect to steps 560 and 565, the appearance of the timescale 134 changes to reflect any new settings associated with the present position of the fob.
If the cursor 146 is placed over the fob 118 while the mouse button is depressed, then the "YES" branch is followed from step 520 to step 540 because the fob 118 has been selected by the user and can be moved along the rail 120. In step 540, a determination is made whether the fob 118 is moving along the rail. If not, the "NO" branch returns to step 540 because the fob 118 is static. Otherwise, the fob 118 is moving, and the "YES" branch is followed from step 540 to step 545. In step 545, an inquiry is conducted to determine if the fob 118 has encountered a stop along the rail. If not, the "NO" branch is followed to step 550, wherein an inquiry is conducted to determine if the user has released the mouse button. If not, the "NO" branch is followed from step 550 to step 545. If the user has released the mouse button, the "YES" branch is followed from step 550 to step 555, and the fob 118 moves to the closest stop on the rail. A tool tip denoting the timescale setting corresponding to the current stop is presented via the user interface in step 555. Based on the position of the fob, timescale parameters are located in a lookup table to determine the appearance of the timescale in step 560. The timescale 124 is displayed with its new parameter settings in step 565. From step 565, the process then terminates at the END STEP.
If a stop has been encountered by the fob 118 on the rail 120, then the "YES" branch is followed from step 545 to step 570. A tool tip providing information describing the selection for the encountered stop is presented in step 570 to the user via the user interface. This tool tip is preferably presented adjacent to the stop that is encountered by the fob during movement of the fob along the rail. The process then returns to step 545 by following a loop from step 545 from step 570.
In view of the foregoing, it will be appreciated that the present invention provides a computer-implemented system based on use of a slider control for controlling multiple parameters of a display item, such as a timescale, to vary the appearance of the display item by a user interface. The slider control can be used to vary the appearance of the display item by selecting a control setting that is associated with desired parameters for the display item. A fob, which is selectable by the user, can be moved along the rail to select a desired control operation typically associated with a stop on the rail. The rail is typically implemented as a bar having stops, which can be depicted as tick marks at spaced intervals along the rail. An input device, such as a mouse or keyboard, can be used to select the fob in order to move it along the rail. The desired parameters for the display item can be established by selecting and dragging the fob to the corresponding stop on the rail.
To provide the user with visual cues regarding the current control state of the slider control, a "tool tip" can appear on the screen in response to moving the cursor within the boundary of the slider control. The tool tip is a label, typically implemented as a window containing text-based and/or graphical information. This information, which is provided as a "tip" to support user operations of the underlying software module, describes the controllable timescale appearance associated with the stop where the fob rests. In addition, the information of the tool tip can dynamically change in response to moving the selected fob from a first stop to a second stop. Once the user positions the fob at the desired stop, the parameters of the display item are updated, thereby modifying the appearance of the user interface.
For the foregoing, it will be appreciated that the present invention fulfills the needs of the prior art described hereinabove and meets the above-stated object and advantages. While there has been shown and described the preferred embodiment of the invention, it will be evident to those skilled in the art that various modifications and changes may be made thereto without departing from the spirit and the scope of the invention as set forth in the appended claims and equivalence thereof.

Claims (7)

What is claimed is:
1. A computer-implemented method for controlling display of a time-based display item having an associated timescale, comprising the steps of:
displaying a slider control item for controlling the timescale comprising a fob moveable along a rail having a plurality of stops, each stop associated with a set of time parameters, the fob located at a first stop associated with a first set of time parameters;
displaying the time-based display item and the associated timescale as defined by the first set of time parameters;
receiving control input moving the fob from the first stop to a second stop associated with a second set of time parameters; and
in response to receiving the control input, displaying the time-based display item and the associated timescale as defined by the second set of time parameters.
2. The method of claim 1, wherein the first set of the parameters represent days, weeks, months, or years.
3. The method of claim 1, wherein the second set of the parameters represent days, weeks, months, or years.
4. The method of claim 1, further comprising the step of displaying information identifying the second set of the parameters in response to moving the fob from the first set of the parameters proximate to the stop associated with the second set of the parameters.
5. The method of claim 4, wherein the information is displayed adjacent to the stop associated with the second set of the parameters.
6. The method of claim 1, wherein the step of moving the fob comprises:
moving the fob proximate to the stop associated with the second set of parameters;
disabling the selected fob; and
selecting the stop associated with the second set of parameters, wherein the stop associated with the second set of parameters represents one of the stops closest to the location of the disabled fob on the rail.
7. The method of claim 1, wherein the step of receiving control input comprises:
receiving input placing a pointer of the user interface at a selected position proximate to the rail of the slider control;
receiving a first control data set for a control of an input device while the pointer is proximate to the rail, the first control data set representing an enabled state for the control of the input device;
moving the fob to the stop associated with the second set of parameters in response to receiving a second control data set for the control of the input device, the second control data set representing a disabled state for the control of the input device, wherein the stop associated with the second set of parameters is one of the stops closest to the selected position of the pointer.
US08/753,284 1996-11-22 1996-11-22 System and method for using a slider control for controlling parameters of a display item Expired - Lifetime US5877758A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/753,284 US5877758A (en) 1996-11-22 1996-11-22 System and method for using a slider control for controlling parameters of a display item

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/753,284 US5877758A (en) 1996-11-22 1996-11-22 System and method for using a slider control for controlling parameters of a display item

Publications (1)

Publication Number Publication Date
US5877758A true US5877758A (en) 1999-03-02

Family

ID=25029990

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/753,284 Expired - Lifetime US5877758A (en) 1996-11-22 1996-11-22 System and method for using a slider control for controlling parameters of a display item

Country Status (1)

Country Link
US (1) US5877758A (en)

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020005867A1 (en) * 2000-05-22 2002-01-17 Yaniv Gvily Snippet selection
US6380953B1 (en) * 1997-10-28 2002-04-30 Nippon Steel Corporation Method of display scrolling along a timebase and an apparatus for performing the method
US20020063737A1 (en) * 2000-11-30 2002-05-30 Ephraim Feig Zoom-capable scrollbar
US20020077863A1 (en) * 2000-11-17 2002-06-20 Jolyn Rutledge System and method for processing patient medical information acquired over a plurality of days
US6417874B2 (en) * 1997-06-13 2002-07-09 Starfish Software, Inc. User interface methodology for microprocessor device having limited user input
US20020100016A1 (en) * 2000-06-02 2002-07-25 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US20020147777A1 (en) * 2001-02-06 2002-10-10 Hackbarth Randy L. Apparatus and method for use in portal service for a team utilizing collaboration services
US20020147729A1 (en) * 2000-01-12 2002-10-10 Balfour Technologies Llc Method and system for a four-dimensional temporal visualization data browser
US20030066058A1 (en) * 2001-10-01 2003-04-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030095144A1 (en) * 2001-11-21 2003-05-22 Trevino Scott E. Method and apparatus for prescribing an imaging scan and determining user input validity
US20030122874A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation System and method for visualizing and navigating dynamic content in a graphical user interface
US20030151627A1 (en) * 2002-02-14 2003-08-14 International Business Machines Corporation System and method for controlling real-time display
US20040003374A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Efficient computation of character offsets for token-oriented representation of program code
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US20040006764A1 (en) * 2002-06-28 2004-01-08 Van De Vanter Michael L. Undo/redo technique for token-oriented representation of program code
US6686904B1 (en) * 2001-03-30 2004-02-03 Microsoft Corporation Wheel reporting method for a personal computer keyboard interface
US20040036714A1 (en) * 2002-08-26 2004-02-26 International Business Machines Corporation Method, system and program product for displaying a tooltip based on content within the tooltip
US20040056893A1 (en) * 2002-04-30 2004-03-25 Canfield James Andrew Instant messaging interface having a tear-off element
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US20050010900A1 (en) * 2003-06-13 2005-01-13 Camille Huin Stacking and repeating graphical controls
US6850254B1 (en) 1999-12-02 2005-02-01 International Business Machines Corporation System and method for defining parameter relationship on user interfaces
US6856326B1 (en) * 2000-01-28 2005-02-15 International Business Machines Corporation Smooth scrolling system and method
US20050246647A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation System and method for selecting a view mode using a control including a graphical depiction of the view mode
US20050267869A1 (en) * 2002-04-04 2005-12-01 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
KR100549201B1 (en) * 2002-09-09 2006-02-03 정영세 System for displaying a plurality of products automatically and sequentially
US20060107236A1 (en) * 2004-10-26 2006-05-18 International Business Machines Corporation Accessible markup language defined slider control
US20060123341A1 (en) * 2004-11-23 2006-06-08 Samsung Electronics Co., Ltd. Apparatus and method for adaptively generating tooltip
US20070006142A1 (en) * 1997-05-27 2007-01-04 Microsoft Corporation Computer programming language statement building and information tool
US20070050237A1 (en) * 2005-08-30 2007-03-01 Microsoft Corporation Visual designer for multi-dimensional business logic
US7213030B1 (en) * 1998-10-16 2007-05-01 Jenkins Steven R Web-enabled transaction and collaborative management system
US20070112607A1 (en) * 2005-11-16 2007-05-17 Microsoft Corporation Score-based alerting in business logic
WO2007059352A2 (en) * 2005-11-16 2007-05-24 Sensicore, Inc. Systems and methods for fluid quality sensing, data sharing and data visualization
US20070143411A1 (en) * 2005-12-16 2007-06-21 Microsoft Corporation Graphical interface for defining mutually exclusive destinations
US20070143161A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Application independent rendering of scorecard metrics
US20070143174A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Repeated inheritance of heterogeneous business metrics
US7264473B1 (en) 2001-02-13 2007-09-04 Microsoft Corporation Replaceable faceplates for peripheral devices
US20070234198A1 (en) * 2006-03-30 2007-10-04 Microsoft Corporation Multidimensional metrics-based annotation
US7281215B1 (en) 2002-04-30 2007-10-09 Aol Llc IM conversation counter and indicator
US20070255681A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Automated determination of relevant slice in multidimensional data sources
US20070260625A1 (en) * 2006-04-21 2007-11-08 Microsoft Corporation Grouping and display of logically defined reports
US20080040675A1 (en) * 2002-04-30 2008-02-14 Aol Llc Instant messaging interface having a tear-off element
US20080049039A1 (en) * 2006-08-21 2008-02-28 Mapinfo Corporation Method and apparatus of choosing ranges from a scale of values in a user interface
US7370277B1 (en) 2002-04-30 2008-05-06 Aol Llc E-mail interface having an informational tool tip
US20080172287A1 (en) * 2007-01-17 2008-07-17 Ian Tien Automated Domain Determination in Business Logic Applications
US20080172348A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Statistical Determination of Multi-Dimensional Targets
US20080183564A1 (en) * 2007-01-30 2008-07-31 Microsoft Corporation Untethered Interaction With Aggregated Metrics
US20080189724A1 (en) * 2007-02-02 2008-08-07 Microsoft Corporation Real Time Collaboration Using Embedded Data Visualizations
US20080244441A1 (en) * 2000-01-14 2008-10-02 Microsoft Corporation Radio station buttons
US20080256489A1 (en) * 2007-04-16 2008-10-16 Tektronix, Inc. Range Sliders with Linked Auto-Updating Spans
US20090006982A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Collaborative generation of meeting minutes and agenda confirmation
US7574669B1 (en) 2002-10-08 2009-08-11 Microsoft Corporation User interface control for navigating, selecting, and organizing document pages
EP2202614A1 (en) 2008-12-26 2010-06-30 Brother Kogyo Kabushiki Kaisha User input apparatus for multifunction peripheral device
US20100194706A1 (en) * 2009-01-30 2010-08-05 Brother Kogyo Kabushiki Kaisha Inputting apparatus and storage medium storing program
US7797643B1 (en) * 2004-06-25 2010-09-14 Apple Inc. Live content resizing
US20110074707A1 (en) * 2009-09-30 2011-03-31 Brother Kogyo Kabushiki Kaisha Display apparatus and input apparatus
US8126750B2 (en) 2006-04-27 2012-02-28 Microsoft Corporation Consolidating data source queries for multidimensional scorecards
US8321805B2 (en) 2007-01-30 2012-11-27 Microsoft Corporation Service architecture based metric views
US20140040753A1 (en) * 2007-12-05 2014-02-06 Ebay Inc. Multi-dimensional dynamic visual browsing
US20140195978A1 (en) * 2006-08-04 2014-07-10 Apple Inc. Granular graphical user interface element
US8904313B2 (en) 2012-05-24 2014-12-02 International Business Machines Corporation Gestural control for quantitative inputs
US8952898B1 (en) * 2006-03-02 2015-02-10 Intuit Inc. Method and system for displaying a quicktip
US9058307B2 (en) 2007-01-26 2015-06-16 Microsoft Technology Licensing, Llc Presentation generation using scorecard elements
EP2768421A4 (en) * 2011-10-19 2015-07-22 Biolase Inc System and method for controlling multiple lasers using a graphical user interface
US9201565B2 (en) 2012-05-31 2015-12-01 International Business Machines Corporation Value specification in a responsive interface control
USD777753S1 (en) * 2014-11-14 2017-01-31 Espec Corp. Display screen with graphical user interface
USD782511S1 (en) * 2014-11-14 2017-03-28 Espec Corp. Display screen with graphical user interface
US20180253189A1 (en) * 2011-12-16 2018-09-06 Google Inc. Controlling display of content
JP2018156353A (en) * 2017-03-17 2018-10-04 キヤノン株式会社 Information processing apparatus, information processing method, and program
USD980238S1 (en) * 2021-03-29 2023-03-07 Adp, Inc. Display screen or portion thereof with graphical user interface

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896291A (en) * 1988-05-20 1990-01-23 International Business Machines Corporation Valuator menu for use as a graphical user interface tool
US5491782A (en) * 1993-06-29 1996-02-13 International Business Machines Corporation Method and apparatus for loosely ganging sliders on a user interface of a data processing system
US5491781A (en) * 1993-03-12 1996-02-13 Hewlett-Packard Company Method and apparatus for displaying a graphic image
US5526480A (en) * 1992-12-28 1996-06-11 International Business Machines Corporation Time domain scroll bar for multimedia presentations in a data processing system
US5559301A (en) * 1994-09-15 1996-09-24 Korg, Inc. Touchscreen interface having pop-up variable adjustment displays for controllers and audio processing systems
US5615347A (en) * 1995-05-05 1997-03-25 Apple Computer, Inc. Method and apparatus for linking images of sliders on a computer display
US5623590A (en) * 1989-08-07 1997-04-22 Lucent Technologies Inc. Dynamic graphics arrangement for displaying spatial-time-series data
US5666504A (en) * 1995-09-29 1997-09-09 Intel Corporation Method for displaying a graphical rocker button control
US5680560A (en) * 1993-11-19 1997-10-21 International Business Machines Corporation Method and device for graphically setting multiple parameter ranges
US5710899A (en) * 1991-12-06 1998-01-20 Lucent Technologies Inc. Interactive selectors for selecting subsets of a set of values
US5751285A (en) * 1994-10-18 1998-05-12 Sharp Kabushiki Kaisha Parameter processing device for setting a parameter value using a movable slide operator and including means for fine-adjusting the parameter value

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896291A (en) * 1988-05-20 1990-01-23 International Business Machines Corporation Valuator menu for use as a graphical user interface tool
US5623590A (en) * 1989-08-07 1997-04-22 Lucent Technologies Inc. Dynamic graphics arrangement for displaying spatial-time-series data
US5710899A (en) * 1991-12-06 1998-01-20 Lucent Technologies Inc. Interactive selectors for selecting subsets of a set of values
US5526480A (en) * 1992-12-28 1996-06-11 International Business Machines Corporation Time domain scroll bar for multimedia presentations in a data processing system
US5491781A (en) * 1993-03-12 1996-02-13 Hewlett-Packard Company Method and apparatus for displaying a graphic image
US5491782A (en) * 1993-06-29 1996-02-13 International Business Machines Corporation Method and apparatus for loosely ganging sliders on a user interface of a data processing system
US5680560A (en) * 1993-11-19 1997-10-21 International Business Machines Corporation Method and device for graphically setting multiple parameter ranges
US5559301A (en) * 1994-09-15 1996-09-24 Korg, Inc. Touchscreen interface having pop-up variable adjustment displays for controllers and audio processing systems
US5751285A (en) * 1994-10-18 1998-05-12 Sharp Kabushiki Kaisha Parameter processing device for setting a parameter value using a movable slide operator and including means for fine-adjusting the parameter value
US5615347A (en) * 1995-05-05 1997-03-25 Apple Computer, Inc. Method and apparatus for linking images of sliders on a computer display
US5666504A (en) * 1995-09-29 1997-09-09 Intel Corporation Method for displaying a graphical rocker button control

Non-Patent Citations (16)

* Cited by examiner, † Cited by third party
Title
"12.1.6 Trackbar," Win 3.1 SDK: Windows for Workgroups Reference--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 1 page.
"CSliderCtrl," Visual C++ 4.0 Class Library Reference--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 14 pages.
"Messages to Trackbars," Win32 SDK:Win32, Overviews, Windows--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 2 pages.
"Scroll Bars, Sliders, Spin Controls, and Buddy Controls," Microsoft Visual Test 4.0 Programmer's Guide--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 1 page.
"Scroll Event," Visual Basic Professional and Enterprise Editions: Custom Control Reference--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 1 page.
"Slider Procedures," Microsoft Visual Test 4.0 Language Reference--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 11 pages.
"Slider: Implements the Trackbar Common Control in Windows 95," Tech Samples: Win32 and Windows NT--Microsoft Development Library, © 1992-1995 Microsoft Corporation, 1 page.
12.1.6 Trackbar, Win 3.1 SDK: Windows for Workgroups Reference Microsoft Development Library, 1992 1995 Microsoft Corporation, 1 page. *
CSliderCtrl, Visual C 4.0 Class Library Reference Microsoft Development Library, 1992 1995 Microsoft Corporation, 14 pages. *
Koike et al., "TimeSlider: An Interface to Specify Time Point", UIST '97, pp.43-44, 1997.
Koike et al., TimeSlider: An Interface to Specify Time Point , UIST 97, pp.43 44, 1997. *
Messages to Trackbars, Win32 SDK:Win32, Overviews, Windows Microsoft Development Library, 1992 1995 Microsoft Corporation, 2 pages. *
Scroll Bars, Sliders, Spin Controls, and Buddy Controls, Microsoft Visual Test 4.0 Programmer s Guide Microsoft Development Library, 1992 1995 Microsoft Corporation, 1 page. *
Scroll Event, Visual Basic Professional and Enterprise Editions: Custom Control Reference Microsoft Development Library, 1992 1995 Microsoft Corporation, 1 page. *
Slider Procedures, Microsoft Visual Test 4.0 Language Reference Microsoft Development Library, 1992 1995 Microsoft Corporation, 11 pages. *
Slider: Implements the Trackbar Common Control in Windows 95, Tech Samples: Win32 and Windows NT Microsoft Development Library, 1992 1995 Microsoft Corporation, 1 page. *

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814461B2 (en) 1997-05-27 2010-10-12 Microsoft Corporation Computer programming language statement building and information tool
US20070006142A1 (en) * 1997-05-27 2007-01-04 Microsoft Corporation Computer programming language statement building and information tool
US7322023B2 (en) * 1997-05-27 2008-01-22 Microsoft Corporation Computer programming language statement building and information tool with non obstructing passive assist window
US6417874B2 (en) * 1997-06-13 2002-07-09 Starfish Software, Inc. User interface methodology for microprocessor device having limited user input
US6380953B1 (en) * 1997-10-28 2002-04-30 Nippon Steel Corporation Method of display scrolling along a timebase and an apparatus for performing the method
US7213030B1 (en) * 1998-10-16 2007-05-01 Jenkins Steven R Web-enabled transaction and collaborative management system
US20070168871A1 (en) * 1998-10-16 2007-07-19 Haynes And Boone, L.L.P. Web-enabled transaction and collaborative management system
US6850254B1 (en) 1999-12-02 2005-02-01 International Business Machines Corporation System and method for defining parameter relationship on user interfaces
US20020147729A1 (en) * 2000-01-12 2002-10-10 Balfour Technologies Llc Method and system for a four-dimensional temporal visualization data browser
US7057612B2 (en) 2000-01-12 2006-06-06 Balfour Technologies Llc Method and system for a four-dimensional temporal visualization data browser
US20080244441A1 (en) * 2000-01-14 2008-10-02 Microsoft Corporation Radio station buttons
US8607135B2 (en) * 2000-01-14 2013-12-10 Microsoft Corporation Radio station buttons
US6856326B1 (en) * 2000-01-28 2005-02-15 International Business Machines Corporation Smooth scrolling system and method
US20020005867A1 (en) * 2000-05-22 2002-01-17 Yaniv Gvily Snippet selection
US7085994B2 (en) * 2000-05-22 2006-08-01 Sap Portals, Inc. Snippet selection
US7127704B2 (en) * 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US20020100016A1 (en) * 2000-06-02 2002-07-25 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US20020077863A1 (en) * 2000-11-17 2002-06-20 Jolyn Rutledge System and method for processing patient medical information acquired over a plurality of days
US20020063737A1 (en) * 2000-11-30 2002-05-30 Ephraim Feig Zoom-capable scrollbar
US7865838B2 (en) 2000-11-30 2011-01-04 International Business Machines Corporation Zoom-capable scrollbar
US20080141165A1 (en) * 2000-11-30 2008-06-12 International Business Machines Corporation Zoom-Capable Scrollbar
US7380216B2 (en) 2000-11-30 2008-05-27 International Business Machines Corporation Zoom-capable scrollbar
US20020147777A1 (en) * 2001-02-06 2002-10-10 Hackbarth Randy L. Apparatus and method for use in portal service for a team utilizing collaboration services
US7264473B1 (en) 2001-02-13 2007-09-04 Microsoft Corporation Replaceable faceplates for peripheral devices
US6686904B1 (en) * 2001-03-30 2004-02-03 Microsoft Corporation Wheel reporting method for a personal computer keyboard interface
US20030066058A1 (en) * 2001-10-01 2003-04-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US7117479B2 (en) 2001-10-01 2006-10-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030095144A1 (en) * 2001-11-21 2003-05-22 Trevino Scott E. Method and apparatus for prescribing an imaging scan and determining user input validity
US8010903B2 (en) * 2001-12-28 2011-08-30 International Business Machines Corporation System and method for visualizing and navigating dynamic content in a graphical user interface
US20030122874A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation System and method for visualizing and navigating dynamic content in a graphical user interface
US20030151627A1 (en) * 2002-02-14 2003-08-14 International Business Machines Corporation System and method for controlling real-time display
US8020111B2 (en) 2002-04-04 2011-09-13 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US20050278326A1 (en) * 2002-04-04 2005-12-15 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US7904439B2 (en) * 2002-04-04 2011-03-08 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US7702635B2 (en) 2002-04-04 2010-04-20 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US7685160B2 (en) 2002-04-04 2010-03-23 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US20050267869A1 (en) * 2002-04-04 2005-12-01 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US20060004705A1 (en) * 2002-04-04 2006-01-05 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US20060004763A1 (en) * 2002-04-04 2006-01-05 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US20050278323A1 (en) * 2002-04-04 2005-12-15 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
US20080092063A1 (en) * 2002-04-30 2008-04-17 Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) IM Conversation Counter and Indicator
US20080040675A1 (en) * 2002-04-30 2008-02-14 Aol Llc Instant messaging interface having a tear-off element
US10216353B2 (en) 2002-04-30 2019-02-26 Facebook, Inc. E-mail interface having an informational tool tip
US9177299B2 (en) 2002-04-30 2015-11-03 Facebook, Inc. Interface for displaying electronic communications
US7421661B1 (en) 2002-04-30 2008-09-02 Aol Llc Instant messaging interface having an informational tool tip
US8429543B2 (en) 2002-04-30 2013-04-23 Facebook, Inc. E-mail interface having an informational tool tip
US10949053B2 (en) 2002-04-30 2021-03-16 Facebook, Inc. E-mail interface having an informational tooltip
US7127685B2 (en) 2002-04-30 2006-10-24 America Online, Inc. Instant messaging interface having a tear-off element
US20040056893A1 (en) * 2002-04-30 2004-03-25 Canfield James Andrew Instant messaging interface having a tear-off element
US20110154252A1 (en) * 2002-04-30 2011-06-23 Aol Inc. E-mail interface having an informational tool tip
US7281215B1 (en) 2002-04-30 2007-10-09 Aol Llc IM conversation counter and indicator
US7284207B2 (en) 2002-04-30 2007-10-16 Aol Llc Instant messaging interface having a tear-off element
US7900148B1 (en) 2002-04-30 2011-03-01 Aol Inc. E-mail interface having an informational tool tip
US7877697B2 (en) 2002-04-30 2011-01-25 Aol Inc. IM conversation counter and indicator
US7370277B1 (en) 2002-04-30 2008-05-06 Aol Llc E-mail interface having an informational tool tip
US20040006764A1 (en) * 2002-06-28 2004-01-08 Van De Vanter Michael L. Undo/redo technique for token-oriented representation of program code
US7386834B2 (en) 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US20040003374A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Efficient computation of character offsets for token-oriented representation of program code
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US20040036714A1 (en) * 2002-08-26 2004-02-26 International Business Machines Corporation Method, system and program product for displaying a tooltip based on content within the tooltip
US7107530B2 (en) * 2002-08-26 2006-09-12 International Business Machines Corporation Method, system and program product for displaying a tooltip based on content within the tooltip
KR100549201B1 (en) * 2002-09-09 2006-02-03 정영세 System for displaying a plurality of products automatically and sequentially
US7574669B1 (en) 2002-10-08 2009-08-11 Microsoft Corporation User interface control for navigating, selecting, and organizing document pages
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20050010900A1 (en) * 2003-06-13 2005-01-13 Camille Huin Stacking and repeating graphical controls
US7827526B2 (en) * 2003-06-13 2010-11-02 Analog Devices, Inc. Stacking and repeating graphical controls
US7565623B2 (en) 2004-04-30 2009-07-21 Microsoft Corporation System and method for selecting a view mode and setting
US7577923B2 (en) 2004-04-30 2009-08-18 Microsoft Corporation System and method for selecting a view mode using a control including a graphical depiction of the view mode
US20050246647A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation System and method for selecting a view mode using a control including a graphical depiction of the view mode
US7424686B2 (en) 2004-04-30 2008-09-09 Microsoft Corporation System and method for selecting a setting by continuous or discrete controls
US7797643B1 (en) * 2004-06-25 2010-09-14 Apple Inc. Live content resizing
US7370286B2 (en) 2004-10-26 2008-05-06 International Business Machines Corporation Accessible markup language defined slider control
US7716602B2 (en) 2004-10-26 2010-05-11 International Business Machines Corporation Accessible markup language defined slider control
US20060107236A1 (en) * 2004-10-26 2006-05-18 International Business Machines Corporation Accessible markup language defined slider control
US20080201663A1 (en) * 2004-10-26 2008-08-21 International Business Machines Corporation Accessible markup language defined slider control
US20060123341A1 (en) * 2004-11-23 2006-06-08 Samsung Electronics Co., Ltd. Apparatus and method for adaptively generating tooltip
US7669125B2 (en) * 2004-11-23 2010-02-23 Samsung Electronics Co., Ltd. Apparatus and method for adaptively generating tooltip
US20070050237A1 (en) * 2005-08-30 2007-03-01 Microsoft Corporation Visual designer for multi-dimensional business logic
US20070219728A1 (en) * 2005-11-16 2007-09-20 Sensicore, Inc. System and methods for fluid quality sensing, data sharing and data visualization
US20070112607A1 (en) * 2005-11-16 2007-05-17 Microsoft Corporation Score-based alerting in business logic
WO2007059352A3 (en) * 2005-11-16 2008-06-05 Sensicore Inc Systems and methods for fluid quality sensing, data sharing and data visualization
WO2007059352A2 (en) * 2005-11-16 2007-05-24 Sensicore, Inc. Systems and methods for fluid quality sensing, data sharing and data visualization
US20070143411A1 (en) * 2005-12-16 2007-06-21 Microsoft Corporation Graphical interface for defining mutually exclusive destinations
US7730141B2 (en) * 2005-12-16 2010-06-01 Microsoft Corporation Graphical interface for defining mutually exclusive destinations
US20070143174A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Repeated inheritance of heterogeneous business metrics
US20070143161A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Application independent rendering of scorecard metrics
US8952898B1 (en) * 2006-03-02 2015-02-10 Intuit Inc. Method and system for displaying a quicktip
US8261181B2 (en) 2006-03-30 2012-09-04 Microsoft Corporation Multidimensional metrics-based annotation
US20070234198A1 (en) * 2006-03-30 2007-10-04 Microsoft Corporation Multidimensional metrics-based annotation
US8190992B2 (en) 2006-04-21 2012-05-29 Microsoft Corporation Grouping and display of logically defined reports
US20070260625A1 (en) * 2006-04-21 2007-11-08 Microsoft Corporation Grouping and display of logically defined reports
US20070255681A1 (en) * 2006-04-27 2007-11-01 Microsoft Corporation Automated determination of relevant slice in multidimensional data sources
US8126750B2 (en) 2006-04-27 2012-02-28 Microsoft Corporation Consolidating data source queries for multidimensional scorecards
US10203857B2 (en) * 2006-08-04 2019-02-12 Apple Inc. Granular graphical user interface element
US20140195978A1 (en) * 2006-08-04 2014-07-10 Apple Inc. Granular graphical user interface element
US7542039B2 (en) * 2006-08-21 2009-06-02 Pitney Bowes Software Inc. Method and apparatus of choosing ranges from a scale of values in a user interface
US20080049039A1 (en) * 2006-08-21 2008-02-28 Mapinfo Corporation Method and apparatus of choosing ranges from a scale of values in a user interface
US20080172348A1 (en) * 2007-01-17 2008-07-17 Microsoft Corporation Statistical Determination of Multi-Dimensional Targets
US20080172287A1 (en) * 2007-01-17 2008-07-17 Ian Tien Automated Domain Determination in Business Logic Applications
US9058307B2 (en) 2007-01-26 2015-06-16 Microsoft Technology Licensing, Llc Presentation generation using scorecard elements
US8321805B2 (en) 2007-01-30 2012-11-27 Microsoft Corporation Service architecture based metric views
US20080183564A1 (en) * 2007-01-30 2008-07-31 Microsoft Corporation Untethered Interaction With Aggregated Metrics
US20080189724A1 (en) * 2007-02-02 2008-08-07 Microsoft Corporation Real Time Collaboration Using Embedded Data Visualizations
US9392026B2 (en) 2007-02-02 2016-07-12 Microsoft Technology Licensing, Llc Real time collaboration using embedded data visualizations
US8495663B2 (en) 2007-02-02 2013-07-23 Microsoft Corporation Real time collaboration using embedded data visualizations
US20080256489A1 (en) * 2007-04-16 2008-10-16 Tektronix, Inc. Range Sliders with Linked Auto-Updating Spans
US8266534B2 (en) * 2007-06-28 2012-09-11 Microsoft Corporation Collaborative generation of meeting minutes and agenda confirmation
US20090006982A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Collaborative generation of meeting minutes and agenda confirmation
US20140040753A1 (en) * 2007-12-05 2014-02-06 Ebay Inc. Multi-dimensional dynamic visual browsing
US10534511B2 (en) * 2007-12-05 2020-01-14 Paypal, Inc. Multi-dimensional dynamic visual browsing
US20100164991A1 (en) * 2008-12-26 2010-07-01 Brother Kogyo Kabushiki Kaisha Inputting apparatus
EP2202614A1 (en) 2008-12-26 2010-06-30 Brother Kogyo Kabushiki Kaisha User input apparatus for multifunction peripheral device
US9141268B2 (en) 2009-01-30 2015-09-22 Brother Kogyo Kabushiki Kaisha Inputting apparatus and storage medium storing program
US20100194706A1 (en) * 2009-01-30 2010-08-05 Brother Kogyo Kabushiki Kaisha Inputting apparatus and storage medium storing program
US20110074707A1 (en) * 2009-09-30 2011-03-31 Brother Kogyo Kabushiki Kaisha Display apparatus and input apparatus
US9143640B2 (en) 2009-09-30 2015-09-22 Brother Kogyo Kabushiki Kaisha Display apparatus and input apparatus
US9696893B2 (en) 2011-10-19 2017-07-04 Biolase, Inc. System and method for controlling multiple lasers using a graphical user interface
EP2768421A4 (en) * 2011-10-19 2015-07-22 Biolase Inc System and method for controlling multiple lasers using a graphical user interface
US20180253189A1 (en) * 2011-12-16 2018-09-06 Google Inc. Controlling display of content
US8904313B2 (en) 2012-05-24 2014-12-02 International Business Machines Corporation Gestural control for quantitative inputs
US9201562B2 (en) 2012-05-31 2015-12-01 International Business Machines Corporation Value specification in a responsive interface control
US9201565B2 (en) 2012-05-31 2015-12-01 International Business Machines Corporation Value specification in a responsive interface control
US10409468B2 (en) 2012-05-31 2019-09-10 International Business Machines Corporation Value specification in a responsive interface control
USD777753S1 (en) * 2014-11-14 2017-01-31 Espec Corp. Display screen with graphical user interface
USD782511S1 (en) * 2014-11-14 2017-03-28 Espec Corp. Display screen with graphical user interface
JP2018156353A (en) * 2017-03-17 2018-10-04 キヤノン株式会社 Information processing apparatus, information processing method, and program
USD980238S1 (en) * 2021-03-29 2023-03-07 Adp, Inc. Display screen or portion thereof with graphical user interface

Similar Documents

Publication Publication Date Title
US5877758A (en) System and method for using a slider control for controlling parameters of a display item
US6104398A (en) Fast and efficient means for grouped object selection and deselection
US5655094A (en) Pop up scroll bar
US5923328A (en) Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
US5140677A (en) Computer user interface with window title bar mini-icons
EP0677803B1 (en) A method and system for facilitating the selection of icons
US6448985B1 (en) Directory tree user interface having scrollable subsections
US5414809A (en) Graphical display of data
US6057834A (en) Iconic subscription schedule controller for a graphic user interface
US7603632B1 (en) System and method for creating customizable nodes in a network diagram
US5140678A (en) Computer user interface with window title bar icons
US6507351B1 (en) System for managing personal and group networked information
US8302026B2 (en) Multi-panel user interface
US6239798B1 (en) Methods and apparatus for a window access panel
US5546520A (en) Method, system, and memory for reshaping the frame edges of a window around information displayed in the window
EP0747804B1 (en) Selection facilitation on a graphical interface
US5936623A (en) Method and apparatus for selecting a particular object from among a large number of objects
EP0564548B1 (en) Apparatus and method for creation of a user definable video displayed document showing changes in real time data
US5500938A (en) Method and apparatus for directly selecting and signalling start and stop times in an electronic calendar
AU2012283792B2 (en) Launcher for context based menus
EP0537100B1 (en) A method of implementing a preview window in an object oriented programming system
US6664983B2 (en) Method and apparatus for configuring sliding panels
US5515496A (en) Computer system with direct manipulation interface and method of operating same
US6262728B1 (en) System and method for annotating a graphical user interface display in a computer-based system
CA2300994C (en) Browser for hierarchical structures

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SEYBOLD, CHARLES ALLEN;REEL/FRAME:008273/0768

Effective date: 19961120

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0001

Effective date: 20141014