using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BizHawk.Client.EmuHawk
{
///
/// implements a minimal dialog for configuring JMDWriter
///
public partial class JMDForm : Form
{
public JMDForm()
{
InitializeComponent();
}
private void okButton_Click(object sender, EventArgs e)
{
}
private void cancelButton_Click(object sender, EventArgs e)
{
}
private void threadsBar_Scroll(object sender, EventArgs e)
{
threadTop.Text = String.Format("Number of compression threads: {0}", threadsBar.Value);
}
private void compressionBar_Scroll(object sender, EventArgs e)
{
if (compressionBar.Value == compressionBar.Minimum)
compressionTop.Text = "Compression Level: NONE";
else
compressionTop.Text = String.Format("Compression Level: {0}", compressionBar.Value);
}
///
/// Show a configuration dialog (modal) for JMDWriter
///
/// number of threads
/// compression level
/// minimum possible number of threads
/// maximum possible number of threads
/// minimum compression level, assumed to be "no compression"
/// maximum compression level
/// hwnd of parent
/// false if user canceled; true if user consented
public static bool DoCompressionDlg(ref int threads, ref int complevel, int tmin, int tmax, int cmin, int cmax, IWin32Window hwnd)
{
JMDForm j = new JMDForm();
j.threadsBar.Minimum = tmin;
j.threadsBar.Maximum = tmax;
j.compressionBar.Minimum = cmin;
j.compressionBar.Maximum = cmax;
j.threadsBar.Value = threads;
j.compressionBar.Value = complevel;
j.threadsBar_Scroll(null, null);
j.compressionBar_Scroll(null, null);
j.threadLeft.Text = String.Format("{0}", tmin);
j.threadRight.Text = String.Format("{0}", tmax);
j.compressionLeft.Text = String.Format("{0}", cmin);
j.compressionRight.Text = String.Format("{0}", cmax);
DialogResult d = j.ShowDialog(hwnd);
threads = j.threadsBar.Value;
complevel = j.compressionBar.Value;
j.Dispose();
if (d == DialogResult.OK)
return true;
else
return false;
}
}
}