239 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			239 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Drawing;
 | 
						|
using System.Collections;
 | 
						|
using System.ComponentModel;
 | 
						|
using System.Windows.Forms;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar
 | 
						|
{
 | 
						|
	/// <summary>
 | 
						|
	/// Summary description for NavPaneOptions.
 | 
						|
	/// </summary>
 | 
						|
	public class NavPaneOptions : System.Windows.Forms.Form
 | 
						|
	{
 | 
						|
		internal System.Windows.Forms.Label labelListCaption;
 | 
						|
		private NavigationBarContainer m_NavBar=null;
 | 
						|
		private System.Windows.Forms.CheckedListBox lbButtons;
 | 
						|
		internal System.Windows.Forms.Button cmdMoveUp;
 | 
						|
        internal System.Windows.Forms.Button cmdMoveDown;
 | 
						|
        internal System.Windows.Forms.Button cmdReset;
 | 
						|
        internal System.Windows.Forms.Button cmdOK;
 | 
						|
        internal System.Windows.Forms.Button cmdCancel;
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Required designer variable.
 | 
						|
		/// </summary>
 | 
						|
		private System.ComponentModel.Container components = null;
 | 
						|
 | 
						|
		public NavPaneOptions()
 | 
						|
		{
 | 
						|
			//
 | 
						|
			// Required for Windows Form Designer support
 | 
						|
			//
 | 
						|
			InitializeComponent();
 | 
						|
            cmdReset.Visible = false;
 | 
						|
		}
 | 
						|
 | 
						|
		public NavigationBarContainer NavBarContainer
 | 
						|
		{
 | 
						|
			get {return m_NavBar;}
 | 
						|
			set 
 | 
						|
			{
 | 
						|
				m_NavBar=value;
 | 
						|
				ContainerChanged();
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		/// <summary>
 | 
						|
		/// Clean up any resources being used.
 | 
						|
		/// </summary>
 | 
						|
		protected override void Dispose( bool disposing )
 | 
						|
		{
 | 
						|
			if( disposing )
 | 
						|
			{
 | 
						|
				if(components != null)
 | 
						|
				{
 | 
						|
					components.Dispose();
 | 
						|
				}
 | 
						|
			}
 | 
						|
			base.Dispose( disposing );
 | 
						|
		}
 | 
						|
 | 
						|
		private void ContainerChanged()
 | 
						|
		{
 | 
						|
			lbButtons.Items.Clear();
 | 
						|
			if(m_NavBar==null)
 | 
						|
				return;
 | 
						|
			foreach(BaseItem item in m_NavBar.SubItems)
 | 
						|
			{
 | 
						|
				lbButtons.Items.Add(item,item.Visible);
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		#region Windows Form Designer generated code
 | 
						|
		/// <summary>
 | 
						|
		/// Required method for Designer support - do not modify
 | 
						|
		/// the contents of this method with the code editor.
 | 
						|
		/// </summary>
 | 
						|
		private void InitializeComponent()
 | 
						|
		{
 | 
						|
			this.labelListCaption = new System.Windows.Forms.Label();
 | 
						|
			this.lbButtons = new System.Windows.Forms.CheckedListBox();
 | 
						|
			this.cmdMoveUp = new System.Windows.Forms.Button();
 | 
						|
			this.cmdMoveDown = new System.Windows.Forms.Button();
 | 
						|
			this.cmdReset = new System.Windows.Forms.Button();
 | 
						|
			this.cmdOK = new System.Windows.Forms.Button();
 | 
						|
			this.cmdCancel = new System.Windows.Forms.Button();
 | 
						|
			this.SuspendLayout();
 | 
						|
			// 
 | 
						|
			// label1
 | 
						|
			// 
 | 
						|
			this.labelListCaption.AutoSize = true;
 | 
						|
			this.labelListCaption.Location = new System.Drawing.Point(8, 8);
 | 
						|
			this.labelListCaption.Name = "labelListCaption";
 | 
						|
			this.labelListCaption.Size = new System.Drawing.Size(144, 13);
 | 
						|
			this.labelListCaption.TabIndex = 0;
 | 
						|
			this.labelListCaption.Text = "Display &buttons in this order";
 | 
						|
			// 
 | 
						|
			// lbButtons
 | 
						|
			// 
 | 
						|
			this.lbButtons.Location = new System.Drawing.Point(8, 32);
 | 
						|
			this.lbButtons.Name = "lbButtons";
 | 
						|
			this.lbButtons.Size = new System.Drawing.Size(210, 109);
 | 
						|
			this.lbButtons.TabIndex = 1;
 | 
						|
			this.lbButtons.SelectedIndexChanged += new System.EventHandler(this.lbButtons_SelectedIndexChanged);
 | 
						|
			// 
 | 
						|
			// cmdMoveUp
 | 
						|
			// 
 | 
						|
			this.cmdMoveUp.FlatStyle = System.Windows.Forms.FlatStyle.System;
 | 
						|
			this.cmdMoveUp.Location = new System.Drawing.Point(224, 32);
 | 
						|
			this.cmdMoveUp.Name = "cmdMoveUp";
 | 
						|
			this.cmdMoveUp.TabIndex = 2;
 | 
						|
			this.cmdMoveUp.Text = "Move &Up";
 | 
						|
			this.cmdMoveUp.Click += new System.EventHandler(this.cmdMoveUp_Click);
 | 
						|
			// 
 | 
						|
			// cmdMoveDown
 | 
						|
			// 
 | 
						|
			this.cmdMoveDown.FlatStyle = System.Windows.Forms.FlatStyle.System;
 | 
						|
			this.cmdMoveDown.Location = new System.Drawing.Point(224, 64);
 | 
						|
			this.cmdMoveDown.Name = "cmdMoveDown";
 | 
						|
			this.cmdMoveDown.TabIndex = 3;
 | 
						|
			this.cmdMoveDown.Text = "Move &Down";
 | 
						|
			this.cmdMoveDown.Click += new System.EventHandler(this.cmdMoveDown_Click);
 | 
						|
			// 
 | 
						|
			// cmdReset
 | 
						|
			// 
 | 
						|
			this.cmdReset.FlatStyle = System.Windows.Forms.FlatStyle.System;
 | 
						|
			this.cmdReset.Location = new System.Drawing.Point(224, 104);
 | 
						|
			this.cmdReset.Name = "cmdReset";
 | 
						|
			this.cmdReset.TabIndex = 4;
 | 
						|
			this.cmdReset.Text = "&Reset";
 | 
						|
			this.cmdReset.Click += new System.EventHandler(this.cmdReset_Click);
 | 
						|
			// 
 | 
						|
			// cmdOK
 | 
						|
			// 
 | 
						|
			this.cmdOK.DialogResult = System.Windows.Forms.DialogResult.OK;
 | 
						|
			this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
 | 
						|
			this.cmdOK.Location = new System.Drawing.Point(144, 152);
 | 
						|
			this.cmdOK.Name = "cmdOK";
 | 
						|
			this.cmdOK.TabIndex = 5;
 | 
						|
			this.cmdOK.Text = "OK";
 | 
						|
			this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
 | 
						|
			// 
 | 
						|
			// cmdCancel
 | 
						|
			// 
 | 
						|
			this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
 | 
						|
			this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
 | 
						|
			this.cmdCancel.Location = new System.Drawing.Point(224, 152);
 | 
						|
			this.cmdCancel.Name = "cmdCancel";
 | 
						|
			this.cmdCancel.TabIndex = 6;
 | 
						|
			this.cmdCancel.Text = "Cancel";
 | 
						|
			// 
 | 
						|
			// NavPaneOptions
 | 
						|
			// 
 | 
						|
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
 | 
						|
			this.ClientSize = new System.Drawing.Size(304, 182);
 | 
						|
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
 | 
						|
																		  this.cmdCancel,
 | 
						|
																		  this.cmdOK,
 | 
						|
																		  this.cmdReset,
 | 
						|
																		  this.cmdMoveDown,
 | 
						|
																		  this.cmdMoveUp,
 | 
						|
																		  this.lbButtons,
 | 
						|
																		  this.labelListCaption});
 | 
						|
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 | 
						|
			this.MaximizeBox = false;
 | 
						|
			this.MinimizeBox = false;
 | 
						|
			this.Name = "NavPaneOptions";
 | 
						|
			this.ShowInTaskbar = false;
 | 
						|
			this.Text = "Navigation Pane Options";
 | 
						|
			this.ResumeLayout(false);
 | 
						|
 | 
						|
		}
 | 
						|
		#endregion
 | 
						|
 | 
						|
		private void lbButtons_SelectedIndexChanged(object sender, System.EventArgs e)
 | 
						|
		{
 | 
						|
			if(lbButtons.SelectedIndex==0)
 | 
						|
				cmdMoveUp.Enabled=false;
 | 
						|
			else
 | 
						|
				cmdMoveUp.Enabled=true;
 | 
						|
 | 
						|
			if(lbButtons.SelectedIndex==lbButtons.Items.Count-1)
 | 
						|
				cmdMoveDown.Enabled=false;
 | 
						|
			else
 | 
						|
                cmdMoveDown.Enabled=true;
 | 
						|
		}
 | 
						|
 | 
						|
		private void cmdMoveUp_Click(object sender, System.EventArgs e)
 | 
						|
		{
 | 
						|
			if(lbButtons.SelectedIndex<0)
 | 
						|
				return;
 | 
						|
			BaseItem item=lbButtons.SelectedItem as BaseItem;
 | 
						|
			int i=lbButtons.SelectedIndex;
 | 
						|
            bool isChecked = lbButtons.GetItemChecked(i);
 | 
						|
			lbButtons.Items.RemoveAt(i);
 | 
						|
			i--;
 | 
						|
			lbButtons.Items.Insert(i,item);
 | 
						|
            lbButtons.SetItemChecked(i, isChecked);
 | 
						|
			lbButtons.SelectedIndex=i;
 | 
						|
		}
 | 
						|
 | 
						|
		private void cmdMoveDown_Click(object sender, System.EventArgs e)
 | 
						|
		{
 | 
						|
			if(lbButtons.SelectedIndex<0)
 | 
						|
				return;
 | 
						|
			BaseItem item=lbButtons.SelectedItem as BaseItem;
 | 
						|
			int i=lbButtons.SelectedIndex;
 | 
						|
            bool isChecked = lbButtons.GetItemChecked(i);
 | 
						|
			lbButtons.Items.RemoveAt(i);
 | 
						|
			i++;
 | 
						|
			lbButtons.Items.Insert(i,item);
 | 
						|
			lbButtons.SetItemChecked(i,isChecked);
 | 
						|
			lbButtons.SelectedIndex=i;
 | 
						|
		}
 | 
						|
 | 
						|
		private void cmdReset_Click(object sender, System.EventArgs e)
 | 
						|
		{
 | 
						|
		    
 | 
						|
		}
 | 
						|
 | 
						|
		private void cmdOK_Click(object sender, System.EventArgs e)
 | 
						|
		{
 | 
						|
			m_NavBar.SuspendLayout=true;
 | 
						|
			m_NavBar.SubItems._Clear();
 | 
						|
			for(int i=0;i<lbButtons.Items.Count;i++)
 | 
						|
			{
 | 
						|
				BaseItem item=lbButtons.Items[i] as BaseItem;
 | 
						|
				item.Visible=lbButtons.GetItemChecked(i);
 | 
						|
				m_NavBar.SubItems._Add(item);
 | 
						|
			}
 | 
						|
			m_NavBar.SuspendLayout=false;
 | 
						|
            if (m_NavBar.ContainerControl is BarBaseControl)
 | 
						|
                ((BarBaseControl)m_NavBar.ContainerControl).RecalcLayout();
 | 
						|
            m_NavBar.OptionsDialogClosed();
 | 
						|
		}
 | 
						|
 | 
						|
	}
 | 
						|
}
 |