package org.argeo.cms.swt;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
-import java.util.StringTokenizer;
import org.argeo.api.cms.ux.CmsIcon;
import org.argeo.api.cms.ux.CmsStyle;
}
public static CmsView getCmsView(Control parent) {
+ if (parent.isDisposed())
+ return null;
// find parent shell
Shell topShell = parent.getShell();
while (topShell.getParent() != null)
/** Style widget */
public static <T extends Widget> T style(T widget, String style) {
- if (style == null)
+ if (style == null || widget.isDisposed())
return widget;// does nothing
EclipseUiSpecificUtils.setStyleData(widget, style);
if (widget instanceof Control) {
child.dispose();
}
- /** Clean reserved URL characters for use in HTTP links. */
- public static String cleanPathForUrl(String path) {
- StringTokenizer st = new StringTokenizer(path, "/");
- StringBuilder sb = new StringBuilder();
- while (st.hasMoreElements()) {
- sb.append('/');
- String encoded = URLEncoder.encode(st.nextToken(), StandardCharsets.UTF_8);
- encoded = encoded.replace("+", "%20");
- sb.append(encoded);
-
- }
- return sb.toString();
- }
-
/** Singleton. */
private CmsSwtUtils() {
}