core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/extension/IPortalPage.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/extension/IPortalPage.java Tue Jul 13 15:27:30 2010 -0500
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2010 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 "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:
+*
+*/
+package com.nokia.carbide.internal.discovery.ui.extension;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IEditorPart;
+
+/**
+ * Interface to a portal page extension
+ */
+public interface IPortalPage {
+
+ /**
+ * Interface to an action/navigation bar for the portal page
+ */
+ public interface IActionBar {
+
+ /**
+ * Optional title for the action bar
+ * @return String
+ */
+ String getTitle();
+
+ /**
+ * Actions shown in the action bar:
+ * Required: text and run() methods
+ * Optional: tool tip text
+ * Unused: image
+ * @return IAction
+ */
+ IAction[] getActions();
+
+ }
+
+ /**
+ * Interface allowing the UI for provided actions of an IActionBar to be updated (e.g., enabled state)
+ */
+ public interface IActionUIUpdater {
+
+ /**
+ * Update the UI for a specific action by id
+ * @param actionId
+ */
+ void update(String actionId);
+
+ /**
+ * Update the UI for all actions in the IActionBar
+ */
+ void updateAll();
+
+ }
+
+ /**
+ * Required title text used by main navigation bar
+ * @return String
+ */
+ String getText();
+
+ /**
+ * Required image descriptor used by main navigation bar
+ * @return ImageDescriptor
+ */
+ ImageDescriptor getImageDescriptor();
+
+ /**
+ * Called to create the control for the page
+ * @param parent Composite
+ * @param part IEditorPart
+ * @return Control
+ */
+ Control createControl(Composite parent, IEditorPart part);
+
+ /**
+ * Called to initialize the page when shown for the first time
+ */
+ void init();
+
+ /**
+ * Return action bars for the page (can't be null)
+ * @param part IEditorPart
+ * @param updater IActionUIUpdater
+ * @return IActionBar[]
+ */
+ IActionBar[] createCommandBars(IEditorPart part, IActionUIUpdater updater);
+
+ /**
+ * Called to dispose internal resources of the page
+ */
+ void dispose();
+}