--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/uicomponents/inc/fstreelistobserver.h Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,276 @@
+/*
+* 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_FSTREELISTOBSERVER_H
+#define M_FSTREELISTOBSERVER_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( MFsTreeListObserver )
+ {
+public:
+
+ enum TFsTreeListEvent
+ {
+ /**
+ * An item was added to the tree list.
+ * No action required.
+ */
+ EFsTreeListItemAdded,
+
+ /**
+ * A node was added to the tree list.
+ * No action required.
+ */
+ EFsTreeListNodeAdded,
+
+ /**
+ * An item was removed from the tree list.
+ * No action required.
+ */
+ EFsTreeListItemRemoved,
+
+ /**
+ * A node was removed from the tree list.
+ * No action required.
+ */
+ EFsTreeListNodeRemoved,
+
+ /**
+ * All items and nodes were removed from the tree list.
+ * No action required.
+ */
+ EFsTreeListRemovedAll,
+
+ /**
+ * Item/Node was moved from one parent to the other in the tree list.
+ * No action required.
+ */
+ EFsTreeListItemMoved,
+
+ /**
+ * Item's/Node's data has changed.
+ * No action required.
+ */
+ EFsTreeListItemDataChanged,
+
+ /**
+ * Item data's visualizer has changed.
+ * No action required.
+ */
+ EFsTreeListItemVisualizerChanged,
+
+ /**
+ * Node data's visualizer has changed.
+ * No action required.
+ */
+ EFsTreeListNodeVisualizerChanged,
+
+ // <cmail> "Base class modifications for using touch"
+ /**
+ * Action started for selected tree item.
+ */
+ EFsTreeListItemTouchAction,
+
+ /**
+ * Long tap action started for selected tree item.
+ */
+ EFsTreeListItemTouchLongTap,
+
+ /**
+ * Touch focus for list gained.
+ */
+ EFsTreeListItemTouchFocused,
+
+ // </cmail>
+
+ /**
+ * Item/Node was selected in the tree list. It means that the user
+ * pressed a selection (or other, depending on the implementation of
+ * the tree list) key on item/node.
+ *
+ * No action required.
+ */
+ EFsTreeListItemSelected,
+
+ /**
+ * Focus will be moved to the specified item/node.
+ * Event triggered just before an item gets focus.
+ * No action required.
+ */
+ EFsTreeListItemWillGetFocused,
+
+ /**
+ * Focus was moved to the specified item/node.
+ * No action required.
+ */
+ EFsTreeListItemFocused,
+
+ /**
+ * Item/node was marked.
+ * No action required.
+ */
+ EFsTreeListItemMarked,
+
+ /**
+ * Item/node was unmarked.
+ * No action required.
+ */
+ EFsTreeListItemUnmarked,
+
+ /**
+ * Item/node was dimmed.
+ * No action required.
+ */
+ EFsTreeListItemDimmed,
+
+ /**
+ * Loop event. Focus has moved from the last item item in the list to
+ * the first or form the first to the last.
+ *
+ * No action required.
+ */
+ EFsTreeListLoop,
+
+ /**
+ * List became visible.
+ * No action required.
+ */
+ EFsTreeListShown,
+
+ /**
+ * List has been hidden.
+ * No action required.
+ */
+ EFsTreeListHidden,
+
+ /**
+ * Text size in all the items/nodes in the list has increased.
+ * No action required.
+ */
+ EFsTreeListTextSizeIncreased,
+
+ /**
+ * Text size in all the items/nodes in the list has decreased.
+ * No action required.
+ */
+ EFsTreeListTextSizeDecreased,
+
+ /**
+ * Node change state to unrolled.
+ * No action required.
+ */
+ EFsTreeListNodeUnrolled,
+
+ /**
+ * Node change state to rolled.
+ * No action required.
+ */
+ EFsTreeListNodeRolled,
+
+ /**
+ * List received focus
+ */
+ EFsTreeListFocusReceived,
+
+ /**
+ * List lost focus
+ */
+ EFsTreeListFocusLost,
+
+ /**
+ * Item has been selected
+ */
+ EFsTreeItemSelected,
+
+ /**
+ * Item with menu has been selected
+ */
+ EFsTreeItemWithMenuSelected,
+
+ /**
+ * Right click on list.
+ */
+ EFsTreeListKeyRightArrow,
+
+ /**
+ * Left click on list.
+ */
+ EFsTreeListKeyLeftArrow,
+
+ // <cmail>
+
+ /**
+ * 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,
+ // </cmail>
+ /**
+ * Handle focus visibility changes
+ */
+ EFsFocusVisibilityChange
+ };
+
+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. Valid only for touch events.
+ */
+ // <cmail> Touch
+ virtual void TreeListEventL( const TFsTreeListEvent aEvent,
+ const TFsTreeItemId aId,
+ const TPoint& aPoint ) = 0;
+ // </cmail>
+
+ };
+
+
+#endif // M_FSTREELISTOBSERVER_H