Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
- Exported types
- Methods
- append
- getAllowLongSwipes
- getAllowMouseDrag
- getAllowScrollWheel
- getInteractive
- getNPages
- getNthPage
- getPosition
- getRevealDuration
- getScrollParams
- getSpacing
- insert
- new
- prepend
- remove
- reorder
- scrollTo
- setAllowLongSwipes
- setAllowMouseDrag
- setAllowScrollWheel
- setInteractive
- setRevealDuration
- setScrollParams
- setSpacing
- Properties
- Signals
A paginated scrolling widget.
<picture> <source srcset="carousel-dark.png" media="(prefers-color-scheme: dark)"> <img src="carousel.png" alt="carousel"> </picture>
The AdwCarousel
widget can be used to display a set of pages with
swipe-based navigation between them.
- class
carouselIndicatorDots
- and [class
carouselIndicatorLines
] can be used to provide page indicators forAdwCarousel
.
CSS nodes
AdwCarousel
has a single CSS node with name carousel
.
Since: 1.0
Synopsis
- newtype Carousel = Carousel (ManagedPtr Carousel)
- class (GObject o, IsDescendantOf Carousel o) => IsCarousel o
- toCarousel :: (MonadIO m, IsCarousel o) => o -> m Carousel
- carouselAppend :: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) => a -> b -> m ()
- carouselGetAllowLongSwipes :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Bool
- carouselGetAllowMouseDrag :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Bool
- carouselGetAllowScrollWheel :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Bool
- carouselGetInteractive :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Bool
- carouselGetNPages :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Word32
- carouselGetNthPage :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Word32 -> m Widget
- carouselGetPosition :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Double
- carouselGetRevealDuration :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Word32
- carouselGetScrollParams :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m SpringParams
- carouselGetSpacing :: (HasCallStack, MonadIO m, IsCarousel a) => a -> m Word32
- carouselInsert :: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) => a -> b -> Int32 -> m ()
- carouselNew :: (HasCallStack, MonadIO m) => m Carousel
- carouselPrepend :: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) => a -> b -> m ()
- carouselRemove :: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) => a -> b -> m ()
- carouselReorder :: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) => a -> b -> Int32 -> m ()
- carouselScrollTo :: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) => a -> b -> Bool -> m ()
- carouselSetAllowLongSwipes :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Bool -> m ()
- carouselSetAllowMouseDrag :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Bool -> m ()
- carouselSetAllowScrollWheel :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Bool -> m ()
- carouselSetInteractive :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Bool -> m ()
- carouselSetRevealDuration :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Word32 -> m ()
- carouselSetScrollParams :: (HasCallStack, MonadIO m, IsCarousel a) => a -> SpringParams -> m ()
- carouselSetSpacing :: (HasCallStack, MonadIO m, IsCarousel a) => a -> Word32 -> m ()
- constructCarouselAllowLongSwipes :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o)
- getCarouselAllowLongSwipes :: (MonadIO m, IsCarousel o) => o -> m Bool
- setCarouselAllowLongSwipes :: (MonadIO m, IsCarousel o) => o -> Bool -> m ()
- constructCarouselAllowMouseDrag :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o)
- getCarouselAllowMouseDrag :: (MonadIO m, IsCarousel o) => o -> m Bool
- setCarouselAllowMouseDrag :: (MonadIO m, IsCarousel o) => o -> Bool -> m ()
- constructCarouselAllowScrollWheel :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o)
- getCarouselAllowScrollWheel :: (MonadIO m, IsCarousel o) => o -> m Bool
- setCarouselAllowScrollWheel :: (MonadIO m, IsCarousel o) => o -> Bool -> m ()
- constructCarouselInteractive :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o)
- getCarouselInteractive :: (MonadIO m, IsCarousel o) => o -> m Bool
- setCarouselInteractive :: (MonadIO m, IsCarousel o) => o -> Bool -> m ()
- getCarouselNPages :: (MonadIO m, IsCarousel o) => o -> m Word32
- getCarouselPosition :: (MonadIO m, IsCarousel o) => o -> m Double
- constructCarouselRevealDuration :: (IsCarousel o, MonadIO m) => Word32 -> m (GValueConstruct o)
- getCarouselRevealDuration :: (MonadIO m, IsCarousel o) => o -> m Word32
- setCarouselRevealDuration :: (MonadIO m, IsCarousel o) => o -> Word32 -> m ()
- constructCarouselScrollParams :: (IsCarousel o, MonadIO m) => SpringParams -> m (GValueConstruct o)
- getCarouselScrollParams :: (MonadIO m, IsCarousel o) => o -> m (Maybe SpringParams)
- setCarouselScrollParams :: (MonadIO m, IsCarousel o) => o -> SpringParams -> m ()
- constructCarouselSpacing :: (IsCarousel o, MonadIO m) => Word32 -> m (GValueConstruct o)
- getCarouselSpacing :: (MonadIO m, IsCarousel o) => o -> m Word32
- setCarouselSpacing :: (MonadIO m, IsCarousel o) => o -> Word32 -> m ()
- type CarouselPageChangedCallback = Word32 -> IO ()
- afterCarouselPageChanged :: (IsCarousel a, MonadIO m) => a -> ((?self :: a) => CarouselPageChangedCallback) -> m SignalHandlerId
- onCarouselPageChanged :: (IsCarousel a, MonadIO m) => a -> ((?self :: a) => CarouselPageChangedCallback) -> m SignalHandlerId
Exported types
Memory-managed wrapper type.
Instances
Eq Carousel Source # | |
GObject Carousel Source # | |
Defined in GI.Adw.Objects.Carousel | |
ManagedPtrNewtype Carousel Source # | |
Defined in GI.Adw.Objects.Carousel toManagedPtr :: Carousel -> ManagedPtr Carousel | |
TypedObject Carousel Source # | |
Defined in GI.Adw.Objects.Carousel | |
HasParentTypes Carousel Source # | |
Defined in GI.Adw.Objects.Carousel | |
IsGValue (Maybe Carousel) Source # | Convert |
Defined in GI.Adw.Objects.Carousel gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Carousel -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Carousel) | |
type ParentTypes Carousel Source # | |
Defined in GI.Adw.Objects.Carousel |
class (GObject o, IsDescendantOf Carousel o) => IsCarousel o Source #
Type class for types which can be safely cast to Carousel
, for instance with toCarousel
.
Instances
(GObject o, IsDescendantOf Carousel o) => IsCarousel o Source # | |
Defined in GI.Adw.Objects.Carousel |
toCarousel :: (MonadIO m, IsCarousel o) => o -> m Carousel Source #
Methods
Click to display all available methods, including inherited ones
Methods
actionSetEnabled, activate, activateAction, activateDefault, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, append, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insert, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, prepend, queueAllocate, queueDraw, queueResize, realize, ref, refSink, remove, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, reorder, resetProperty, resetRelation, resetState, runDispose, scrollTo, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateProperty, updateRelation, updateState, watchClosure.
Getters
getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAllowLongSwipes, getAllowMouseDrag, getAllowScrollWheel, getAncestor, getBuildableId, getCanFocus, getCanTarget, getCancelProgress, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getDistance, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getInteractive, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getNPages, getName, getNative, getNextSibling, getNthPage, getOpacity, getOrientation, getOverflow, getPangoContext, getParent, getPosition, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProgress, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRevealDuration, getRoot, getScaleFactor, getScrollParams, getSensitive, getSettings, getSize, getSizeRequest, getSnapPoints, getSpacing, getStateFlags, getStyleContext, getSwipeArea, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.
Setters
setAllowLongSwipes, setAllowMouseDrag, setAllowScrollWheel, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDirection, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setInteractive, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOrientation, setOverflow, setParent, setProperty, setReceivesDefault, setRevealDuration, setScrollParams, setSensitive, setSizeRequest, setSpacing, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.
append
:: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Appends child
to self
.
Since: 1.0
getAllowLongSwipes
carouselGetAllowLongSwipes Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Bool | Returns: |
Gets whether to allow swiping for more than one page at a time.
Since: 1.0
getAllowMouseDrag
carouselGetAllowMouseDrag Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Bool | Returns: whether |
Sets whether self
can be dragged with mouse pointer.
Since: 1.0
getAllowScrollWheel
carouselGetAllowScrollWheel Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Bool | Returns: |
Gets whether self
will respond to scroll wheel events.
Since: 1.0
getInteractive
carouselGetInteractive Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Bool | Returns: whether |
Gets whether self
can be navigated.
Since: 1.0
getNPages
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Word32 | Returns: the number of pages in |
Gets the number of pages in self
.
Since: 1.0
getNthPage
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Word32 |
|
-> m Widget | Returns: the page |
Gets the page at position n
.
Since: 1.0
getPosition
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Double | Returns: the scroll position |
Gets current scroll position in self
.
It's unitless, 1 matches 1 page.
Since: 1.0
getRevealDuration
carouselGetRevealDuration Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Word32 | Returns: the duration |
Gets duration of the animation used when adding or removing pages.
Since: 1.0
getScrollParams
carouselGetScrollParams Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m SpringParams | Returns: the animation parameters |
Gets the scroll animation spring parameters for self
.
Since: 1.0
getSpacing
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> m Word32 | Returns: spacing between pages |
Gets spacing between pages in pixels.
Since: 1.0
insert
:: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) | |
=> a |
|
-> b |
|
-> Int32 |
|
-> m () |
Inserts child
into self
at position position
.
If position is -1, or larger than the number of pages,
child
will be appended to the end.
Since: 1.0
new
:: (HasCallStack, MonadIO m) | |
=> m Carousel | Returns: the newly created |
Creates a new AdwCarousel
.
Since: 1.0
prepend
:: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Prepends child
to self
.
Since: 1.0
remove
:: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Removes child
from self
.
Since: 1.0
reorder
:: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) | |
=> a |
|
-> b |
|
-> Int32 |
|
-> m () |
Moves child
into position position
.
If position is -1, or larger than the number of pages, child
will be moved
at the end.
Since: 1.0
scrollTo
:: (HasCallStack, MonadIO m, IsCarousel a, IsWidget b) | |
=> a |
|
-> b |
|
-> Bool |
|
-> m () |
Scrolls to widget
.
If animate
is TRUE
, the transition will be animated.
Since: 1.0
setAllowLongSwipes
carouselSetAllowLongSwipes Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether to allow swiping for more than one page at a time.
Since: 1.0
setAllowMouseDrag
carouselSetAllowMouseDrag Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether self
can be dragged with mouse pointer.
Since: 1.0
setAllowScrollWheel
carouselSetAllowScrollWheel Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether self
will respond to scroll wheel events.
Since: 1.0
setInteractive
carouselSetInteractive Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether self
can be navigated.
Since: 1.0
setRevealDuration
carouselSetRevealDuration Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets duration of the animation used when adding or removing pages.
Since: 1.0
setScrollParams
carouselSetScrollParams Source #
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> SpringParams |
|
-> m () |
Sets the scroll animation spring parameters for self
.
Since: 1.0
setSpacing
:: (HasCallStack, MonadIO m, IsCarousel a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets spacing between pages in pixels.
Since: 1.0
Properties
allowLongSwipes
Whether to allow swiping for more than one page at a time.
If the value is FALSE
, each swipe can only move to the adjacent pages.
Since: 1.0
constructCarouselAllowLongSwipes :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “allow-long-swipes
” property. This is rarely needed directly, but it is used by new
.
getCarouselAllowLongSwipes :: (MonadIO m, IsCarousel o) => o -> m Bool Source #
Get the value of the “allow-long-swipes
” property.
When overloading is enabled, this is equivalent to
get
carousel #allowLongSwipes
setCarouselAllowLongSwipes :: (MonadIO m, IsCarousel o) => o -> Bool -> m () Source #
Set the value of the “allow-long-swipes
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #allowLongSwipes:=
value ]
allowMouseDrag
Sets whether the AdwCarousel
can be dragged with mouse pointer.
If the value is FALSE
, dragging is only available on touch.
Since: 1.0
constructCarouselAllowMouseDrag :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “allow-mouse-drag
” property. This is rarely needed directly, but it is used by new
.
getCarouselAllowMouseDrag :: (MonadIO m, IsCarousel o) => o -> m Bool Source #
Get the value of the “allow-mouse-drag
” property.
When overloading is enabled, this is equivalent to
get
carousel #allowMouseDrag
setCarouselAllowMouseDrag :: (MonadIO m, IsCarousel o) => o -> Bool -> m () Source #
Set the value of the “allow-mouse-drag
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #allowMouseDrag:=
value ]
allowScrollWheel
Whether the widget will respond to scroll wheel events.
If the value is FALSE
, wheel events will be ignored.
Since: 1.0
constructCarouselAllowScrollWheel :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “allow-scroll-wheel
” property. This is rarely needed directly, but it is used by new
.
getCarouselAllowScrollWheel :: (MonadIO m, IsCarousel o) => o -> m Bool Source #
Get the value of the “allow-scroll-wheel
” property.
When overloading is enabled, this is equivalent to
get
carousel #allowScrollWheel
setCarouselAllowScrollWheel :: (MonadIO m, IsCarousel o) => o -> Bool -> m () Source #
Set the value of the “allow-scroll-wheel
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #allowScrollWheel:=
value ]
interactive
Whether the carousel can be navigated.
This can be used to temporarily disable a AdwCarousel
to only allow
navigating it in a certain state.
Since: 1.0
constructCarouselInteractive :: (IsCarousel o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “interactive
” property. This is rarely needed directly, but it is used by new
.
getCarouselInteractive :: (MonadIO m, IsCarousel o) => o -> m Bool Source #
Get the value of the “interactive
” property.
When overloading is enabled, this is equivalent to
get
carousel #interactive
setCarouselInteractive :: (MonadIO m, IsCarousel o) => o -> Bool -> m () Source #
Set the value of the “interactive
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #interactive:=
value ]
nPages
The number of pages in a AdwCarousel
.
Since: 1.0
getCarouselNPages :: (MonadIO m, IsCarousel o) => o -> m Word32 Source #
Get the value of the “n-pages
” property.
When overloading is enabled, this is equivalent to
get
carousel #nPages
position
Current scrolling position, unitless.
1 matches 1 page. Use [methodcarousel
.scroll_to] for changing it.
Since: 1.0
getCarouselPosition :: (MonadIO m, IsCarousel o) => o -> m Double Source #
Get the value of the “position
” property.
When overloading is enabled, this is equivalent to
get
carousel #position
revealDuration
Page reveal duration, in milliseconds.
Since: 1.0
constructCarouselRevealDuration :: (IsCarousel o, MonadIO m) => Word32 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “reveal-duration
” property. This is rarely needed directly, but it is used by new
.
getCarouselRevealDuration :: (MonadIO m, IsCarousel o) => o -> m Word32 Source #
Get the value of the “reveal-duration
” property.
When overloading is enabled, this is equivalent to
get
carousel #revealDuration
setCarouselRevealDuration :: (MonadIO m, IsCarousel o) => o -> Word32 -> m () Source #
Set the value of the “reveal-duration
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #revealDuration:=
value ]
scrollParams
Scroll animation spring parameters.
The default value is equivalent to:
c code
adw_spring_params_new (1, 0.5, 500)
Since: 1.0
constructCarouselScrollParams :: (IsCarousel o, MonadIO m) => SpringParams -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “scroll-params
” property. This is rarely needed directly, but it is used by new
.
getCarouselScrollParams :: (MonadIO m, IsCarousel o) => o -> m (Maybe SpringParams) Source #
Get the value of the “scroll-params
” property.
When overloading is enabled, this is equivalent to
get
carousel #scrollParams
setCarouselScrollParams :: (MonadIO m, IsCarousel o) => o -> SpringParams -> m () Source #
Set the value of the “scroll-params
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #scrollParams:=
value ]
spacing
Spacing between pages in pixels.
Since: 1.0
constructCarouselSpacing :: (IsCarousel o, MonadIO m) => Word32 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “spacing
” property. This is rarely needed directly, but it is used by new
.
getCarouselSpacing :: (MonadIO m, IsCarousel o) => o -> m Word32 Source #
Get the value of the “spacing
” property.
When overloading is enabled, this is equivalent to
get
carousel #spacing
setCarouselSpacing :: (MonadIO m, IsCarousel o) => o -> Word32 -> m () Source #
Set the value of the “spacing
” property.
When overloading is enabled, this is equivalent to
set
carousel [ #spacing:=
value ]
Signals
pageChanged
type CarouselPageChangedCallback Source #
This signal is emitted after a page has been changed.
It can be used to implement "infinite scrolling" by amending the pages after every scroll.
Since: 1.0
afterCarouselPageChanged :: (IsCarousel a, MonadIO m) => a -> ((?self :: a) => CarouselPageChangedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageChanged signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
carousel #pageChanged callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onCarouselPageChanged :: (IsCarousel a, MonadIO m) => a -> ((?self :: a) => CarouselPageChangedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageChanged signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
carousel #pageChanged callback