/**
Licensed Materials - Property of IBM
IBM Cognos Products: DOCS
(C) Copyright IBM Corp. 2005
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace SamplesCommon
{
///
/// A simple text input dialog.
///
public class SamplesInput : System.Windows.Forms.Form {
private System.Windows.Forms.Label descriptionText;
private System.Windows.Forms.TextBox dataText;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public bool isOKed = false;
public bool isCanceled = false;
public SamplesInput() {
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing ) {
if( disposing ) {
if(components != null) {
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent() {
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(SamplesInput));
this.descriptionText = new System.Windows.Forms.Label();
this.dataText = new System.Windows.Forms.TextBox();
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// descriptionText
//
this.descriptionText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.descriptionText.Location = new System.Drawing.Point(16, 16);
this.descriptionText.Name = "descriptionText";
this.descriptionText.Size = new System.Drawing.Size(344, 23);
this.descriptionText.TabIndex = 0;
this.descriptionText.Text = "(input description)";
this.descriptionText.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
//
// dataText
//
this.dataText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dataText.Location = new System.Drawing.Point(16, 48);
this.dataText.Name = "dataText";
this.dataText.Size = new System.Drawing.Size(344, 20);
this.dataText.TabIndex = 1;
this.dataText.Text = "";
this.dataText.KeyDown += new KeyEventHandler(this.dataText_OnKeyPress);
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.okButton.Location = new System.Drawing.Point(200, 80);
this.okButton.Name = "okButton";
this.okButton.TabIndex = 2;
this.okButton.Text = "OK";
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// cancelButton
//
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.Location = new System.Drawing.Point(288, 80);
this.cancelButton.Name = "cancelButton";
this.cancelButton.TabIndex = 3;
this.cancelButton.Text = "Cancel";
//
// SamplesInput
//
this.AcceptButton = this.okButton;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.cancelButton;
this.ClientSize = new System.Drawing.Size(376, 110);
this.ControlBox = false;
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Controls.Add(this.dataText);
this.Controls.Add(this.descriptionText);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SamplesInput";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "(Input Title)";
this.ResumeLayout(false);
}
#endregion
///
/// Get input from the user.
///
/// Shows the window as a modal dialog, and returns the string input.
/// Throws SamplesInputException if the user clicks Cancel instead.
///
/// Descriptive text for the input dialog.
/// Default value (use "" if none).
/// The text input by the user.
public string getInput( string title, string description, string default_value ) {
if ( (title == null) || (0 == title.CompareTo("")) )
{
this.Text = "";
}
else
{
this.Text = title;
}
if ( (description == null) || (0 == description.CompareTo("")) )
{
descriptionText.Text = "";
}
else
{
descriptionText.Text = description;
}
if ( (default_value == null) || (0 == default_value.CompareTo("")) )
{
dataText.Text = "";
}
else
{
dataText.Text = default_value;
}
DialogResult result = ShowDialog();
if( result == DialogResult.Cancel )
{
throw new SamplesInputException( "INPUT_CANCELLED_BY_USER" );
}
return dataText.Text;
}
private void okButton_Click(object sender, System.EventArgs e)
{
isOKed = true;
if ( (dataText.Text == null) || (0 == dataText.Text.CompareTo("")) )
{
MessageBox.Show("Please enter a name for the report to be created.");
}
else
{
this.Close();
}
}
private void dataText_OnKeyPress(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
okButton_Click(sender, e);
}
}
}
///
/// Exception thrown by the simple text input dialog when you click Cancel.
///
public class SamplesInputException : System.Exception
{
public SamplesInputException( string message )
: base( message )
{
}
}
}