Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Kolosowski2004-04-26 15:35:45 +0000
committerKonrad Kolosowski2004-04-26 15:35:45 +0000
commita2d71a62ad4429557cddf685882f99963ad42d18 (patch)
treeedd28c721ec8ddf9f5598ff8e9651a58e14440ce
parentde9223b03090b39663bc3f33892211678b9c69cc (diff)
downloadeclipse.platform.ua-a2d71a62ad4429557cddf685882f99963ad42d18.tar.gz
eclipse.platform.ua-a2d71a62ad4429557cddf685882f99963ad42d18.tar.xz
eclipse.platform.ua-a2d71a62ad4429557cddf685882f99963ad42d18.zip
show all - user can disable activity filtering
-rw-r--r--org.eclipse.help.base/preferences.ini15
-rw-r--r--org.eclipse.help.base/src/org/eclipse/help/internal/base/HelpBasePlugin.java8
-rw-r--r--org.eclipse.help.base/src/org/eclipse/help/internal/base/IHelpActivitySupport.java3
-rw-r--r--org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HelpActivitySupport.java53
-rw-r--r--org.eclipse.help.webapp/advanced/bookmarksToolbar.jsp1
-rw-r--r--org.eclipse.help.webapp/advanced/contentToolbar.jsp11
-rw-r--r--org.eclipse.help.webapp/advanced/images/e_show_all.gifbin0 -> 193 bytes
-rw-r--r--org.eclipse.help.webapp/advanced/images/show_all.gifbin0 -> 81 bytes
-rw-r--r--org.eclipse.help.webapp/advanced/linksToolbar.jsp1
-rw-r--r--org.eclipse.help.webapp/advanced/navActions.js3
-rw-r--r--org.eclipse.help.webapp/advanced/searchToolbar.jsp7
-rw-r--r--org.eclipse.help.webapp/advanced/searchView.jsp35
-rw-r--r--org.eclipse.help.webapp/advanced/tocToolbar.jsp8
-rw-r--r--org.eclipse.help.webapp/advanced/tocView.jsp2
-rw-r--r--org.eclipse.help.webapp/advanced/toolbar.jsp26
-rw-r--r--org.eclipse.help.webapp/advanced/view.jsp1
-rw-r--r--org.eclipse.help.webapp/advanced/views.jsp48
-rw-r--r--org.eclipse.help.webapp/basic/searchView.jsp29
-rw-r--r--org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.properties1
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ActivitiesData.java64
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java2
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/TocData.java2
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarButton.java8
-rw-r--r--org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarData.java21
24 files changed, 271 insertions, 78 deletions
diff --git a/org.eclipse.help.base/preferences.ini b/org.eclipse.help.base/preferences.ini
index d39fb91c0..258d575b9 100644
--- a/org.eclipse.help.base/preferences.ini
+++ b/org.eclipse.help.base/preferences.ini
@@ -102,4 +102,17 @@ locales=
# Default external browser
#default_browser=
# Executable path for custom browser
-#custom_browser_path= \ No newline at end of file
+#custom_browser_path=
+
+######################
+# Display of topics from disabled activities
+######################
+# Help system filteres topics from disabled activities. This option controls this behavior
+# and existence of Show All Topics button.
+#
+# Accepted values: never, off, on, always
+# never - topic from disabled activites are not shown
+# off - user can choose to show all topics, disabled topics intially hidden
+# on - user can choose to show all topics, all topics intially shown
+# always - topic from disabled activites are shown (filtering disabled)
+showDisabledActivityTopics=off
diff --git a/org.eclipse.help.base/src/org/eclipse/help/internal/base/HelpBasePlugin.java b/org.eclipse.help.base/src/org/eclipse/help/internal/base/HelpBasePlugin.java
index 2607bfdb2..beef180ca 100644
--- a/org.eclipse.help.base/src/org/eclipse/help/internal/base/HelpBasePlugin.java
+++ b/org.eclipse.help.base/src/org/eclipse/help/internal/base/HelpBasePlugin.java
@@ -42,6 +42,14 @@ public class HelpBasePlugin extends Plugin {
}
public void enableActivities(String href) {
}
+ public boolean isFilteringEnabled(){
+ return false;
+ }
+ public void setFilteringEnabled(boolean enabled){
+ }
+ public boolean isUserCanToggleFiltering(){
+ return false;
+ }
};
/**
* Logs an Error message with an exception. Note that the message should
diff --git a/org.eclipse.help.base/src/org/eclipse/help/internal/base/IHelpActivitySupport.java b/org.eclipse.help.base/src/org/eclipse/help/internal/base/IHelpActivitySupport.java
index 8e2e9d498..961b04e50 100644
--- a/org.eclipse.help.base/src/org/eclipse/help/internal/base/IHelpActivitySupport.java
+++ b/org.eclipse.help.base/src/org/eclipse/help/internal/base/IHelpActivitySupport.java
@@ -41,4 +41,7 @@ public interface IHelpActivitySupport {
* @param href
*/
public void enableActivities(String href);
+ public boolean isFilteringEnabled();
+ public void setFilteringEnabled(boolean enabled);
+ public boolean isUserCanToggleFiltering();
} \ No newline at end of file
diff --git a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HelpActivitySupport.java b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HelpActivitySupport.java
index 2c8dbd1ae..38d18abc9 100644
--- a/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HelpActivitySupport.java
+++ b/org.eclipse.help.ui/src/org/eclipse/help/ui/internal/HelpActivitySupport.java
@@ -13,6 +13,7 @@ package org.eclipse.help.ui.internal;
import java.util.*;
+import org.eclipse.core.runtime.*;
import org.eclipse.help.internal.*;
import org.eclipse.help.internal.base.*;
import org.eclipse.help.internal.model.*;
@@ -23,10 +24,47 @@ import org.eclipse.ui.activities.*;
* Wrapper for eclipse ui activity support
*/
public class HelpActivitySupport implements IHelpActivitySupport {
+ private static final String PREF_KEY_SHOW_DISABLED_ACTIVITIES = "showDisabledActivityTopics";
+ private static final String SHOW_DISABLED_ACTIVITIES_NEVER = "never";
+ private static final String SHOW_DISABLED_ACTIVITIES_OFF = "off";
+ private static final String SHOW_DISABLED_ACTIVITIES_ON = "on";
+ private static final String SHOW_DISABLED_ACTIVITIES_ALWAYS = "always";
+
+ private Preferences pref;
private IWorkbenchActivitySupport activitySupport;
+ private boolean userCanToggleFiltering;
+ private boolean filteringEnabled;
public HelpActivitySupport(IWorkbench workbench) {
- activitySupport = (IWorkbenchActivitySupport) workbench.getActivitySupport();
+ activitySupport = workbench.getActivitySupport();
+ pref = HelpBasePlugin.getDefault().getPluginPreferences();
+
+ String showDisabledActivities = pref.getString(PREF_KEY_SHOW_DISABLED_ACTIVITIES);
+ userCanToggleFiltering = SHOW_DISABLED_ACTIVITIES_OFF.equalsIgnoreCase(showDisabledActivities)
+ || SHOW_DISABLED_ACTIVITIES_ON.equalsIgnoreCase(showDisabledActivities);
+ userCanToggleFiltering = userCanToggleFiltering && isWorkbenchFiltering();
+
+ filteringEnabled = SHOW_DISABLED_ACTIVITIES_ON.equalsIgnoreCase(showDisabledActivities)
+ || SHOW_DISABLED_ACTIVITIES_NEVER.equalsIgnoreCase(showDisabledActivities);
+ filteringEnabled = filteringEnabled && isWorkbenchFiltering();
+ }
+ public boolean isFilteringEnabled(){
+ return filteringEnabled;
+ }
+ public void setFilteringEnabled(boolean enabled) {
+ if (userCanToggleFiltering) {
+ filteringEnabled = enabled;
+ if (enabled) {
+ pref.setValue(PREF_KEY_SHOW_DISABLED_ACTIVITIES,
+ SHOW_DISABLED_ACTIVITIES_OFF);
+ } else {
+ pref.setValue(PREF_KEY_SHOW_DISABLED_ACTIVITIES,
+ SHOW_DISABLED_ACTIVITIES_ON);
+ }
+ }
+ }
+ public boolean isUserCanToggleFiltering(){
+ return userCanToggleFiltering;
}
/*
* (non-Javadoc)
@@ -34,6 +72,9 @@ public class HelpActivitySupport implements IHelpActivitySupport {
* @see org.eclipse.help.internal.base.IHelpActivitySupport#isEnabled()
*/
public boolean isEnabled(String href) {
+ if(!isFilteringEnabled()){
+ return true;
+ }
if (href.startsWith("/")){
href = href.substring(1);
}
@@ -54,6 +95,9 @@ public class HelpActivitySupport implements IHelpActivitySupport {
if (href == null) {
return false;
}
+ if(!isFilteringEnabled()){
+ return true;
+ }
int ix = href.indexOf("?resultof=");
if (ix >= 0) {
href = href.substring(0, ix);
@@ -126,4 +170,11 @@ public class HelpActivitySupport implements IHelpActivitySupport {
activitySupport.setEnabledActivityIds(enabledIds);
}
+ /**
+ * @return whether the UI is set up to filter contributions (has defined
+ * activity categories).
+ */
+ private static boolean isWorkbenchFiltering() {
+ return !PlatformUI.getWorkbench().getActivitySupport().getActivityManager().getDefinedActivityIds().isEmpty();
+ }
}
diff --git a/org.eclipse.help.webapp/advanced/bookmarksToolbar.jsp b/org.eclipse.help.webapp/advanced/bookmarksToolbar.jsp
index c012083cb..efda23bae 100644
--- a/org.eclipse.help.webapp/advanced/bookmarksToolbar.jsp
+++ b/org.eclipse.help.webapp/advanced/bookmarksToolbar.jsp
@@ -19,4 +19,5 @@
<jsp:param name="tooltip" value='SynchNav'/>
<jsp:param name="image" value="synch_nav.gif"/>
<jsp:param name="action" value="resynchNav"/>
+ <jsp:param name="state" value='off'/>
</jsp:include>
diff --git a/org.eclipse.help.webapp/advanced/contentToolbar.jsp b/org.eclipse.help.webapp/advanced/contentToolbar.jsp
index 67eeae181..746f1d7e0 100644
--- a/org.eclipse.help.webapp/advanced/contentToolbar.jsp
+++ b/org.eclipse.help.webapp/advanced/contentToolbar.jsp
@@ -34,31 +34,37 @@
<jsp:param name="tooltip" value='back_tip'/>
<jsp:param name="image" value='<%=backImage%>'/>
<jsp:param name="action" value="goBack"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="forward"/>
<jsp:param name="tooltip" value='forward_tip'/>
<jsp:param name="image" value='<%=forwardImage%>'/>
<jsp:param name="action" value="goForward"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value=""/>
<jsp:param name="tooltip" value=""/>
<jsp:param name="image" value=""/>
<jsp:param name="action" value=""/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="synch"/>
<jsp:param name="tooltip" value='Synch'/>
<jsp:param name="image" value="synch_toc_nav.gif"/>
<jsp:param name="action" value="resynch"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="add_bkmrk"/>
<jsp:param name="tooltip" value='BookmarkPage'/>
<jsp:param name="image" value="add_bkmrk.gif"/>
<jsp:param name="action" value="bookmarkPage"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="print"/>
<jsp:param name="tooltip" value='Print'/>
<jsp:param name="image" value="print_edit.gif"/>
<jsp:param name="action" value="printContent"/>
+ <jsp:param name="state" value='off'/>
</jsp:include>
<%
@@ -72,26 +78,31 @@
<jsp:param name="tooltip" value='back_tip'/>
<jsp:param name="image" value='<%=backImage%>'/>
<jsp:param name="action" value="goBack"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="forward"/>
<jsp:param name="tooltip" value='forward_tip'/>
<jsp:param name="image" value='<%=forwardImage%>'/>
<jsp:param name="action" value="goForward"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value=""/>
<jsp:param name="tooltip" value=""/>
<jsp:param name="image" value=""/>
<jsp:param name="action" value=""/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="synch"/>
<jsp:param name="tooltip" value='Synch'/>
<jsp:param name="image" value="synch_toc_nav.gif"/>
<jsp:param name="action" value="resynch"/>
+ <jsp:param name="state" value='off'/>
<jsp:param name="name" value="print"/>
<jsp:param name="tooltip" value='Print'/>
<jsp:param name="image" value="print_edit.gif"/>
<jsp:param name="action" value="printContent"/>
+ <jsp:param name="state" value='off'/>
</jsp:include>
diff --git a/org.eclipse.help.webapp/advanced/images/e_show_all.gif b/org.eclipse.help.webapp/advanced/images/e_show_all.gif
new file mode 100644
index 000000000..097f8a941
--- /dev/null
+++ b/org.eclipse.help.webapp/advanced/images/e_show_all.gif
Binary files differ
diff --git a/org.eclipse.help.webapp/advanced/images/show_all.gif b/org.eclipse.help.webapp/advanced/images/show_all.gif
new file mode 100644
index 000000000..aa7172179
--- /dev/null
+++ b/org.eclipse.help.webapp/advanced/images/show_all.gif
Binary files differ
diff --git a/org.eclipse.help.webapp/advanced/linksToolbar.jsp b/org.eclipse.help.webapp/advanced/linksToolbar.jsp
index 4f58c4035..d13697599 100644
--- a/org.eclipse.help.webapp/advanced/linksToolbar.jsp
+++ b/org.eclipse.help.webapp/advanced/linksToolbar.jsp
@@ -19,4 +19,5 @@
<jsp:param name="tooltip" value='SynchNav'/>
<jsp:param name="image" value="synch_nav.gif"/>
<jsp:param name="action" value="resynchNav"/>
+ <jsp:param name="state" value='off'/>
</jsp:include> \ No newline at end of file
diff --git a/org.eclipse.help.webapp/advanced/navActions.js b/org.eclipse.help.webapp/advanced/navActions.js
index 198f8ea6d..e757c1972 100644
--- a/org.eclipse.help.webapp/advanced/navActions.js
+++ b/org.eclipse.help.webapp/advanced/navActions.js
@@ -21,3 +21,6 @@ function resynchNav(button)
document.getElementById(button).blur();
}
}
+function toggleShowAll(button){
+ window.parent.parent.toggleShowAll();
+} \ No newline at end of file
diff --git a/org.eclipse.help.webapp/advanced/searchToolbar.jsp b/org.eclipse.help.webapp/advanced/searchToolbar.jsp
index bc5c12fcd..0ab24490c 100644
--- a/org.eclipse.help.webapp/advanced/searchToolbar.jsp
+++ b/org.eclipse.help.webapp/advanced/searchToolbar.jsp
@@ -15,8 +15,15 @@
<jsp:param name="script" value="navActions.js"/>
<jsp:param name="view" value="search"/>
+ <jsp:param name="name" value="show_all"/>
+ <jsp:param name="tooltip" value='show_all'/>
+ <jsp:param name="image" value="show_all.gif"/>
+ <jsp:param name="action" value="toggleShowAll"/>
+ <jsp:param name="state" value="<%=(new ActivitiesData(application, request, response)).getButtonState()%>"/>
+
<jsp:param name="name" value="synchnav"/>
<jsp:param name="tooltip" value='SynchNav'/>
<jsp:param name="image" value="synch_nav.gif"/>
<jsp:param name="action" value="resynchNav"/>
+ <jsp:param name="state" value='off'/>
</jsp:include> \ No newline at end of file
diff --git a/org.eclipse.help.webapp/advanced/searchView.jsp b/org.eclipse.help.webapp/advanced/searchView.jsp
index 6d4cb54a1..ae9f6e4b1 100644
--- a/org.eclipse.help.webapp/advanced/searchView.jsp
+++ b/org.eclipse.help.webapp/advanced/searchView.jsp
@@ -84,11 +84,9 @@ setTimeout('refresh()', 2000);
<table id='list' cellspacing='0' >
<%
- boolean disabledSearchResults = false;
for (int topic = 0; topic < data.getResultsCount(); topic++)
{
- if(!data.isEnabled(topic)){
- disabledSearchResults = true;
+ if(data.isActivityFiltering() && !data.isEnabled(topic)){
continue;
}
%>
@@ -111,38 +109,7 @@ setTimeout('refresh()', 2000);
</table>
<%
- if(disabledSearchResults){
-%>
- <div class="sectiontitle"><%=ServletResources.getLabel("disabledResults", request)%></div>
-<table id='list2' cellspacing='0' >
-<% for (int topic = 0; topic < data.getResultsCount(); topic++)
- {
- if(data.isEnabled(topic)){
- continue;
- }
-%>
-
-<tr class='list' id='r<%=topic%>'>
- <td class='score' align='<%=isRTL?"left":"right"%>'><%=data.getTopicScore(topic)%></td>
- <td align='<%=isRTL?"right":"left"%>' class='label' nowrap>
- <a id='a<%=topic%>'
- href='<%=data.getTopicHref(topic)%>'
- onmouseover="showStatus(event);return true;"
- onmouseout="clearStatus();return true;"
- onclick='parent.parent.parent.setContentToolbarTitle(this.title)'
- title="<%=data.getTopicTocLabel(topic)%>"><%=data.getTopicLabel(topic)%></a>
- </td>
-</tr>
-
-<%
- }
-%>
-</table>
-<%
- }
-
}
-
%>
<script language="JavaScript">
diff --git a/org.eclipse.help.webapp/advanced/tocToolbar.jsp b/org.eclipse.help.webapp/advanced/tocToolbar.jsp
index 6196a566d..1dffc4788 100644
--- a/org.eclipse.help.webapp/advanced/tocToolbar.jsp
+++ b/org.eclipse.help.webapp/advanced/tocToolbar.jsp
@@ -10,13 +10,19 @@
--%>
<%@ include file="header.jsp"%>
-
<jsp:include page="toolbar.jsp">
<jsp:param name="script" value="navActions.js"/>
<jsp:param name="view" value="toc"/>
+ <jsp:param name="name" value="show_all"/>
+ <jsp:param name="tooltip" value='show_all'/>
+ <jsp:param name="image" value="show_all.gif"/>
+ <jsp:param name="action" value="toggleShowAll"/>
+ <jsp:param name="state" value="<%=(new ActivitiesData(application, request, response)).getButtonState()%>"/>
+
<jsp:param name="name" value="synchnav"/>
<jsp:param name="tooltip" value='SynchNav'/>
<jsp:param name="image" value="synch_nav.gif"/>
<jsp:param name="action" value="resynchNav"/>
+ <jsp:param name="state" value="off"/>
</jsp:include> \ No newline at end of file
diff --git a/org.eclipse.help.webapp/advanced/tocView.jsp b/org.eclipse.help.webapp/advanced/tocView.jsp
index 6330e0b81..f1a8521f0 100644
--- a/org.eclipse.help.webapp/advanced/tocView.jsp
+++ b/org.eclipse.help.webapp/advanced/tocView.jsp
@@ -128,7 +128,7 @@ if (data.isIE()){
for (int toc=0; toc<data.getTocCount(); toc++) {
boolean isSelected =data.getSelectedToc() != -1 &&
data.getTocHref(data.getSelectedToc()).equals(data.getTocHref(toc));
- if(!data.isEnabled(toc) && !isSelected){
+ if(!data.isEnabled(toc)){
// do not show
continue;
}
diff --git a/org.eclipse.help.webapp/advanced/toolbar.jsp b/org.eclipse.help.webapp/advanced/toolbar.jsp
index 2ccdc1b03..c376d0e87 100644
--- a/org.eclipse.help.webapp/advanced/toolbar.jsp
+++ b/org.eclipse.help.webapp/advanced/toolbar.jsp
@@ -38,6 +38,18 @@ BODY {
font-weight:bold;
}
+.buttonOn a {
+ display:block;
+ margin-left:2px;
+ margin-right:2px;
+ width:<%=data.isMozilla()?18:20%>px;
+ height:<%=data.isMozilla()?18:20%>px;
+ border:1px solid Highlight;
+ writing-mode:tb-rl;
+ vertical-align:middle;
+ background: <%=prefs.getViewBackground()%>;
+}
+
.button a {
display:block;
margin-left:2px;
@@ -152,6 +164,18 @@ function mouseDblClickHandler(e) {
"document.addEventListener('dblclick', mouseDblClickHandler, true);"%>
<%}%>
+
+function setButtonState(buttonName, pressed) {
+ if(!document.getElementById("tdb_"+buttonName))
+ return;
+ if(pressed){
+ document.getElementById("tdb_"+buttonName).className="buttonOn";
+ }else{
+ document.getElementById("tdb_"+buttonName).className="button";
+ }
+}
+
+
</script>
<%
@@ -199,7 +223,7 @@ if(buttons.length > 0){
<%
} else {
%>
- <td align="middle" class="button" height=18>
+ <td align="middle" id="tdb_<%=buttons[i].getName()%>" class="<%=buttons[i].isOn()?"buttonOn":"button"%>" height=18>
<a href="javascript:<%=buttons[i].getAction()%>('b<%=i%>');"
onmouseover="window.status='<%=buttons[i].getTooltip()%>';return true;"
onmouseout="window.status='';"
diff --git a/org.eclipse.help.webapp/advanced/view.jsp b/org.eclipse.help.webapp/advanced/view.jsp
index 70d80263c..7b1bfe888 100644
--- a/org.eclipse.help.webapp/advanced/view.jsp
+++ b/org.eclipse.help.webapp/advanced/view.jsp
@@ -11,6 +11,7 @@
<%@ include file="fheader.jsp"%>
<%
+ new ActivitiesData(application, request, response); // here it can turn filtering on or off
LayoutData data = new LayoutData(application,request, response);
View view = data.getCurrentView();
if (view == null) return;
diff --git a/org.eclipse.help.webapp/advanced/views.jsp b/org.eclipse.help.webapp/advanced/views.jsp
index 3cf481724..497ae0caa 100644
--- a/org.eclipse.help.webapp/advanced/views.jsp
+++ b/org.eclipse.help.webapp/advanced/views.jsp
@@ -87,6 +87,52 @@ function showView(view)
}
}
+var activityFiltering = <%=(new ActivitiesData(application, request, response)).isActivityFiltering()?"true":"false"%>;
+<%
+ for (int i=0; i<views.length; i++) {
+ if ( "toc".equals(views[i].getName()) ) {
+%>
+var tocViewHref="<%="view.jsp?view="+views[i].getName()+(request.getQueryString()==null?"":("&"+request.getQueryString()))%>"
+<%
+ } else if ( "search".equals(views[i].getName()) ) {
+%>
+var searchViewHref="<%="view.jsp?view="+views[i].getName()+(request.getQueryString()==null?"":("&"+request.getQueryString()))%>"
+<%
+ }
+ }
+%>
+function toggleShowAll(){
+ var re=/(\?|&)showAll=(on|off)/;
+ if(activityFiltering){
+ activityFiltering=false;
+ try{
+ window.frames.toc.tocToolbarFrame.setButtonState("show_all", true);
+ }catch(ex) {}
+ try{
+ window.frames.search.searchToolbarFrame.setButtonState("show_all", true);
+ }catch(ex) {}
+ try{
+ window.frames.toc.tocViewFrame.location=window.frames.toc.frames[1].location.href.replace(re, "")+"&showAll=on";
+ }catch(ex) {}
+ try{
+ window.frames.search.searchViewFrame.location=window.frames.search.frames[1].location.href.replace(re, "")+"&showAll=on";
+ }catch(ex) {}
+ } else {
+ activityFiltering=true;
+ try{
+ window.frames.toc.tocToolbarFrame.setButtonState("show_all", false);
+ }catch(ex) {}
+ try{
+ window.frames.search.searchToolbarFrame.setButtonState("show_all", false);
+ }catch(ex) {}
+ try{
+ window.frames.toc.tocViewFrame.location=window.frames.toc.frames[1].location.href.replace(re, "")+"&showAll=off";
+ }catch(ex) {}
+ try{
+ window.frames.search.searchViewFrame.location=window.frames.search.frames[1].location.href.replace(re, "")+"&showAll=off";
+ }catch(ex) {}
+ }
+}
</script>
@@ -105,7 +151,7 @@ function showView(view)
name="<%=views[i].getName()%>"
title="<%=ServletResources.getString("ignore", views[i].getName(), request)%>"
id="<%=views[i].getName()%>"
- src='<%="view.jsp?view="+views[i].getName()+"&"+request.getQueryString()%>'>
+ src='<%="view.jsp?view="+views[i].getName()+(request.getQueryString()==null?"":("&"+request.getQueryString()))%>'>
</iframe>
<%
}
diff --git a/org.eclipse.help.webapp/basic/searchView.jsp b/org.eclipse.help.webapp/basic/searchView.jsp
index 616784fcf..16e458498 100644
--- a/org.eclipse.help.webapp/basic/searchView.jsp
+++ b/org.eclipse.help.webapp/basic/searchView.jsp
@@ -77,7 +77,6 @@ if (data.isProgressRequest()) {
boolean disabledSearchResults = false;
for (int topic = 0; topic < data.getResultsCount(); topic++){
if(!data.isEnabled(topic)){
- disabledSearchResults = true;
continue;
}
%>
@@ -96,35 +95,7 @@ if (data.isProgressRequest()) {
}
%>
</table>
-
-<%
- if(disabledSearchResults){
-%>
-<br><b><%=ServletResources.getLabel("disabledResults", request)%></b>
-<table border="0" cellpadding="0" cellspacing="0">
-<%
- for (int topic = 0; topic < data.getResultsCount(); topic++){
- if(data.isEnabled(topic)){
- continue;
- }
-%>
-<tr>
- <td align='<%=isRTL?"left":"right"%>'><%=data.getTopicScore(topic)%></td>
- <td align='<%=isRTL?"right":"left"%>' nowrap>
- &nbsp;
- <a <%=("a"+topic).equals(data.getSelectedTopicId())?" name=\"selectedItem\" ":""%>
- href='<%=data.getTopicHref(topic)%>'
- title="<%=data.getTopicTocLabel(topic)%>">
- <%=data.getTopicLabel(topic)%>
- </a>
- </td>
-</tr>
<%
- }
-%>
-</table>
-<%
- }
}
}
}
diff --git a/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.properties b/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.properties
index 3ec841f5a..11ef1dc64 100644
--- a/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.properties
+++ b/org.eclipse.help.webapp/src/org/eclipse/help/internal/webapp/WebappResources.properties
@@ -18,6 +18,7 @@ SearchResults=Search Results
Content=Contents
Links=Links
Bookshelf=Table of Contents
+show_all=Show All Topics
Toggle=Toggle Navigation
Synch=Show in Table of Contents
SynchNav=Refresh / Show Current Topic
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ActivitiesData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ActivitiesData.java
new file mode 100644
index 000000000..301ab9b87
--- /dev/null
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ActivitiesData.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.help.internal.webapp.data;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import org.eclipse.help.internal.base.*;
+/**
+ * Helper for pages in navigation frames. Used enabling/disabling activity
+ * filtering
+ */
+public class ActivitiesData extends RequestData {
+ /**
+ * Constructs the data for a request.
+ *
+ * @param context
+ * @param request
+ */
+ public ActivitiesData(ServletContext context, HttpServletRequest request,
+ HttpServletResponse response) {
+ super(context, request, response);
+ //System.out.println();
+ String changeShowAll = request.getParameter("showAll");
+ if (changeShowAll != null) {
+ if ("off".equalsIgnoreCase(changeShowAll)) {
+ HelpBasePlugin.getActivitySupport().setFilteringEnabled(
+ true);
+ } else if ("on".equalsIgnoreCase(changeShowAll)) {
+ HelpBasePlugin.getActivitySupport().setFilteringEnabled(
+ false);
+ } else {
+ // not supported value
+ }
+ } else {
+ // no change to afilter
+ }
+ }
+ /**
+ * @return Checks if filtering is enabled.
+ */
+ public boolean isActivityFiltering() {
+ return HelpBasePlugin.getActivitySupport().isFilteringEnabled();
+ }
+ /**
+ * Gives state of show all topics button
+ *
+ * @return "hidden", "off", or "on"
+ */
+ public String getButtonState() {
+ if (!HelpBasePlugin.getActivitySupport().isUserCanToggleFiltering())
+ return "hidden";
+ else if (HelpBasePlugin.getActivitySupport().isFilteringEnabled())
+ return "off";
+ else
+ return "on";
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java
index ee5ff4d1b..e0dc7815e 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/SearchData.java
@@ -25,7 +25,7 @@ import org.eclipse.help.internal.workingset.*;
/**
* Helper class for searchView.jsp initialization
*/
-public class SearchData extends RequestData {
+public class SearchData extends ActivitiesData {
private WebappWorkingSetManager wsmgr;
// Request parameters
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/TocData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/TocData.java
index 4fc4d3ac9..e02b7f803 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/TocData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/TocData.java
@@ -24,7 +24,7 @@ import org.eclipse.help.internal.model.*;
/**
* Helper class for tocView.jsp initialization
*/
-public class TocData extends RequestData {
+public class TocData extends ActivitiesData {
// maximum number of topics in a book for generating all topics at once
private static int loadBookAtOnceLimit;
// suggested number of topic levels for large books
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarButton.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarButton.java
index 482ebe1e4..1033b5e4f 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarButton.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarButton.java
@@ -21,17 +21,19 @@ public class ToolbarButton{
private String tooltip;
private String image;
private String action;
+ private boolean state;
private boolean isSeparator;
public ToolbarButton() {
isSeparator = true;
}
- public ToolbarButton(String name, String tooltip, String image, String action) {
+ public ToolbarButton(String name, String tooltip, String image, String action, boolean state) {
this.name = name;
this.tooltip = tooltip;
this.image = image;
this.action = action;
+ this.state = state;
}
public boolean isSeparator() {
@@ -66,4 +68,8 @@ public class ToolbarButton{
public String getAction() {
return action;
}
+
+ public boolean isOn() {
+ return state;
+ }
}
diff --git a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarData.java b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarData.java
index e7b96637d..6b4f7639d 100644
--- a/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarData.java
+++ b/org.eclipse.help.webapp/src_servlets/org/eclipse/help/internal/webapp/data/ToolbarData.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.help.internal.webapp.data;
+import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
@@ -33,30 +34,38 @@ public class ToolbarData extends RequestData {
String[] tooltips = request.getParameterValues("tooltip");
String[] images = request.getParameterValues("image");
String[] actions = request.getParameterValues("action");
+ String[] states = request.getParameterValues("state");
if (names == null
|| tooltips == null
|| images == null
|| actions == null
+ || states == null
|| names.length != tooltips.length
|| names.length != images.length
- || names.length != actions.length) {
+ || names.length != actions.length
+ || names.length != states.length) {
buttons = new ToolbarButton[0];
return;
}
- buttons = new ToolbarButton[names.length];
- for (int i = 0; i < buttons.length; i++) {
+ List buttonList = new ArrayList();
+ for (int i = 0; i < names.length; i++) {
+ if(states[i].startsWith("hid")){
+ continue;
+ }
if ("".equals(names[i]))
- buttons[i] = new ToolbarButton();
+ buttonList.add(new ToolbarButton());
else
- buttons[i] =
+ buttonList.add(
new ToolbarButton(
names[i],
ServletResources.getString(tooltips[i], request),
preferences.getImagesDirectory() + "/" + images[i],
- actions[i]);
+ actions[i],
+ "on".equalsIgnoreCase(states[i])));
}
+ buttons = (ToolbarButton[])buttonList.toArray(new ToolbarButton[buttonList.size()]);
}
public ToolbarButton[] getButtons() {

Back to the top