package org.docear.plugin.core.ui;
import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import org.docear.plugin.core.ui.wizard.AWizardPage;
import org.docear.plugin.core.ui.wizard.WizardSession;
import org.freeplane.core.util.TextUtils;
import org.freeplane.features.map.MapModel;
import org.freeplane.plugin.workspace.WorkspaceController;
import org.freeplane.plugin.workspace.model.project.AWorkspaceProject;
import com.jgoodies.forms.factories.FormFactory;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.RowSpec;
public class SelectProjectPagePanel extends AWizardPage {
/**
*
*/
private static final long serialVersionUID = 1L;
private JComboBox comboBox;
private MapModel map;
private JEditorPane lblNewLabel;
private boolean showCloseButton;
public SelectProjectPagePanel(boolean showCloseButton) {
setLayout(new FormLayout(new ColumnSpec[] {
ColumnSpec.decode("190px"),
ColumnSpec.decode("328px"),},
new RowSpec[] {
FormFactory.LINE_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,}));
setBackground(Color.WHITE);
this.showCloseButton = showCloseButton;
List<String> projectNames = new ArrayList<String>();
for (AWorkspaceProject project : WorkspaceController.getCurrentModel().getProjects()) {
projectNames.add(project.getProjectName());
}
lblNewLabel = new JEditorPane();
lblNewLabel.setEditable(false);
lblNewLabel.setContentType("text/html");
add(lblNewLabel, "1, 2, 2, 1");
JEditorPane lblNewLabel_1 = new JEditorPane();
lblNewLabel_1.setEditable(false);
lblNewLabel_1.setContentType("text/html");
lblNewLabel_1.setText(TextUtils.getText("docear.wizard.select.mindmap.project.select"));
add(lblNewLabel_1, "1, 8, 1, 1");
comboBox = new JComboBox(projectNames.toArray());
AWorkspaceProject project = WorkspaceController.getSelectedProject();
if(project != null) {
comboBox.setSelectedItem(project.getProjectName());
}
add(comboBox, "2, 8, left, top");
}
public AWorkspaceProject getSelectedProject() {
String projectName = (String) comboBox.getSelectedItem();
for (AWorkspaceProject project : WorkspaceController.getCurrentModel().getProjects()) {
if (project.getProjectName().equals(projectName)) {
return project;
}
}
return null;
}
@Override
public void preparePage(WizardSession context) {
context.setWizardTitle(getTitle());
context.getBackButton().setText(TextUtils.getText("docear.setup.wizard.second.select.label"));
getRootPane().setDefaultButton((JButton) context.getBackButton());
context.getNextButton().setText(TextUtils.getText("docear.setup.wizard.second.create.label"));
context.getSkipButton().setText(TextUtils.getText("docear.setup.wizard.second.create.close"));
context.getSkipButton().setEnabled(showCloseButton);
context.getSkipButton().setVisible(showCloseButton);
map = context.get(MapModel.class);
lblNewLabel.setText(TextUtils.format("docear.wizard.select.mindmap.project.mindmapname", map.getTitle()));
}
@Override
public String getTitle() {
return TextUtils.getText("workspace.action.node.select.project.dialog.title");
}
}