use of org.w3c.dom.stylesheets.StyleSheetList in project dbeaver by serge-rider.
the class ApplicationCSSManager method updateApplicationCSS.
static void updateApplicationCSS(Display display) {
CSSEngine engine = WidgetElement.getEngine(display);
if (engine == null) {
log.error("No CSSEngine");
return;
}
ExtendedDocumentCSS doc = (ExtendedDocumentCSS) engine.getDocumentCSS();
List<StyleSheet> sheets = new ArrayList<>();
StyleSheetList list = doc.getStyleSheets();
for (int i = 0; i < list.getLength(); i++) {
sheets.add(list.item(i));
}
try {
Reader reader = new StringReader(EXTRA_CSS);
sheets.add(engine.parseStyleSheet(reader));
doc.removeAllStyleSheets();
for (StyleSheet sheet : sheets) {
doc.addStyleSheet(sheet);
}
engine.reapply();
} catch (Exception e) {
log.error(e);
}
}
use of org.w3c.dom.stylesheets.StyleSheetList 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.StyleSheetList in project webtools.sourceediting by eclipse.
the class HTMLDocumentAdapter method getOverrideStyle.
/**
*/
public CSSStyleDeclaration getOverrideStyle(Element element, String pseudoName) {
StyleSheetList ssl = getStyleSheets();
int numStyles = ssl.getLength();
CSSQueryTraverser query = new CSSQueryTraverser();
query.setTraverseImported(true);
query.setTraverseImportFirst(true);
query.setElement(element, pseudoName);
for (int i = 0; i < numStyles; i++) {
// loop for styles (<style> and <link>)
org.w3c.dom.stylesheets.StyleSheet ss = ssl.item(i);
try {
query.apply((ICSSNode) ss);
} catch (ClassCastException ex) {
// I can handle only CSS style
}
}
return query.getDeclaration();
}
use of org.w3c.dom.stylesheets.StyleSheetList in project dbeaver by dbeaver.
the class ApplicationCSSManager method updateApplicationCSS.
static void updateApplicationCSS(Display display) {
CSSEngine engine = WidgetElement.getEngine(display);
if (engine == null) {
log.error("No CSSEngine");
return;
}
ExtendedDocumentCSS doc = (ExtendedDocumentCSS) engine.getDocumentCSS();
List<StyleSheet> sheets = new ArrayList<>();
StyleSheetList list = doc.getStyleSheets();
for (int i = 0; i < list.getLength(); i++) {
sheets.add(list.item(i));
}
try {
Reader reader = new StringReader(TABBED_FOLDER_STYLE);
sheets.add(engine.parseStyleSheet(reader));
doc.removeAllStyleSheets();
for (StyleSheet sheet : sheets) {
doc.addStyleSheet(sheet);
}
// engine.reapply();
} catch (Exception e) {
log.error(e);
}
}
use of org.w3c.dom.stylesheets.StyleSheetList in project dbeaver by dbeaver.
the class ApplicationCSSManager method updateApplicationCSS.
static void updateApplicationCSS(Display display) {
CSSEngine engine = WidgetElement.getEngine(display);
if (engine == null) {
log.error("No CSSEngine");
return;
}
ExtendedDocumentCSS doc = (ExtendedDocumentCSS) engine.getDocumentCSS();
List<StyleSheet> sheets = new ArrayList<>();
StyleSheetList list = doc.getStyleSheets();
for (int i = 0; i < list.getLength(); i++) {
sheets.add(list.item(i));
}
try {
Reader reader = new StringReader(EXTRA_CSS);
sheets.add(engine.parseStyleSheet(reader));
doc.removeAllStyleSheets();
for (StyleSheet sheet : sheets) {
doc.addStyleSheet(sheet);
}
engine.reapply();
} catch (Exception e) {
log.error(e);
}
}
Aggregations