use of org.w3c.dom.stylesheets.DocumentStyle in project webtools.sourceediting by eclipse.
the class AbstractStyleSheetAdapter method styleUpdate.
/**
* @param srcModel com.ibm.sed.css.model.interfaces.ICSSModel
*/
public void styleUpdate(ICSSModel srcModel) {
IDOMNode node = (IDOMNode) getElement();
if (node == null)
return;
IDOMModel model = node.getModel();
if (model == null)
return;
XMLModelNotifier notifier = model.getModelNotifier();
if (notifier == null)
return;
// before updating, all sub-models should be loaded!
DocumentStyle document = (DocumentStyle) model.getDocument();
StyleSheetList styles = document.getStyleSheets();
if (styles != null) {
int n = styles.getLength();
ImportedCollector trav = new ImportedCollector();
for (int i = 0; i < n; i++) {
org.w3c.dom.stylesheets.StyleSheet sheet = styles.item(i);
if (sheet instanceof ICSSNode)
trav.apply((ICSSNode) sheet);
}
}
// flash style changed events
if (styleChangedNodes != null) {
Object[] elements = styleChangedNodes.toArray();
for (int i = 0; elements != null && i < elements.length; i++) notifyStyleChanged((Element) elements[i]);
styleChangedNodes.clear();
}
// to notify GEF tree
if (document instanceof INodeNotifier) {
Collection adapters = ((INodeNotifier) document).getAdapters();
if (adapters == null)
return;
Iterator it = adapters.iterator();
if (it == null)
return;
while (it.hasNext()) {
INodeAdapter adapter = (INodeAdapter) it.next();
if (adapter instanceof ICSSStyleListener) {
((ICSSStyleListener) adapter).styleUpdate(srcModel);
}
}
}
notifier.propertyChanged(node);
}
use of org.w3c.dom.stylesheets.DocumentStyle in project webtools.sourceediting by eclipse.
the class StyleTest method testModel.
public void testModel() {
// new HTMLModelImpl();
IDOMModel model = createHTMLModel();
Document document = model.getDocument();
Element style = document.createElement("STYLE");
Text text = document.createTextNode("BODY { color : red; } P { color : green; } B { color : blue; }");
style.appendChild(text);
document.appendChild(style);
printSource(model);
printTree(model);
DocumentStyle ds = (DocumentStyle) document;
StyleSheetList ssl = ds.getStyleSheets();
if (ssl.getLength() > 0) {
CSSStyleSheet ss = (CSSStyleSheet) ssl.item(0);
ss.deleteRule(1);
}
printSource(model);
printTree(model);
LinkStyle ls = (LinkStyle) style;
CSSStyleSheet ss2 = (CSSStyleSheet) ls.getSheet();
if (ss2 != null) {
ss2.deleteRule(0);
}
printSource(model);
printTree(model);
saveAndCompareTestResults();
}
Aggregations