Mini Kabibi Habibi
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
}
}