diff -r d189ee25cf9d -r 3533d4323edc emailuis/uicomponents/inc/fstreevisualizerobserver.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/uicomponents/inc/fstreevisualizerobserver.h Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,146 @@
+/*
+* 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: An observer interface for the tree list component.
+*
+*/
+
+
+#ifndef M_FSTREEVISUALIZEROBSERVER_H
+#define M_FSTREEVISUALIZEROBSERVER_H
+
+#include "fstreelistconstants.h"
+
+/**
+ * MFsTreeObserver defines an interface which is used to observe tree list
+ * events.
+ *
+ * Observer of the tree list is notified of changes in the tree list through
+ * this interface with appropriate events.
+ * @code
+ *
+ * @endcode
+ *
+ * @lib
+ */
+NONSHARABLE_CLASS( MFsTreeVisualizerObserver )
+ {
+public:
+
+ enum TFsTreeVisualizerEvent
+ {
+
+ // "Base class modifications for using touch"
+ /**
+ * Action started for selected tree item.
+ */
+ EFsTreeItemTouchAction,
+
+ /**
+ * Long tap action started for selected tree item.
+ */
+ EFsTreeItemTouchLongTap,
+
+ /**
+ * Touch focus for list gained.
+ */
+ EFsTreeItemTouchFocused,
+
+ //
+
+
+ /**
+ * An item received focus.
+ */
+ EFsTreeItemFocused,
+
+ /**
+ * Focus will be moved to the specified item/node.
+ * Event triggered just before an item gets focus.
+ * No action required.
+ */
+ EFsTreeItemWillGetFocused,
+
+ /**
+ * An item has been selected.
+ */
+ EFsTreeItemSelected,
+ /**
+ * An item with menu has been selected.
+ */
+ EFsTreeItemWithMenuSelected,
+ /**
+ * Right arrow pressed.
+ */
+ EFsTreeKeyRightArrow,
+ /**
+ * Left arrow pressed.
+ */
+ EFsTreeKeyLeftArrow,
+
+ /**
+ * Event generated when the list is fully hidden.
+ */
+ EFsTreeListVisualizerHidden,
+
+ /**
+ * Event generated when the list is fully shown.
+ */
+ EFsTreeListVisualizerShown,
+
+ //
+ /**
+ * Event generated when a single node is collapsed.
+ */
+ EFsTreeListItemCollapsed,
+ /**
+ * Event generated when a single node is expanded.
+ */
+ EFsTreeListItemExpanded,
+ /**
+ * Event generated when all nodes are collapsed.
+ */
+ EFsTreeListCollapsedAll,
+ /**
+ * Event generated when all nodes are expanded.
+ */
+ EFsTreeListExpandedAll,
+ //
+ /**
+ * Change focus visibility
+ */
+ EFsChangeFocusVisibility
+ };
+
+public:
+
+ /**
+ * Observer of the tree list is notified of changes in the tree list
+ * through this function.
+ *
+ * @param aEvent Event which happend in the tree list.
+ * @param aId Id of the node/item associated with the event. KFsTreeNoneID
+ * means that the event is not associated with a node/item.
+ * @param aPoint Event coordinates. Only valid for touch events.
+ */
+ // Touch
+ virtual void TreeVisualizerEventL(
+ const TFsTreeVisualizerEvent aEvent,
+ const TFsTreeItemId aId = KFsTreeNoneID,
+ const TPoint& aPoint = TPoint( 0,0 ) ) const = 0;
+ //
+
+ };
+
+
+#endif // M_FSTREEVISUALIZEROBSERVER_H