comparison lwlib/xlwscrollbar.c @ 173:8eaf7971accc r20-3b13

Import from CVS: tag r20-3b13
author cvs
date Mon, 13 Aug 2007 09:49:09 +0200
parents 6b37e6ddd302
children 6075d714658b
comparison
equal deleted inserted replaced
172:a38aed19690b 173:8eaf7971accc
1525 w->sb.timerActive = False; 1525 w->sb.timerActive = False;
1526 1526
1527 if (w->sb.armed != ARM_NONE) 1527 if (w->sb.armed != ARM_NONE)
1528 { 1528 {
1529 int last_value = w->sb.value; 1529 int last_value = w->sb.value;
1530 int reason = XmCR_NONE; 1530 int reason;
1531 1531
1532 switch (w->sb.armed) 1532 switch (w->sb.armed)
1533 { 1533 {
1534 case ARM_PAGEUP: 1534 case ARM_PAGEUP:
1535 decrement_value (w, w->sb.pageIncrement); 1535 decrement_value (w, w->sb.pageIncrement);
1545 break; 1545 break;
1546 case ARM_DOWN: 1546 case ARM_DOWN:
1547 increment_value (w, w->sb.increment); 1547 increment_value (w, w->sb.increment);
1548 reason = XmCR_INCREMENT; 1548 reason = XmCR_INCREMENT;
1549 break; 1549 break;
1550 default:
1551 reason = XmCR_NONE;
1550 } 1552 }
1551 1553
1552 verify_values (w); 1554 verify_values (w);
1553 1555
1554 if (last_value != w->sb.value) 1556 if (last_value != w->sb.value)
1601 1603
1602 if ( (mouse_y -= w->sb.ss) < 0) 1604 if ( (mouse_y -= w->sb.ss) < 0)
1603 return BUTTON_SLIDER; 1605 return BUTTON_SLIDER;
1604 1606
1605 return BUTTON_TROUGH_BELOW; 1607 return BUTTON_TROUGH_BELOW;
1606 }
1607
1608 static void
1609 PageDownOrRight (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
1610 {
1611 XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
1612 w->sb.forced_scroll = FORCED_SCROLL_DOWNRIGHT;
1613 Select (widget, event, parms, num_parms);
1614 w->sb.forced_scroll = FORCED_SCROLL_NONE;
1615 }
1616
1617 static void
1618 PageUpOrLeft (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
1619 {
1620 XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
1621 w->sb.forced_scroll = FORCED_SCROLL_UPLEFT;
1622 Select (widget, event, parms, num_parms);
1623 w->sb.forced_scroll = FORCED_SCROLL_NONE;
1624 } 1608 }
1625 1609
1626 static void 1610 static void
1627 Select (Widget widget, XEvent *event, String *parms, Cardinal *num_parms) 1611 Select (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
1628 { 1612 {
1661 w->sb.armed = ARM_PAGEDOWN; 1645 w->sb.armed = ARM_PAGEDOWN;
1662 reason = XmCR_PAGE_INCREMENT; 1646 reason = XmCR_PAGE_INCREMENT;
1663 break; 1647 break;
1664 } 1648 }
1665 abort(); 1649 abort();
1650 default:
1651 ; /* Do nothing */
1666 } 1652 }
1667 } 1653 }
1668 1654
1669 switch (sb_button) 1655 switch (sb_button)
1670 { 1656 {
1709 reason = XmCR_INCREMENT; 1695 reason = XmCR_INCREMENT;
1710 } 1696 }
1711 w->sb.armed = ARM_DOWN; 1697 w->sb.armed = ARM_DOWN;
1712 redraw_down_arrow (w, True, False); 1698 redraw_down_arrow (w, True, False);
1713 break; 1699 break;
1700 case BUTTON_NONE:
1701 ; /* Do nothing */
1714 } 1702 }
1715 1703
1716 verify_values (w); 1704 verify_values (w);
1717 1705
1718 if (last_value != w->sb.value) 1706 if (last_value != w->sb.value)
1731 timer, (XtPointer) w); 1719 timer, (XtPointer) w);
1732 w->sb.timerActive = True; 1720 w->sb.timerActive = True;
1733 } 1721 }
1734 1722
1735 CHECK (w); 1723 CHECK (w);
1724 }
1725
1726 static void
1727 PageDownOrRight (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
1728 {
1729 XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
1730 w->sb.forced_scroll = FORCED_SCROLL_DOWNRIGHT;
1731 Select (widget, event, parms, num_parms);
1732 w->sb.forced_scroll = FORCED_SCROLL_NONE;
1733 }
1734
1735 static void
1736 PageUpOrLeft (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
1737 {
1738 XlwScrollBarWidget w = (XlwScrollBarWidget) widget;
1739 w->sb.forced_scroll = FORCED_SCROLL_UPLEFT;
1740 Select (widget, event, parms, num_parms);
1741 w->sb.forced_scroll = FORCED_SCROLL_NONE;
1736 } 1742 }
1737 1743
1738 static void 1744 static void
1739 Drag (Widget widget, XEvent *event, String *parms, Cardinal *num_parms) 1745 Drag (Widget widget, XEvent *event, String *parms, Cardinal *num_parms)
1740 { 1746 {
1791 redraw_up_arrow (w, False, False); 1797 redraw_up_arrow (w, False, False);
1792 break; 1798 break;
1793 case ARM_DOWN: 1799 case ARM_DOWN:
1794 redraw_down_arrow (w, False, False); 1800 redraw_down_arrow (w, False, False);
1795 break; 1801 break;
1802 default:
1803 ; /* Do nothing */
1796 } 1804 }
1797 1805
1798 XtUngrabKeyboard ((Widget) w, event->xbutton.time); 1806 XtUngrabKeyboard ((Widget) w, event->xbutton.time);
1799 1807
1800 w->sb.armed = ARM_NONE; 1808 w->sb.armed = ARM_NONE;
1851 1859
1852 if (w->sb.value != last_value) 1860 if (w->sb.value != last_value)
1853 call_callbacks (w, XmCR_DRAG, w->sb.value, mouse_y, event); 1861 call_callbacks (w, XmCR_DRAG, w->sb.value, mouse_y, event);
1854 1862
1855 break; 1863 break;
1864 default:
1865 ; /* Do nothing */
1856 } 1866 }
1857 CHECK (w); 1867 CHECK (w);
1858 } 1868 }
1859 1869
1860 static void 1870 static void
1877 1887
1878 switch (w->sb.armed) 1888 switch (w->sb.armed)
1879 { 1889 {
1880 case ARM_UP: redraw_up_arrow (w, False, False); break; 1890 case ARM_UP: redraw_up_arrow (w, False, False); break;
1881 case ARM_DOWN: redraw_down_arrow (w, False, False); break; 1891 case ARM_DOWN: redraw_down_arrow (w, False, False); break;
1892 default: ; /* Do nothing */
1882 } 1893 }
1883 1894
1884 w->sb.armed = ARM_NONE; 1895 w->sb.armed = ARM_NONE;
1885 1896
1886 XtUngrabKeyboard ((Widget) w, event->xbutton.time); 1897 XtUngrabKeyboard ((Widget) w, event->xbutton.time);