ui/viewmanagement/statehandler/inc/glxbasestate.h
author hgs
Wed, 06 Oct 2010 14:49:39 +0530
changeset 71 27f2d7aec52a
parent 23 74c9f037fd5d
permissions -rw-r--r--
201039_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:   ?Description
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#ifndef GLXBASESTATE_H
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#define GLXBASESTATE_H
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <QObject>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <glxviewids.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <glxuistd.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
typedef enum
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
{
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
    NO_DIR,
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
    FORWARD_DIR,
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
    BACKWARD_DIR,    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
}NavigationDir;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
71
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    34
class GlxState: public QObject
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
{
71
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    36
Q_OBJECT
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
71
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    38
public:
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    39
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    40
     * Constructor
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    41
     * id = state id, state is and view id should be same
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    42
     * preState = previous state pointer. It value will be null, if it is only one state in the stack
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    43
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    44
    GlxState( qint32 id, GlxState *preState );
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    45
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    46
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    47
     * Destructor
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    48
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    49
    virtual ~GlxState();
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    50
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    51
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    52
     * compare() - It wiil compare the states, is it same or different state.
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    53
     * @param - Id of the state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    54
     * @return - return the true if the state is same else false
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    55
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    56
    bool compare( qint32 id ) const;
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    57
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    58
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    59
     * id() - Return the state id of the state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    60
     * @return - return the state id of the state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    61
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    62
    qint32 id() const
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    63
    {
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    64
        return mId;
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    65
    }
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    66
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    67
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    68
     * previousState() - Retrun the pointer of the the previous state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    69
     * @return - Retrun the pointer of the the previous state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    70
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    71
    GlxState * previousState() const
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    72
    {
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    73
        return mPreState;
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    74
    }
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    75
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    76
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    77
     * eventHandler() - Pure virtual function. It is default event handler of the state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    78
     * @param - command or event id
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    79
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    80
    virtual void eventHandler( qint32 &id ) = 0;
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    81
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    82
    /** 
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    83
     * setState() - This funtion use for set the internal state of a state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    84
     * default implementation
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    85
     * @param - internal state of the state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    86
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    87
    virtual void setState( int internalState )
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    88
    {
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    89
        Q_UNUSED( internalState )
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    90
    }
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    91
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    92
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    93
     * commandId() - it will return the current runing command id
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    94
     * @reutn - command id
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    95
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    96
    virtual qint32 commandId()
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    97
    {
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    98
        return -1;
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
    99
    }
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   100
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   101
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   102
     * state() - This funtion return the internal state of a state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   103
     * default implementation
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   104
     * @return - internal state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   105
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   106
    virtual int state() const
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   107
    {
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   108
        return 0;
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   109
    }
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   110
    
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   111
    /**
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   112
     * setTranstionParameter() - This function set the view transtion effect parameter.
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   113
     * These values is use for run the animation for vies transtion
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   114
     * In the case of forward direction it should call with the next state and in the case of back ward direction
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   115
     * it should call with the current state
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   116
     * @param View transtion id
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   117
     * @param to play the animation on which views
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   118
     */
27f2d7aec52a 201039_01
hgs
parents: 23
diff changeset
   119
    virtual void setTranstionParameter( NavigationDir dir, GlxEffect &effect, GlxViewEffect &viewEffect );
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
private:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
    const qint32 mId;
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
    GlxState *mPreState; //contain the pointer of previous state	
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
};
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
#endif /* GLXBASESTATE_H */