mmuifw_plat/alf_scrollbarwidget_api/inc/alf/alfscrollevents.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:18 +0100
branchRCL_3
changeset 26 0e9bb658ef58
parent 0 e83bab7cf002
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Widget interface with utilities for scrollbar widget.
 *
*/


#ifndef ALF_SCROLLEVENTS_H
#define ALF_SCROLLEVENTS_H

// WidgetModel Includes
#include <alf/alfwidgetevents.h>

// Widget Includes
#include <alf/ialfscrollbarwidget.h>
#include <alf/ialfscrollbardefaultbaseelement.h>

namespace Alf
    {
    // forward declaration
    class IAlfScrollBarDefaultBaseElement;    

    /**
     *  Flags to indicate the changes being done in the scrollbar model
     *  ENoChange Flag to indicate no scrollbar model data is changed 
     *  ESpanChanged Flag to indicate Span is changed
     *  EViewLengthChanged Flag to indicate view length is changed
     *  EViewStartPosChanged Flag to indicate view start position is changed
     *  EFocusPosChanged Flag to indicate focus position is changed
     *
     *  @since S60 ?S60_version
     */
    enum ScrollModelChangeMask
        {
        ENoChange             = 0, // Flag if scrollbar model data is changed
        ESpanChanged          = 1, // Flag to indicate Span is changed 
        EViewLengthChanged    = 2, // Flag to indicate view length is changed
        EViewStartPosChanged  = 4, // Flag if view start position is changed 
        };

    /**
     *  This structure is used to send data along with 
     * EEventScrollModelChanged scroll event
     *
     *  @since S60 ?S60_version
     */
    struct ScrollModelChangedEventData
        {
        int mSpan;          // Span 
        int mViewLength;    // View Length 
        int mViewStartPos;  // View Start position 
        int mChangedMask;   // combination (ORing) of one or more 
                            // TScrollModelChangeMask enums
        };

    } // namespace Alf

#endif // IALF_SCROLLEVENTS_H
//End Of File