/*
* (c) Copyright 2009 Tim Jenkins
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
package com.screenrunner.ui;
import javax.swing.JDialog;
import com.screenrunner.ScreenRunner;
import com.screenrunner.data.I18n;
import cookxml.cookswing.CookSwing;
public abstract class CookSwingDialog {
public static final int RESULT_OK = 0;
public static final int RESULT_CANCEL = 1;
public static final int showDialog(CookSwingDialog dlg) {
CookSwing renderer = new CookSwing(dlg);
renderer.setUserStringHook(I18n.getStringHook());
JDialog d = (JDialog)renderer.render(dlg.getDialogXml());
d.setIconImages(ScreenRunner.icons);
dlg.initDialog();
d.setModal(true);
d.setVisible(true);
return dlg.getDialogResult();
}
public final int showDialog() {
return CookSwingDialog.showDialog(this);
}
protected int dialogResult = RESULT_CANCEL;
protected abstract String getDialogXml();
protected abstract void initDialog();
public final int getDialogResult() { return dialogResult; }
public final void setDialogResult(int value) { dialogResult = value; }
}