/** * */ public CSSLinkConverter(IStructuredModel model) { super(); baseModel = model; if (model instanceof ICSSModel && ((ICSSModel) model).getStyleSheetType() != ICSSModel.EXTERNAL) { IDOMNode node = (IDOMNode) ((ICSSModel) model).getOwnerDOMNode(); baseModel = node.getModel(); } }
/** * If the style sheet is a linked style sheet, the value of its attribute * is its location. For inline style sheets, the value of this attribute * is <code>null</code>. See the href attribute definition for the * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute * for the XML style sheet processing instruction. */ public String getHref() { ICSSModel model = getModel(); if (model != null && model.getStyleSheetType() == ICSSModel.EXTERNAL) { return model.getBaseLocation(); /* * Object id = model.getId(); if (id != null) { if (id instanceof * IResource) { // TODO: need to check whether this is correct or * not, later. return ((IResource)id).getFullPath().toString(); } * return id.toString(); } */} return null; }
/** * */ protected void begin(ICSSNode node) { if (baseModel == null) { baseModel = node.getOwnerDocument().getModel(); if (baseModel instanceof ICSSModel && ((ICSSModel) baseModel).getStyleSheetType() != ICSSModel.EXTERNAL) { IDOMNode xmlNode = (IDOMNode) ((ICSSModel) baseModel).getOwnerDOMNode(); baseModel = xmlNode.getModel(); } } }
/** * Insert the method's description here. * * @return org.eclipse.wst.css.core.internal.cleanup.CSSCleanupStrategy * @param node * org.eclipse.wst.css.core.model.interfaces.ICSSNode */ protected CSSCleanupStrategy getCleanupStrategy(ICSSNode node) { CSSCleanupStrategy currentStrategy = CSSCleanupStrategyImpl.getInstance(); ICSSDocument doc = node.getOwnerDocument(); if (doc == null) return currentStrategy; ICSSModel model = doc.getModel(); if (model == null) return currentStrategy; if (model.getStyleSheetType() != ICSSModel.EXTERNAL) { // TODO - TRANSITION Nakamori-san, or Kit, how can we move to // "HTML" plugin? // can we subclass? // currentStrategy = CSSInHTMLCleanupStrategyImpl.getInstance(); } return currentStrategy; }
private void findCSS(List cssNodes, IDOMNode node) { ICSSModelAdapter adapter; adapter = (ICSSModelAdapter) node.getAdapterFor(IStyleSheetAdapter.class); if (adapter != null) { ICSSModel model = adapter.getModel(); if (model != null && model.getStyleSheetType() == ICSSModel.EMBEDDED) { cssNodes.add(model.getDocument()); } } else { adapter = (ICSSModelAdapter) node.getAdapterFor(IStyleDeclarationAdapter.class); if (adapter != null) { ICSSModel model = adapter.getModel(); if (model != null && model.getStyleSheetType() == ICSSModel.INLINE) { cssNodes.add(model.getDocument()); } } } for (IDOMNode child = (IDOMNode) node.getFirstChild(); child != null; child = (IDOMNode) child.getNextSibling()) { findCSS(cssNodes, child); } }
public CSSProfile findProfileFor(IStructuredModel model) { String baseLocation = null; if (model instanceof ICSSModel) { Object modelType = ((ICSSModel) model).getStyleSheetType(); if (modelType == ICSSModel.EXTERNAL) { baseLocation = model.getBaseLocation(); } else if (modelType == ICSSModel.EMBEDDED || modelType == ICSSModel.INLINE) { baseLocation = model.getBaseLocation(); // may be null } } else if (model != null) { baseLocation = model.getBaseLocation(); } return findProfileFor(baseLocation); }
/** * */ protected void formatPre(ICSSNode node, IRegion region, java.lang.StringBuffer source) { CSSCleanupStrategy stgy = getCleanupStrategy(node); IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument(); CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, region, stgy); CompoundRegion[] outside = getOutsideRegions(structuredDocument, region); for (int i = 0; i < regions.length; i++) { if (i != 0 || needS(outside[0]) || regions[i].getType() == CSSRegionContexts.CSS_CDO || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) appendDelimBefore(node, regions[i], source); source.append(decoratedRegion(regions[i], 0, stgy)); } if (needS(outside[1])) { if (isIncludesPreEnd(node, region)) { if (source.length() > 0 || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) { String delim = getLineDelimiter(node); source.append(delim); } } } }
/** * */ protected void formatPre(org.eclipse.wst.css.core.internal.provisional.document.ICSSNode node, java.lang.StringBuffer source) { int start = ((IndexedRegion) node).getStartOffset(); int end = (node.getFirstChild() != null && ((IndexedRegion) node.getFirstChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getFirstChild()).getStartOffset() : getChildInsertPos(node); if (end > 0) { CSSCleanupStrategy stgy = getCleanupStrategy(node); IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument(); CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy); for (int i = 0; i < regions.length; i++) { if (i != 0 || regions[i].getType() == CSSRegionContexts.CSS_CDO || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) appendDelimBefore(node, regions[i], source); source.append(decoratedRegion(regions[i], 0, stgy)); } if (node.getLastChild() != null && (source.length() > 0 || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED)) { appendDelimBefore(node, null, source); } } else if (node.getOwnerDocument().getModel() != null && node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) { appendDelimBefore(node, null, source); // source.append("<!--"); // appendDelimBefore(node,null, source); } else return; // nothing }
/** * */ protected void formatPost(ICSSNode node, StringBuffer source) { int end = ((IndexedRegion) node).getEndOffset(); int start = (node.getLastChild() != null && ((IndexedRegion) node.getLastChild()).getEndOffset() > 0) ? ((IndexedRegion) node.getLastChild()).getEndOffset() : getChildInsertPos(node); if (end > 0 && start < end) { CSSCleanupStrategy stgy = getCleanupStrategy(node); IStructuredDocument structuredDocument = node.getOwnerDocument().getModel().getStructuredDocument(); CompoundRegion[] regions = getRegionsWithoutWhiteSpaces(structuredDocument, new FormatRegion(start, end - start), stgy); for (int i = 0; i < regions.length; i++) { appendDelimBefore(node, regions[i], source); source.append(decoratedRegion(regions[i], 0, stgy)); } if ((regions != null && regions.length > 0 && regions[regions.length - 1].getType() == CSSRegionContexts.CSS_CDC) || node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) appendDelimBefore(node, null, source); } else { // source generation if (node.getOwnerDocument().getModel() != null && node.getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) appendDelimBefore(node, null, source); return; // nothing } }
if (getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) { // case