Skip to content

Commit 3c09d28

Browse files
author
soheil_h_y
committed
1 parent 82949c8 commit 3c09d28

File tree

1 file changed

+52
-0
lines changed
  • sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/internal/browser

1 file changed

+52
-0
lines changed

sources/net.sf.j2s.java.org.eclipse.swt/src/org/eclipse/swt/internal/browser/OS.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -565,6 +565,58 @@ public static boolean existedCSSClass(Object el, String cssClazz) {
565565
return false;
566566
}
567567

568+
569+
public static boolean replaceCSSClassInDepth(Object el, String toBeRemovedCSSClazz, String toBeInsertedCSSClazz) {
570+
Element e = (Element) el;
571+
if (toBeRemovedCSSClazz == null || toBeRemovedCSSClazz.length() == 0 || toBeInsertedCSSClazz == null) {
572+
return false;
573+
}
574+
replaceCSSClass(el, toBeRemovedCSSClazz, toBeInsertedCSSClazz);
575+
int length = e.childNodes.length;
576+
boolean replaced = false;
577+
for(int i = 0; i < length; i++){
578+
replaced = replaced || replaceCSSClassInDepth(e.childNodes[i], toBeRemovedCSSClazz, toBeInsertedCSSClazz);
579+
}
580+
return replaced;
581+
}
582+
583+
public static boolean replaceCSSClass(Object el, String toBeRemovedCSSClazz, String toBeInsertedCSSClazz) {
584+
Element e = (Element) el;
585+
String className = e.className;
586+
if (className == null || className.length() == 0) {
587+
return false;
588+
}
589+
String[] clazz = className.split("\\s");
590+
boolean existed = false;
591+
for (int i = 0; i < clazz.length; i++) {
592+
if (clazz[i] == toBeRemovedCSSClazz) {
593+
existed = true;
594+
clazz[i] = toBeInsertedCSSClazz;
595+
break;
596+
}
597+
}
598+
if (existed)
599+
/**
600+
* @j2sNative
601+
* e.className = clazz.join (" ");
602+
*/ {}
603+
return existed;
604+
}
605+
606+
public static boolean removeCSSClassInDepth(Object el, String cssClazz){
607+
Element e = (Element) el;
608+
if (cssClazz == null || cssClazz.length() == 0) {
609+
return false;
610+
}
611+
removeCSSClass(el, cssClazz);
612+
int length = e.childNodes.length;
613+
boolean removed = false;
614+
for(int i = 0; i < length; i++){
615+
removed = removed || removeCSSClassInDepth(e.childNodes[i], cssClazz);
616+
}
617+
return removed;
618+
}
619+
568620
public static boolean removeCSSClass(Object el, String cssClazz) {
569621
Element e = (Element) el;
570622
String className = e.className;

0 commit comments

Comments
 (0)