emailuis/nmailui/inc/nmaction.h
changeset 18 578830873419
child 23 2dc6caa42ec3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/nmailui/inc/nmaction.h	Fri Apr 16 14:51:52 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#ifndef NMACTION_H_
+#define NMACTION_H_
+
+#include <hbaction.h>
+
+/*!
+    \class NmAction
+    \brief NMail action object. Derived from HbAction. Includes priority
+    \value indicating the priority of the command in the list.
+*/
+class NmAction : public HbAction
+{
+public:
+    /*!
+     * \enum NmAvailabilityCondition
+     * \brief Defines conditions when action might not be available.
+     */
+    enum NmAvailabilityCondition
+    {
+        NmAlways = 0,   // Action is always available
+        NmSendable      // Action is not available if the related message cannot be send
+    };
+    
+    inline NmAction(int priorityIndex);
+    inline void setPriorityIndex(int priorityIndex);
+    inline int priorityIndex() const;
+    inline void setAvailabilityCondition(NmAvailabilityCondition condition);
+    inline NmAvailabilityCondition availabilityCondition() const;
+
+private:
+    int mIndex;
+    NmAvailabilityCondition mAvailabilityCondition;
+};
+
+/*!
+     Constructor \a priorityIndex defines place of action in menus
+ */
+inline NmAction::NmAction(int priorityIndex) 
+    : HbAction(), mIndex(priorityIndex), mAvailabilityCondition(NmAlways)
+{
+    
+}
+
+/*!
+     Sets priority index. \a priorityIndex defines action place in menus
+ */
+inline void NmAction::setPriorityIndex(int priorityIndex)
+{
+    mIndex = priorityIndex;
+}
+
+/*!
+    Returns priority index
+ */
+inline int NmAction::priorityIndex() const
+{
+    return mIndex;
+}
+
+/*!
+    Sets condition is action available or not \a condition is condition state
+ */
+inline void NmAction::setAvailabilityCondition(NmAction::NmAvailabilityCondition condition)
+{
+    mAvailabilityCondition = condition;
+}
+
+/*!
+    returns availibility condition
+ */
+inline NmAction::NmAvailabilityCondition NmAction::availabilityCondition() const
+{
+    return mAvailabilityCondition;
+};
+
+
+
+#endif  //NMACTION_H_