| 16 | { |
| 17 | |
| 18 | void ScrollBar::initialiseOverride() |
| 19 | { |
| 20 | Base::initialiseOverride(); |
| 21 | |
| 22 | // при нуле, будет игнорировать кнопки |
| 23 | mScrollPage = 1; |
| 24 | mScrollViewPage = 1; |
| 25 | mScrollWheelPage = 1; |
| 26 | mMinTrackSize = 0; |
| 27 | mSkinRangeStart = 0; |
| 28 | mSkinRangeEnd = 0; |
| 29 | |
| 30 | mRepeatTriggerTime = 0.5f; |
| 31 | mRepeatStepTime = 0.1f; |
| 32 | |
| 33 | ///@wskin_child{ScrollBar, Button, Start} Кнопка начала диапазона. |
| 34 | assignWidget(mWidgetStart, "Start"); |
| 35 | if (mWidgetStart != nullptr) |
| 36 | { |
| 37 | mWidgetStart->eventMouseButtonPressed += newDelegate(this, &ScrollBar::notifyMousePressed); |
| 38 | mWidgetStart->eventMouseButtonReleased += newDelegate(this, &ScrollBar::notifyMouseReleased); |
| 39 | mWidgetStart->eventMouseWheel += newDelegate(this, &ScrollBar::notifyMouseWheel); |
| 40 | } |
| 41 | |
| 42 | ///@wskin_child{ScrollBar, Button, End} Кнопка конца диапазона. |
| 43 | assignWidget(mWidgetEnd, "End"); |
| 44 | if (mWidgetEnd != nullptr) |
| 45 | { |
| 46 | mWidgetEnd->eventMouseButtonPressed += newDelegate(this, &ScrollBar::notifyMousePressed); |
| 47 | mWidgetEnd->eventMouseButtonReleased += newDelegate(this, &ScrollBar::notifyMouseReleased); |
| 48 | mWidgetEnd->eventMouseWheel += newDelegate(this, &ScrollBar::notifyMouseWheel); |
| 49 | } |
| 50 | |
| 51 | ///@wskin_child{ScrollBar, Button, Track} Кнопка трекера. |
| 52 | assignWidget(mWidgetTrack, "Track"); |
| 53 | if (mWidgetTrack) |
| 54 | { |
| 55 | mWidgetTrack->eventMouseDrag += newDelegate(this, &ScrollBar::notifyMouseDrag); |
| 56 | mWidgetTrack->eventMouseButtonPressed += newDelegate(this, &ScrollBar::notifyMousePressed); |
| 57 | mWidgetTrack->eventMouseButtonReleased += newDelegate(this, &ScrollBar::notifyMouseReleased); |
| 58 | mWidgetTrack->eventMouseWheel += newDelegate(this, &ScrollBar::notifyMouseWheel); |
| 59 | mWidgetTrack->setVisible(false); |
| 60 | } |
| 61 | |
| 62 | ///@wskin_child{ScrollBar, Widget, FirstPart} Виджет первой половины прокрутки от начала до трекера, при нажатии восприницмается как прокрутка страницы. |
| 63 | assignWidget(mWidgetFirstPart, "FirstPart"); |
| 64 | if (mWidgetFirstPart != nullptr) |
| 65 | { |
| 66 | mWidgetFirstPart->eventMouseButtonPressed += newDelegate(this, &ScrollBar::notifyMousePressed); |
| 67 | mWidgetFirstPart->eventMouseButtonReleased += newDelegate(this, &ScrollBar::notifyMouseReleased); |
| 68 | mWidgetFirstPart->eventMouseWheel += newDelegate(this, &ScrollBar::notifyMouseWheel); |
| 69 | } |
| 70 | |
| 71 | ///@wskin_child{ScrollBar, Widget, SecondPart} Виджет второй половины прокрутки от трекера до конца, при нажатии восприницмается как прокрутка страницы. |
| 72 | assignWidget(mWidgetSecondPart, "SecondPart"); |
| 73 | if (mWidgetSecondPart != nullptr) |
| 74 | { |
| 75 | mWidgetSecondPart->eventMouseButtonPressed += newDelegate(this, &ScrollBar::notifyMousePressed); |
nothing calls this directly
no test coverage detected