package com.hexidec.ekit.action.bridges;
import java.awt.Color;
import java.awt.event.ActionEvent;
import javax.swing.JColorChooser;
import javax.swing.text.StyledEditorKit;
import com.hexidec.ekit.EkitCore;
import com.hexidec.ekit.component.SimpleInfoDialog;
import com.hexidec.ekit.component.UserInputAnchorDialog;
public class EkitCoreBridge implements EkitCoreService {
private EkitCore inner;
public EkitCoreBridge(EkitCore ekitCore) {
this.inner = ekitCore;
}
@Override
public MutatorService getMutator() {
return inner.getMutator();
}
@Override
public TextPaneService getTextPane() {
return new TextPaneBridge(inner.getTextPane());
}
@Override
public UserInputService newUserInputAnchorDialog(
EkitCoreService parentEkit, String title, boolean modal,
String defaultAnchor) {
return new UserInputBridge(new UserInputAnchorDialog(inner, title, modal, defaultAnchor));
}
@Override
public void repaint() {
inner.repaint();
}
@Override
public void refreshOnUpdate() {
inner.refreshOnUpdate();
}
@Override
public void showInfoDialog(String title, boolean modal, String message, int type) {
new SimpleInfoDialog(inner.getFrame(), title, modal, message, type);
}
@Override
public Color chooseColor(String title, Color c) {
return JColorChooser.showDialog(inner.getFrame(), title, c);
}
@Override
public void setForegroundColor(Color color, ActionEvent ae) {
StyledEditorKit.ForegroundAction customColorAction
= new StyledEditorKit.ForegroundAction("CustomColor", color);
customColorAction.actionPerformed(ae);
}
}