/** Licensed Materials - Property of IBM IBM Cognos Products: DOCS (C) Copyright IBM Corp. 2005, 2008 US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ // Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved. // Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated). using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Reflection; using cognosdotnet_10_2; namespace SamplesCommon { /// /// The main window for sample programs. /// /// Add an event handler to Actions.Click to perform the action /// demonstrated by this sample. /// /// Add an Activated event handler to this window to set the /// applicationName, applicationVersion, applicationAction, and /// applicationTitle properties. /// public class SamplesWindow : System.Windows.Forms.Form { private System.Windows.Forms.MainMenu mainMenu; private System.Windows.Forms.MenuItem menuItem1; private System.Windows.Forms.MenuItem menuItem3; private System.Windows.Forms.TextBox urlText; private System.Windows.Forms.Label label1; private System.Windows.Forms.ListBox resultsBox; private System.Windows.Forms.Button actionButton; private System.Windows.Forms.MenuItem menuExit; private System.Windows.Forms.MenuItem menuAbout; private IContainer components; public SamplesWindow() { // // Required for Windows Form Designer support // InitializeComponent(); this.Activated += new EventHandler( SamplesWindow_Activated ); System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false; } /// /// 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() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SamplesWindow)); this.mainMenu = new System.Windows.Forms.MainMenu(this.components); this.menuItem1 = new System.Windows.Forms.MenuItem(); this.menuExit = new System.Windows.Forms.MenuItem(); this.menuItem3 = new System.Windows.Forms.MenuItem(); this.menuAbout = new System.Windows.Forms.MenuItem(); this.urlText = new System.Windows.Forms.TextBox(); this.actionButton = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.resultsBox = new System.Windows.Forms.ListBox(); this.SuspendLayout(); // // mainMenu // this.mainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuItem1, this.menuItem3}); // // menuItem1 // this.menuItem1.Index = 0; this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuExit}); this.menuItem1.Text = "File"; // // menuExit // this.menuExit.Index = 0; this.menuExit.Text = "Exit"; this.menuExit.Click += new System.EventHandler(this.menuExit_Click); // // menuItem3 // this.menuItem3.Index = 1; this.menuItem3.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.menuAbout}); this.menuItem3.Text = "Help"; // // menuAbout // this.menuAbout.Index = 0; this.menuAbout.Text = "About..."; this.menuAbout.Click += new System.EventHandler(this.menuAbout_Click); // // urlText // this.urlText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.urlText.Location = new System.Drawing.Point(240, 24); this.urlText.Name = "urlText"; this.urlText.Size = new System.Drawing.Size(319, 20); this.urlText.TabIndex = 0; this.urlText.Text = "http://localhost:9300/p2pd/servlet/dispatch"; // // actionButton // this.actionButton.Location = new System.Drawing.Point(16, 16); this.actionButton.Name = "actionButton"; this.actionButton.Size = new System.Drawing.Size(96, 32); this.actionButton.TabIndex = 2; this.actionButton.Text = "(Action)"; // // label1 // this.label1.Location = new System.Drawing.Point(118, 24); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(116, 16); this.label1.TabIndex = 3; this.label1.Text = "Server URL:"; this.label1.TextAlign = System.Drawing.ContentAlignment.BottomRight; // // resultsBox // this.resultsBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.resultsBox.HorizontalScrollbar = true; this.resultsBox.Location = new System.Drawing.Point(16, 64); this.resultsBox.Name = "resultsBox"; this.resultsBox.Size = new System.Drawing.Size(543, 160); this.resultsBox.TabIndex = 4; // // SamplesWindow // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(575, 241); this.Controls.Add(this.resultsBox); this.Controls.Add(this.label1); this.Controls.Add(this.actionButton); this.Controls.Add(this.urlText); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Menu = this.mainMenu; this.Name = "SamplesWindow"; this.Text = "IBM Cognos Samples"; this.ResumeLayout(false); this.PerformLayout(); } #endregion private string app_name = null; private string app_version = null; /// /// The application's name, as shown in the About dialog box. /// public string applicationName { set { app_name = value; } get { return app_name; } } /// /// The application's version string, as shown in the About dialog box. /// public string applicationVersion { set { app_version = value; } get { return app_version; } } /// /// The application's action string, as shown on the button in the main window. /// public string applicationAction { set { actionButton.Text = value; } get { return actionButton.Text; } } /// /// The application's main window title bar string. /// public string applicationTitle { set { this.Text = value; } get { return this.Text; } } /// /// Actions launched by the Action button. /// /// Add event handlers to the Click event of this object. /// public System.Windows.Forms.Button Actions { get { return actionButton; } } /// /// Return the Server URL. /// public string serverUrl { get { return urlText.Text; } } /// /// Add a single line of text to the output window. /// /// A line of text. public void AddText( string text ) { resultsBox.Items.Add( text ); } /// /// Add several lines of text to the output window. /// /// An array of text. public void AddText( string[] text ) { foreach( string s in text ) { AddText( s ); } } /// /// Add several lines of text (all in one string, separated by \n /// characters) to the output window. /// /// A string containing several lines of text. public void AddTextLines( string text ) { string split_on = "\n"; AddText( text.Split( split_on.ToCharArray() ) ); } /// /// The user has chosen Exit from the File menu. /// /// What object sent this event? (not used) /// Event arguments (not used) private void menuExit_Click( object sender, System.EventArgs e ) { this.Close(); } /// /// The user has chosen About... from the Help menu. /// /// Display the About dialog. /// /// What object sent this event? (not used) /// Event arguments (not used) private void menuAbout_Click( object sender, System.EventArgs e ) { SamplesAbout about = new SamplesAbout(); about.Activated += new EventHandler( about_Activated ); about.Show(); } /// /// The About window has been activated; we need to set up the strings /// that are displayed there. /// /// Who sent this event? /// Event arguments (not used) private void about_Activated( object sender, EventArgs e ) { SamplesAbout about = (SamplesAbout)sender; about.applicationName = this.applicationName; about.applicationVersion = this.applicationVersion; } private static bool wasActivated = false; /// /// This window has been activated; clear out the results box. /// /// Also gets default application name and version information /// from the assembly. /// /// Who sent this event? (not used) /// Event arguments (not used) private void SamplesWindow_Activated( object sender, EventArgs e ) { if( !wasActivated ) { resultsBox.Items.Clear(); wasActivated = true; } } } }