Mercurial > hg > xemacs-beta
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); |