All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yaoqiang.bpmn.editor.dialog.JSONDialog Maven / Gradle / Ivy

package org.yaoqiang.bpmn.editor.dialog;

import javax.swing.JOptionPane;

import org.yaoqiang.bpmn.editor.BPMNEditor;
import org.yaoqiang.bpmn.editor.swing.BaseEditor;
import org.yaoqiang.dialog.BaseDialog;
import org.yaoqiang.dialog.Panel;
import org.yaoqiang.util.Resources;

import com.mxgraph.util.mxEvent;
import com.mxgraph.util.mxEventObject;
import com.mxgraph.util.mxUndoableEdit;

/**
 * JSONDialog
 * 
 * @author Shi Yaoqiang([email protected])
 */
public class JSONDialog extends BaseDialog {

	private static final long serialVersionUID = -3312463408713700418L;

	protected BaseEditor editor;

	public JSONDialog(BPMNEditor editor) {
		this.editor = editor;
	}

	public JSONDialog initDialog() {
		return (JSONDialog) super.initDialog();
	}

	public JSONDialog initDialog(String optButton) {
		return (JSONDialog) super.initDialog(optButton);
	}

	public JSONDialog initDialog(boolean save) {
		return (JSONDialog) super.initDialog(save);
	}

	public JSONDialog initDialog(boolean save, String okButton) {
		return (JSONDialog) super.initDialog(save, okButton);
	}

	public JSONPanel getParentPanel() {
		return (JSONPanel) parentPanel;
	}

	public BPMNEditor getEditor() {
		return (BPMNEditor) editor;
	}

	public void editObject(Object obj) {
		editObject(null, obj, "");
	}

	public void editObject(Object obj, String type) {
		editObject(null, obj, type);
	}

	public void editObject(Panel parentPanel, Object obj, String type) {
		this.parentPanel = parentPanel;
		panelContainer.setActiveObject(obj, type);
		setTitle(Resources.get(type));
		setDialogVisible();
	}

	protected void init() {
		panelContainer = new JSONPanelContainer(this);
	}

	public void save() {
		panelContainer.apply();
		if (save) {
			editor.getGraphComponent().getGraph().getModel().fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", new mxUndoableEdit(null)));
		}
		dispose();
	}

	public void close() {
		if (panelContainer.isModified() && save) {
			int sw = panelContainer.showModifiedWarning();
			if (sw == JOptionPane.CANCEL_OPTION) {
				return;
			} else if (sw == JOptionPane.YES_OPTION) {
				editor.getGraphComponent().getGraph().getModel().fireEvent(new mxEventObject(mxEvent.CHANGE, "edit", new mxUndoableEdit(null)));
			}
		}
		setVisible(false);
		dispose();
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy