Mini Kabibi Habibi

Current Path : C:/Program Files (x86)/DevExpress/DXperience 13.1/Sources/FrameTemplates/CS/
Upload File :
Current File : C:/Program Files (x86)/DevExpress/DXperience 13.1/Sources/FrameTemplates/CS/LookupForm.cs

using System;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp.Win.Utils;

namespace DevExpress.ExpressApp.Win.Templates {
	public partial class LookupForm : XtraFormTemplateBase, ILookupPopupFrameTemplate {
		private const int minWidth = 420;
		private const int minHeight = 150;
		private LookupControlTemplate frameTemplate;
        private void ButtonsContainersPanel_Changed(object sender, EventArgs e) {
            frameTemplate.ButtonsContainersPanel.MaximumSize = new Size(0, frameTemplate.ButtonsContainersPanel.Root.MinSize.Height);
        }
        protected override IModelFormState GetFormStateNode() {
            if(View != null) {
                return TemplatesHelper.GetFormStateNode(View.Id);
            }
            else {
                return base.GetFormStateNode();
            }
        }
        protected override void OnShown(EventArgs e) {
			base.OnShown(e);
			// B31321
			if(frameTemplate.IsSearchEnabled) {
				frameTemplate.FindEditor.Focus();
			}
		}
        protected override void Dispose(bool disposing) {
            if(disposing && (components != null)) {
                components.Dispose();
                frameTemplate.ButtonsContainersPanel.Changed -= new EventHandler(ButtonsContainersPanel_Changed);
            }
            base.Dispose(disposing);
        }
        protected override DevExpress.XtraBars.Ribbon.RibbonFormStyle RibbonFormStyle {
            get {
                return DevExpress.XtraBars.Ribbon.RibbonFormStyle.Standard;
            }
        }
        public override void SetSettings(IModelTemplate modelTemplate) {
            base.SetSettings(modelTemplate);
            formStateModelSynchronizerComponent.Model = GetFormStateNode();
        }
		public LookupForm() {
			InitializeComponent();
			MinimumSize = new Size(minWidth, minHeight);
			StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
			NativeMethods.SetExecutingApplicationIcon(this);
			ShowInTaskbar = true;
			KeyPreview = true;
			frameTemplate = new LookupControlTemplate();
			Controls.Add(frameTemplate);
			frameTemplate.Dock = DockStyle.Fill;
            actionsContainersManager.ActionContainerComponents.AddRange(frameTemplate.GetContainers());
            actionsContainersManager.DefaultContainer = frameTemplate.DefaultContainer;
            viewSiteManager.ViewSiteControl = (Control)frameTemplate.ViewSiteControl;
            frameTemplate.ButtonsContainersPanel.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 12, 12, 0);
            Padding = new Padding(0, 0, 0, 12);
            frameTemplate.ButtonsContainersPanel.Changed += new EventHandler(ButtonsContainersPanel_Changed);
            //B180557
            frameTemplate.ButtonsContainersPanel.SendToBack();
          }
		public override void SetView(DevExpress.ExpressApp.View view) {
			frameTemplate.SetView(view);
            if(view != null) {
                SetFormIcon(view);
            }
            int nonClientWidth = Size.Width - ClientSize.Width + Padding.Size.Width;
            int nonClientHeight = Size.Height - ClientSize.Height + Padding.Size.Height;
			
			ClientSize = frameTemplate.PreferredSize;
			
			MinimumSize = new Size(
				Math.Max(frameTemplate.MinimumSize.Width + nonClientWidth, minWidth),
				Math.Max(frameTemplate.MinimumSize.Height + nonClientHeight, minHeight));
		}
		#region ILookupPopupFrameTemplate Members
		public void SetStartSearchString(string searchString) {
			frameTemplate.SetStartSearchString(searchString);
		}
		public bool IsSearchEnabled {
			get { return frameTemplate.IsSearchEnabled; }
			set { frameTemplate.IsSearchEnabled = value; }
		}
        public void FocusFindEditor() { }
		#endregion		
	}
}