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/MainForm.cs

using System;
using System.ComponentModel;
using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp.Utils;
using DevExpress.ExpressApp.Win.SystemModule;
using DevExpress.ExpressApp.Win.Templates.ActionContainers;
using DevExpress.XtraBars;
using DevExpress.XtraBars.Docking;
using System.Text;
using System.IO;

namespace DevExpress.ExpressApp.Win.Templates {
    public partial class MainForm : MainFormTemplateBase, IDockManagerHolder, ISupportClassicToRibbonTransform
    {
        public override void SetSettings(IModelTemplate modelTemplate) {
            base.SetSettings(modelTemplate);
            navigation.Model = TemplatesHelper.GetNavBarCustomizationNode();
            formStateModelSynchronizerComponent.Model = GetFormStateNode();
            modelSynchronizationManager.ModelSynchronizableComponents.Add(navigation);
        }
        protected virtual void InitializeImages() {
            barMdiChildrenListItem.Glyph = ImageLoader.Instance.GetImageInfo("Action_WindowList").Image;
            barMdiChildrenListItem.LargeGlyph = ImageLoader.Instance.GetLargeImageInfo("Action_WindowList").Image;
            barSubItemPanels.Glyph = ImageLoader.Instance.GetImageInfo("Action_Navigation").Image;
            barSubItemPanels.LargeGlyph = ImageLoader.Instance.GetLargeImageInfo("Action_Navigation").Image;
        }
        public MainForm() {
            InitializeComponent();
            InitializeImages();
            UpdateMdiModeDependentProperties();
            documentManager.BarAndDockingController = mainBarAndDockingController;//B213762, B213764
            documentManager.MenuManager = mainBarManager;
            if(TemplateCreated != null) {
                TemplateCreated(this, EventArgs.Empty);
            }
        }
        public Bar ClassicStatusBar {
            get { return _statusBar; }
        }
        public DockPanel DockPanelNavigation {
            get { return dockPanelNavigation; }
        }
        public DockManager DockManager {
            get { return mainDockManager; }
        }
        protected override void UpdateMdiModeDependentProperties() {
            base.UpdateMdiModeDependentProperties();
            bool isMdi = UIType == UIType.StandardMDI || UIType == UIType.TabbedMDI;
            viewSitePanel.Visible = !isMdi;
            //Do not replace with ? operator (problems with convertion to VB)
            if(isMdi) {
                barSubItemWindow.Visibility = BarItemVisibility.Always;
                barMdiChildrenListItem.Visibility = BarItemVisibility.Always;
            }
            else {
                barSubItemWindow.Visibility = BarItemVisibility.Never;
                barMdiChildrenListItem.Visibility = BarItemVisibility.Never;
            }
        }
        protected override void OnLoad(EventArgs e) {
            base.OnLoad(e);
            if(ModelTemplate != null && !string.IsNullOrEmpty(ModelTemplate.DockManagerSettings)) {
                MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(ModelTemplate.DockManagerSettings));
                DockManager.SerializationOptions.RestoreDockPanelsText = false;
                DockManager.RestoreLayoutFromStream(stream);
            }
        }
        protected override void OnClosing(CancelEventArgs e) {
            if(ModelTemplate != null) {
                MemoryStream stream = new MemoryStream();
                DockManager.SaveLayoutToStream(stream);
                ModelTemplate.DockManagerSettings = Encoding.UTF8.GetString(stream.ToArray());
            }
            base.OnClosing(e);
        }
        private void mainBarManager_Disposed(object sender, System.EventArgs e) {
            if(this.mainBarManager != null) {
                this.mainBarManager.Disposed -= new System.EventHandler(mainBarManager_Disposed);
            }
            modelSynchronizationManager.ModelSynchronizableComponents.Remove(barManager);
            this.barManager = null;
            this.mainBarManager = null;
            this._mainMenuBar = null;
            this._statusBar = null;
            this.standardToolBar = null;
            this.barDockControlBottom = null;
            this.barDockControlLeft = null;
            this.barDockControlRight = null;
            this.barDockControlTop = null;
        }

        public static event EventHandler<EventArgs> TemplateCreated;
    }
}