--- a/epoc32/include/mw/eikhkeyt.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/eikhkeyt.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,121 @@
-eikhkeyt.h
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class declaration for EIKON hotkey table.
+*
+*/
+
+
+#ifndef __EIKHKEYT_H__
+#define __EIKHKEYT_H__
+
+#include <e32base.h>
+#include <e32keys.h>
+
+/**
+ * Hotkey parameters. This can be added to a hotkey table using
+ * the functions provided by the @c CEikHotKeyTable class.
+ */
+struct SEikHotKey
+ {
+ TInt iCommandId; ///< The command ID associated with the hotkey.
+ TInt iKeycode; ///< The key code associated with the hotkey.
+ };
+
+/**
+ * An array for hotkey commands and their associated key codes and modifiers.
+ *
+ * @lib eikcoctl.lib
+ * @since S60 0.9
+ */
+class CEikHotKeyTable : public CArrayFixFlat<SEikHotKey>
+ {
+public:
+
+ /**
+ * Default C++ constructor.
+ */
+ IMPORT_C CEikHotKeyTable();
+
+ /**
+ * Destructor
+ */
+ IMPORT_C ~CEikHotKeyTable();
+
+ /**
+ * Gets the hotkey code and modifier for the specified command ID.
+ *
+ * @param aCommandId The ID of the hotkey for which the key code and
+ * modifiers are obtained.
+ * @param[out] aKeycode On return, the key code for the
+ * specified command ID.
+ * @param[out] aModifiers On return, the modifier for the
+ * specified command ID.
+ *
+ * @return @c ETrue if the hotkey exists, @c EFalse otherwise
+ */
+ IMPORT_C TBool HotKeyFromCommandId( TInt aCommandId,
+ TInt& aKeycode,
+ TInt& aModifiers) const;
+
+ /**
+ * Gets the command ID associated with the specified key code and modifier.
+ *
+ * @param aKeycode The key code for which the command ID is obtained.
+ * @param aModifiers The key modifier for which the command ID is obtained.
+ *
+ * @return The command ID for the specified key code and modifier.
+ */
+ IMPORT_C TInt CommandIdFromHotKey(TInt aKeycode,TInt aModifiers) const;
+
+ /**
+ * Adds the specified hotkey to the hotkey array.
+ *
+ * @param aCommandId The command associated with the hotkey.
+ * @param aKeycode The key code used to invoke the command.
+ * @param aModifiers Any modifiers used to invoke the command,
+ * shift or control for example.
+ *
+ * @leave KErrNotSupported If the specified modifier is not supported
+ */
+ IMPORT_C void AddItemL(TInt aCommandId,TInt aKeycode,TInt aModifiers);
+
+ /**
+ * Removes the item specified by command ID from the array.
+ *
+ * @param aCommandId The ID of the item to remove.
+ * @panic EIKCOCTL-7 If the array contains no hotkeys.
+ */
+ IMPORT_C void RemoveItem(TInt aCommandId);
+
+ /**
+ * Constructs an empty array from resource.
+ *
+ * @param aResourceId The ID if the resource reader to use to
+ * construct the array.
+ */
+ IMPORT_C void ConstructFromResourceL(TInt aResourceId);
+
+ /**
+ * Resets the hotkey array.
+ */
+ IMPORT_C void Reset();
+
+private:
+ TInt iNumberPlain;
+ TInt iNumberCtrl;
+ TInt iNumberShiftCtrl;
+ TInt iSpare;
+ };
+
+#endif // __EIKHKEYT_H__