Browse Source

Fixed #238

svn changeset:346/svn branch:toolkit
tags/6.7.0.beta1
Joonas Lehtinen 17 years ago
parent
commit
60d46d5e74
1 changed files with 43 additions and 13 deletions
  1. 43
    13
      src/com/itmill/toolkit/terminal/web/ThemeFunctionLibrary.java

+ 43
- 13
src/com/itmill/toolkit/terminal/web/ThemeFunctionLibrary.java View File

@@ -40,6 +40,7 @@ import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Set;
import java.util.Vector;

import javax.servlet.http.HttpSession;

@@ -440,16 +441,30 @@ public class ThemeFunctionLibrary {
static public String getCssLinksForHead() {
ApplicationServlet as = (ApplicationServlet) ((Object[]) state.get())[WEBADAPTERSERVLET];
Theme t = as.getThemeSource().getThemeByName(theme());
Collection allFiles = t.getFileNames(browser(), Theme.MODE_HTML);

// Also iterate parent themes
Vector themes = new Vector();
themes.add(t);
while (t.getParent() != null) {
String parentName = t.getParent();
t = as.getThemeSource().getThemeByName(parentName);
themes.add(t);
}

// Generate links
StringBuffer links = new StringBuffer();
for (Iterator i = allFiles.iterator(); i.hasNext();) {
String file = (String) i.next();
if (file.endsWith(".css")) {
links
.append("<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\""
+ resource(file) + "\"/>\n");
for (int k = themes.size() - 1; k >= 0; k--) {
Collection allFiles = ((Theme)themes.get(k)).getFileNames(browser(), Theme.MODE_HTML);
for (Iterator i = allFiles.iterator(); i.hasNext();) {
String file = (String) i.next();
if (file.endsWith(".css")) {
links
.append("<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\""
+ resource(file) + "\"/>\n");
}
}
}

return links.toString();
}

@@ -457,15 +472,30 @@ public class ThemeFunctionLibrary {
static public String getJavaScriptLinksForHead() {
ApplicationServlet as = (ApplicationServlet) ((Object[]) state.get())[WEBADAPTERSERVLET];
Theme t = as.getThemeSource().getThemeByName(theme());
Collection allFiles = t.getFileNames(browser(), Theme.MODE_HTML);

// Also iterate parent themes
Vector themes = new Vector();
themes.add(t);
while (t.getParent() != null) {
String parentName = t.getParent();
t = as.getThemeSource().getThemeByName(parentName);
themes.add(t);
}

// Generate links
StringBuffer links = new StringBuffer();
for (Iterator i = allFiles.iterator(); i.hasNext();) {
String file = (String) i.next();
if (file.endsWith(".js")) {
links.append("<SCRIPT LANGUAGE=\"Javascript\" SRC=\""
+ resource(file) + "\"></SCRIPT>\n");
for (int k = themes.size() - 1; k >= 0; k--) {
Collection allFiles = ((Theme) themes.get(k)).getFileNames(
browser(), Theme.MODE_HTML);
for (Iterator i = allFiles.iterator(); i.hasNext();) {
String file = (String) i.next();
if (file.endsWith(".js")) {
links.append("<SCRIPT LANGUAGE=\"Javascript\" SRC=\""
+ resource(file) + "\"></SCRIPT>\n");
}
}
}

return links.toString();
}


Loading…
Cancel
Save