diff options
Diffstat (limited to 'BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html')
-rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedHTMLEditorKit.java | 49 | ||||
-rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedImageView.java | 67 |
2 files changed, 116 insertions, 0 deletions
diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedHTMLEditorKit.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedHTMLEditorKit.java new file mode 100644 index 00000000..680bf1a4 --- /dev/null +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedHTMLEditorKit.java @@ -0,0 +1,49 @@ +/* + * Copyright 2008 Federal Chancellery Austria and + * Graz University of Technology + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package at.gv.egiz.bku.gui.html; + +import javax.swing.text.Element; +import javax.swing.text.StyleConstants; +import javax.swing.text.View; +import javax.swing.text.html.HTML; +import javax.swing.text.html.HTMLEditorKit; + +/** + * + * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at> + */ +public class RestrictedHTMLEditorKit extends HTMLEditorKit { + + + public static class RestrictedHTMLFactory extends HTMLFactory { + + @Override + public View create(Element elem) { + Object o = + elem.getAttributes().getAttribute(StyleConstants.NameAttribute); + if (o instanceof HTML.Tag) { + HTML.Tag kind = (HTML.Tag) o; + if (kind == HTML.Tag.IMG) + return new RestrictedImageView(elem); + } + return super.create( elem ); + } + + } + +} diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedImageView.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedImageView.java new file mode 100644 index 00000000..b1aa35db --- /dev/null +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/html/RestrictedImageView.java @@ -0,0 +1,67 @@ +/* + * Copyright 2008 Federal Chancellery Austria and + * Graz University of Technology + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package at.gv.egiz.bku.gui.html; + +import javax.swing.text.Element; +import javax.swing.text.html.HTML; +import javax.swing.text.html.ImageView; + +/** + * + * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at> + */ +/** + * ImageViewer.refreshImage() (and loadImage()) is private :-( + */ + public class RestrictedImageView extends ImageView { + + public RestrictedImageView(Element elem) { + super(elem); + } + +// @Override +// public Image getImage() { +// int s = state; +// if ((s & RELOAD_IMAGE_FLAG) != 0) { +// refreshImage(); +// } +// s = state; +// if ((s & RELOAD_FLAG) != 0) { +// synchronized(this) { +// state = (state | RELOAD_FLAG) ^ RELOAD_FLAG; +// } +// setPropertiesFromAttributes(); +// } +// return super.getImage(); +// } + + /** + * check whether this URL corresponds to the data URI scheme + * (and the referenced content is directly included in the document). + * @return + */ + private boolean isDataURI() { + String src = (String)getElement().getAttributes(). + getAttribute(HTML.Attribute.SRC); + if (src == null) { + return false; + } + + return src.toLowerCase().startsWith("data"); + } + }
\ No newline at end of file |