using System; using System.Diagnostics; using System.Drawing; using System.IO; using System.Windows.Forms; using DevExpress.LookAndFeel; using DevExpress.Tutorials.Controls; using DevExpress.Utils; using DevExpress.XtraBars.Ribbon; using DevExpress.XtraBars.Ribbon.Gallery; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.Utils.Taskbar; using DevExpress.XtraSplashScreen; using DevExpress.Skins; using DevExpress.Utils.Colors; using DevExpress.XtraEditors.ColorWheel; using DevExpress.XtraEditors.Popup; using System.Collections.Generic; using DevExpress.Utils.Helpers; using DevExpress.XtraPrinting; using System.Drawing.Imaging; using System.Drawing.Printing; using DevExpress; using DevExpress.XtraBars; using DevExpress.XtraBars.Ribbon; using Hydro.MapView; namespace Hydro.WinfrmUI.Viewer { public partial class frmMain : DevExpress.XtraBars.Ribbon.RibbonForm { public frmMain() { InitializeComponent(); UserLookAndFeel.Default.SetSkinStyle("Office 2019 Colorful"); } private ViewBrowser _viewBrowser; private void frmMain_Load(object sender, System.EventArgs e) { ribbonControl1.ForceInitialize(); //GalleryDropDown skins = new GalleryDropDown(); //skins.Ribbon = ribbonControl1; //DevExpress.XtraBars.Helpers.SkinHelper.InitSkinGalleryDropDown(skins); //iPaintStyle.DropDownControl = skins; CreateNewDocument(@"D:\WorkData\YiWei\Hydro\Hydro.V1.1\out\xiaofang.inp"); _viewBrowser = CurrentForm.GetBrowser(); ; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); SplashScreenManager.CloseForm(false); } protected override void OnShown(EventArgs e) { base.OnShown(e); } private int documentIndex = 0; private GalleryItem fCurrentFontItem, fCurrentColorItem; private void CreateNewDocument() { CreateNewDocument(null); } public void ShowHideFormatCategory() { RibbonPageCategory selectionCategory = Ribbon.PageCategories[0] as RibbonPageCategory; if (selectionCategory == null) return; if (selectionCategory.Visible) Ribbon.SelectedPage = selectionCategory.Pages[0]; } private void CreateNewDocument(string fileName) { if (string.IsNullOrEmpty(fileName)) { return; } documentIndex++; frmDoc pad = new frmDoc(); var viewer = pad.LoadDocument(fileName); if (viewer == null) { return; } viewer.OnChangeMonseClickPostion += (x, y, posi) => { label_mouse.Caption = $"X£º{x.ToString("0")} Y£º{y.ToString("0")} [Map]X£º{posi.X.ToString("0.00")} Y£º{posi.Y.ToString("0.00")}"; }; viewer.OnChangeViewCenter += (posi) => { label_center.Caption = $"center£º({posi.X.ToString("0.00")} £¬{posi.Y.ToString("0.00")}£©"; }; viewer.OnChangeViewZoom += (zoom) => { label_zoom.Caption = $"Zoom£º{zoom.ToString("0.000")}"; }; viewer.OnChangeViewOrtho += (bol) => { label_ZZ.Checked = bol; //if (mapOption.IsOrtho) //{ // label_ZZ.Text = "Õý½»Ä£Ê½:¿ª"; //} //else //{ // label_ZZ.Text = "Õý½»Ä£Ê½:¹Ø"; //} }; viewer.OnChangeViewRotation += (r1, r2) => { label_rotation.Caption = $"Rotation£º({r1.ToString("0")}£¬{r2.ToString("0")})"; }; pad.MdiParent = this; pad.Closed += new EventHandler(Pad_Closed); pad.Show(); } private void pad_ShowMiniToolbar(object sender, EventArgs e) { if (string.IsNullOrEmpty(((RichTextBox)sender).SelectedText)) return; ShowSelectionMiniToolbar(); } private void Pad_Closed(object sender, EventArgs e) { CloseFind(); } private void Pad_ShowPopupMenu(object sender, EventArgs e) { pmMain.RibbonToolbar = selectionMiniToolbar; pmMain.ShowPopup(Control.MousePosition); } private void CloseFind() { } #region Init private void frmMain_Activated(object sender, System.EventArgs e) { InitDocument(); } private void ChangeActiveForm() { CloseFind(); } private void xtraTabbedMdiManager1_FloatMDIChildActivated(object sender, EventArgs e) { ChangeActiveForm(); } private void xtraTabbedMdiManager1_FloatMDIChildDeactivated(object sender, EventArgs e) { BeginInvoke(new MethodInvoker(ChangeActiveForm)); } private void frmMain_MdiChildActivate(object sender, System.EventArgs e) { ChangeActiveForm(); } private void InitDocument() { } protected virtual void ShowSelectionMiniToolbar() { Point pt = Control.MousePosition; pt.Offset(0, -11); selectionMiniToolbar.Alignment = ContentAlignment.TopRight; selectionMiniToolbar.PopupMenu = null; selectionMiniToolbar.Show(pt); } private void InitCurrentDocument(RichTextBox rtbControl) { bool _enabled = rtbControl != null; iSaveAs.Enabled = _enabled; iOpenByEpa.Enabled = _enabled; sbiSave.Enabled = _enabled; iFind.Enabled = _enabled; } #endregion Init #region Properties private frmDoc CurrentForm { get { if (this.ActiveMdiChild == null) return null; if (xtraTabbedMdiManager1.ActiveFloatForm != null) return xtraTabbedMdiManager1.ActiveFloatForm as frmDoc; return this.ActiveMdiChild as frmDoc; } } #endregion Properties #region File private void idNew_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { CreateNewDocument(); } private void iOpenByEpa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { // Process.Start(@"epanetH\Epanet2wH.exe", _filePath); } private void iClear_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (CurrentForm != null) CurrentForm.Close(); } public void OpenFile(string name) { CreateNewDocument(name); } private bool CheckForOverlap(RecentPinItem pinItem, RecentItemCollection recentItemCollection) { foreach (RecentItemBase item in recentItemCollection) { RecentPinItem pItem = item as RecentPinItem; if (pItem != null && pinItem.Caption == pItem.Caption && pinItem.Description == pItem.Description) return true; } return false; } private void iOpen_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "INP Files (*.inp)|*.inp|All Files (*.*)|*.*"; if (this.CurrentForm == null) return; this._viewBrowser.OpenFile(openFileDialog.FileName); } private void iSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Save(); } private void iSaveAs_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SaveAs(); } private void Save() { if (CurrentForm == null) return; _viewBrowser.Save(); } private void SaveAs() { if (CurrentForm == null) return; SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Inp Files (*.inp)|*.inp"; saveFileDialog.InitialDirectory = Directory.GetCurrentDirectory() + $@"\template\"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { string filePath = saveFileDialog.FileName; _viewBrowser.SaveAs(filePath); } } private void bbiÒÔµ±Ç°ÊÓ½ÇÁí´æ_ItemClick(object sender, ItemClickEventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Inp Files (*.inp)|*.inp"; saveFileDialog.InitialDirectory = Directory.GetCurrentDirectory() + $@"\template\"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { string filePath = saveFileDialog.FileName; _viewBrowser.SaveAsByView(filePath); } } private void iExit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { Close(); } private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e) { } private void ribbonPageGroup1_CaptionButtonClick(object sender, DevExpress.XtraBars.Ribbon.RibbonPageGroupEventArgs e) { } private void ribbonPageGroup9_CaptionButtonClick(object sender, DevExpress.XtraBars.Ribbon.RibbonPageGroupEventArgs e) { SaveAs(); } #endregion File #region Ë¢ÐÂ, ÉÏÒ»²½, ÏÂÒ»²½ private void iUndo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { _viewBrowser.Undo(); } private void iRedo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { _viewBrowser.Redo(); } private void bbiË¢ÐÂ_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.Redo(); } private void ribbonPageGroup2_CaptionButtonClick(object sender, DevExpress.XtraBars.Ribbon.RibbonPageGroupEventArgs e) { pmMain.ShowPopup(ribbonControl1.Manager, MousePosition); } #endregion Ë¢ÐÂ, ÉÏÒ»²½, ÏÂÒ»²½ private void iAbout_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BarManager.About(); } private void ribbonControl1_ApplicationButtonDoubleClick(object sender, EventArgs e) { if (ribbonControl1.RibbonStyle == RibbonControlStyle.Office2007) this.Close(); } private void sbExit_Click(object sender, EventArgs e) { this.Close(); } private void label_ZZ_CheckedChanged(object sender, ItemClickEventArgs e) { _viewBrowser.IsOrtho = label_ZZ.Checked; } private void bvItemSave_ItemClick(object sender, BackstageViewItemEventArgs e) { Save(); } private void bvItemSaveAs_ItemClick(object sender, BackstageViewItemEventArgs e) { SaveAs(); } private void bvItemOpen_ItemClick(object sender, BackstageViewItemEventArgs e) { } private void bvItemClose_ItemClick(object sender, BackstageViewItemEventArgs e) { if (xtraTabbedMdiManager1.SelectedPage != null) xtraTabbedMdiManager1.SelectedPage.MdiChild.Close(); } private void bvItemExit_ItemClick(object sender, BackstageViewItemEventArgs e) { Close(); } private void ribbonControl1_ResetLayout(object sender, ResetLayoutEventArgs e) { ShowHideFormatCategory(); } private void OnNewDocThumbButtonClick(object sender, ThumbButtonClickEventArgs e) { CreateNewDocument(); } private void OnPrevThumbButtonClick(object sender, ThumbButtonClickEventArgs e) { Form mdiChild = GetPrevMdiChild(); if (mdiChild != null) ActivateMdiChild(mdiChild); } private void OnNextDocThumbButtonClick(object sender, ThumbButtonClickEventArgs e) { Form mdiChild = GetNextMdiChild(); if (mdiChild != null) ActivateMdiChild(mdiChild); } private void OnExitThumbButtonClick(object sender, ThumbButtonClickEventArgs e) { Close(); } private Form GetNextMdiChild() { if (ActiveMdiChild == null || MdiChildren.Length < 2) return null; int pos = Array.IndexOf(MdiChildren, ActiveMdiChild); return pos == MdiChildren.Length - 1 ? MdiChildren[0] : MdiChildren[pos + 1]; } private Form GetPrevMdiChild() { if (ActiveMdiChild == null || MdiChildren.Length < 2) return null; int pos = Array.IndexOf(MdiChildren, ActiveMdiChild); return pos == 0 ? MdiChildren[MdiChildren.Length - 1] : MdiChildren[pos - 1]; } private void OnTabbedMdiManagerPageCollectionChanged(object sender, DevExpress.XtraTabbedMdi.MdiTabPageEventArgs e) { UpdateThumbnailButtons(); } private void UpdateThumbnailButtons() { thumbButtonNext.Enabled = thumbButtonPrev.Enabled = MdiChildren.Length > 1; } private void bbiÆÕͨ״̬_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.ResetOperateStatus(); } private void bbiNewLink_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewLink(); } private void bbiÐÂÔö¹ÜÏß_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewLink(); } private void bbiÐÂÔöÁ¢¹Ü_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewVerticalLink(); } private void bbiÌí¼ÓË®³Ø_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewPool(); } private void bbiÌí¼ÓË®±Ã_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewPump(); } private void bbiÌí¼ÓË®¿â_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewTask(); } private void bbiÌí¼Ó·§ÃÅ_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewValve(); } private void bbiÌí¼ÓË®±í_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewWaterMeter(); } private void bbiÌí¼ÓÖØ¸´Æ÷_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.NewRepeater(); } private void bbiÇå¿Õ¾Ö²¿Ëðʧ_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.ClearMinorLoss(); } private void bbi¼ÆËã_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.Calc(); } #region ÊÓͼÉèÖà private void bbi¶«Î÷¶ÔÆë_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.¶«Î÷¶ÔÆëToolStripMenuItem(); } private void bbiÄϱ±¶ÔÆë_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.Äϱ±¶ÔÆëToolStripMenuItem(); } private void bbiÊúÖ±¶ÔÆë_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.ÊúÖ±¶ÔÆëToolStripMenuItem(); } private void bbi×Ô¶¯¶ÔÆë_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.×Ô¶¯¶ÔÆëToolStripMenuItem(); } private void bbiËõС2±¶_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.Ëõ·ÅToolStripMenuItem(); } private void bbiÖØÖÃÊÓ½Ç_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.ÖØÖÃÊÓ½ÇToolStripMenu(); } private void bbi90_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.toolÉèÖø©ÊӽǶÈ(e.Item.Caption); } private void bbiÅÅÁÐ_ItemClick(object sender, ItemClickEventArgs e) { } private void bsiˮƽÐýת_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.ˮƽÐýתToolStripMenuItem(); } private void bbi¸´ÖÆ_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.¸´ÖÆToolStripMenuItem(); } private void bbiÕ³Ìù_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.Õ³ÌùToolStripMenuItem(); } private void bbiɾ³ý_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.DeleteChoosedObj(); } private void bbiÏÔʾËùÓÐÂ¥²ã_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.ÏÔʾȫ²¿Â¥²ãToolStripMenuItem(); } private void bbi±£´æÂ¥²ãÊÓ½Ç_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.±£´æÂ¥²ãÊÓ½ÇToolStripMenuItem(); } private void bbiË¢ÐÂÂ¥²ã_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.Ë¢ÐÂÂ¥²ãToolStripMenuItem(); } #endregion ÊÓͼÉèÖà private void bbiCalcMiniLoss_ItemClick(object sender, ItemClickEventArgs e) { _viewBrowser.CalcLinkMinorLoss(); } } }