package eu.jucy.gui.texteditor; import helpers.GH; import helpers.PreferenceChangedAdapter; import java.text.SimpleDateFormat; import java.util.List; import org.eclipse.swt.custom.StyledText; import eu.jucy.gui.GUIPI; import eu.jucy.gui.texteditor.StyledTextViewer.Message; import eu.jucy.gui.texteditor.StyledTextViewer.TextReplacement; import uc.IHub; import uihelpers.SUIJob; public class DateStampTextModificator implements ITextModificator { public static final String ID = "eu.jucy.gui.DateStamp"; private static SimpleDateFormat dateFormat; static { refreshSettings(); new PreferenceChangedAdapter(GUIPI.get(),GUIPI.timeStampFormat) { @Override public void preferenceChanged(String preference,String oldValue, String newValue) { new SUIJob() { @Override public void run() { refreshSettings(); } }.schedule(); } }; } private static void refreshSettings() { String format = GUIPI.get(GUIPI.timeStampFormat); if (GH.isNullOrEmpty(format)) { dateFormat = new SimpleDateFormat(); } else { dateFormat = new SimpleDateFormat(format); } } // // public void getStyleRange(String message, int startpos, Message original, // List<StyleRange> ranges, List<ObjectPoint<Image>> images) { // // } public void init(StyledText st,StyledTextViewer viewer, IHub hub) {} // public String modifyMessage(String message, Message original, boolean pm) { // return dateFormat.format(original.getReceived()) +message; // } public void getMessageModifications(Message original, boolean pm,List<TextReplacement> replacement) { replacement.add(new TextReplacement(1, 0, dateFormat.format(original.getReceived()))); } public void dispose() {} }