ui/viewmanagement/statehandler/inc/glxgridstate.h
author hgs
Wed, 06 Oct 2010 14:49:39 +0530
changeset 71 27f2d7aec52a
parent 24 99ad1390cd33
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 GLXGRIDSTATE_H
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#define GLXGRIDSTATE_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 <glxbasestate.h>
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
class GlxStateManager;
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
class GlxGridState : public GlxState
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
public :
71
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    30
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    31
     * Constructor 
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    32
     * @param pointor of state manager
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    33
     * @param - previous state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    34
     */
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    35
	GlxGridState( GlxStateManager *stateManager, GlxState *preState = NULL );
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    36
	
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    37
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    38
     * state() - This funtion return the internal state of a state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    39
     * @return - internal state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    40
     */	
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
	int state() const { return (int) mState; }
71
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    42
	
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    43
    /** 
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    44
     * setState() - This funtion use for set the internal state of a state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    45
     * @param - internal state of the state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    46
     */	
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    47
	void setState( int internalState ) { mState = (GridState) internalState; }
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    48
	
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    49
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    50
     * eventHandler() - It is event handler of the grid state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    51
     * @param - command or event id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    52
     */	
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    53
	void eventHandler( qint32 &id );
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    54
	
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    55
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    56
     * setTranstionParameter() - This function set the view transtion effect parameter.
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    57
     * These values is use to run the animation during view transition.
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    58
     * 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: 24
diff changeset
    59
     * it should call with the current state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    60
     * @param View transtion id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    61
     * @param to play the animation on which views
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    62
     */
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    63
     void setTranstionParameter( NavigationDir dir, GlxEffect &effect, GlxViewEffect &viewEffect );
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    64
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    65
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    66
     * commandId() - it will return the current runing command id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    67
     * @reutn - command id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    68
     */
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    69
     qint32 commandId( ) { return mCommandId; }
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
	
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
signals :    
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
public slots:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
protected:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
	
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
private slots:
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
private:
71
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    80
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    81
     * defaultEventHandler() - It is a common event handler used for all the internal states.
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    82
     * @param - command or event id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    83
     */
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
	void defaultEventHandler ( qint32 &id );
71
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    85
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    86
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    87
     * allItemEventHandler() - It is a event handler used for All and fetcher internal states.
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    88
     * @param - command or event id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    89
     */
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
	void allItemEventHandler ( qint32 &id );
71
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    91
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    92
    /**
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    93
     * albumItemEventHandler() - It is a event handler used for album and fetcher album interanl states.
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    94
     * @param - command or event id
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    95
     */
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
	void albumItemEventHandler ( qint32 &id );
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
71
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    98
private :
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
    99
	GridState mState; 	            // grid internal state
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
   100
	GlxStateManager *mStateManager; // state manager
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
   101
	bool mIsMarkingMode;            // marking mode status
27f2d7aec52a 201039_01
hgs
parents: 24
diff changeset
   102
	qint32 mCommandId;              //commandID, save the command before entering into the marking mode for next user interaction
23
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
};
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
74c9f037fd5d Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
#endif /* GLXGRIDSTATE_H_ */