package com.iambookmaster.client;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.iambookmaster.client.common.EditorTab;
import com.iambookmaster.client.locale.AppConstants;
import com.iambookmaster.client.locale.AppLocale;
import com.iambookmaster.client.model.Model;
import com.iambookmaster.client.model.PlotListener;
public class CommercialTextEditor extends VerticalPanel implements EditorTab{
private AppConstants appConstants = AppLocale.getAppConstants();
private TextArea commercialText;
private TextBox firstPageText;
private Model model;
private PlotListener plotListener;
public CommercialTextEditor(Model mod) {
this.model = mod;
setSize("100%", "100%");
Label label = new Label(appConstants.commercialTextMainTitle());
add(label);
setCellHeight(label,"1%");
setCellWidth(label,"100%");
ChangeHandler handler = new ChangeHandler() {
public void onChange(ChangeEvent event) {
if (event.getSource()==commercialText) {
model.updateCommercialText(commercialText.getText().trim(), plotListener);
} else if (event.getSource()==firstPageText) {
model.updateFirstPageDemoInfoText(firstPageText.getText().trim(), plotListener);
}
}
};
firstPageText = new TextBox();
firstPageText.setWidth("100%");
firstPageText.setText(model.getDemoInfoText());
firstPageText.addChangeHandler(handler);
add(firstPageText);
setCellHeight(firstPageText,"1%");
setCellWidth(firstPageText,"100%");
label = new Label(appConstants.commercialTextDefaultTitle());
add(label);
setCellHeight(label,"1%");
setCellWidth(label,"100%");
commercialText = new TextArea();
commercialText.setSize("100%", "100%");
commercialText.setText(model.getCommercialText());
commercialText.addChangeHandler(handler);
add(commercialText);
setCellHeight(commercialText,"99%");
setCellWidth(commercialText,"100%");
plotListener = new PlotListener() {
public void refreshAll() {
commercialText.setText(model.getCommercialText());
firstPageText.setText(model.getDemoInfoText());
}
public void update(String pl) {
}
public void updateBookRules(String rules) {
}
public void updatePlayerRules(String rules) {
}
public void updateCommercialText(String text) {
commercialText.setText(text);
}
public void updateDemoInfoText(String text) {
firstPageText.setText(text);
}
};
model.addPlotListener(plotListener);
}
public void activate() {
}
public void deactivate() {
}
public void close() {
model.removePlotListener(plotListener);
}
}