コード例 #1
0
        public async Task SaveAs()
        {
            CloseMenu?.Invoke();
            await Task.Delay(0);

            try
            {
                SaveFileDialog diagSaveDoc = new SaveFileDialog();
                diagSaveDoc.Filter = "Kritzel Documents|*.krit|PDF Files|*.pdf|JPEG (Current Page)|*.jpg|Windows Bitmap (Current Page)|*.bmp|Portable Network Graphic (Current Page)|*.png";
                if (diagSaveDoc.ShowDialog(window) == DialogResult.OK)
                {
                    FileInfo info = new FileInfo(diagSaveDoc.FileName);
                    string   ext  = info.Extension.ToLower();
                    if (ext == ".krit")
                    {
                        document.SaveDocument(diagSaveDoc.FileName);
                    }
                    else if (ext == ".pdf")
                    {
                        Dialogues.ProgressWindow wnd = new Dialogues.ProgressWindow("Save to PDF");
                        wnd.TopMost = true;
                        wnd.Show();
                        try
                        {
                            document.SavePDF(diagSaveDoc.FileName, wnd.ProgressBar);
                            //inkControl1.Page.SavePDF(sfd.FileName);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Error while saving File:\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        wnd.Close();
                    }
                    else if (ext == ".jpg" || ext == ".jpeg" || ext == ".bmp" || ext == ".png")
                    {
                        float    factor = 5;
                        KPage    page   = control.Page;
                        SizeF    size   = page.Format.GetPixelSize();
                        Bitmap   bmp    = new Bitmap((int)(size.Width * factor), (int)(size.Height * factor));
                        Graphics g      = Graphics.FromImage(bmp);
                        g.Clear(Color.White);
                        Renderer.GdiRenderer r = g.GetRenderer();
                        g.ScaleTransform(factor, factor);
                        page.DrawPDFHQ(r, bmp.Height);
                        page.Draw(r);
                        bmp.Save(diagSaveDoc.FileName);
                    }
                    else
                    {
                        MessageBox.Show("Error export File");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error saving File", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        private async void btnSettings_Click(object sender, EventArgs e)
        {
            CloseMenu?.Invoke();
            await Task.Delay(0);

            SettingsDialog settings = new SettingsDialog();

            settings.ShowDialog();
            SettingsClosed?.Invoke(this, 0);
            CloseMenu?.Invoke();
        }
コード例 #3
0
 private void ExitMenu_Click(object sender, EventArgs e)
 {
     if (CloseMenu.Enabled == true)
     {
         CloseMenu.PerformClick();
         Application.Exit(); //No use after refining CloseMenu
     }
     else
     {
         Application.Exit(); //MayBe No use after refining CloseMenu
     }
 }
コード例 #4
0
        private async void btnOpen_Click(object sender, EventArgs e)
        {
            if (!Util.AskForSave(document))
            {
                return;
            }
            CloseMenu?.Invoke();
            await Task.Delay(0);

            OpenFileDialog diagOpenDoc = new OpenFileDialog();

            //diagOpenDoc.Filter = "Supportet Files|*.krit;*.pdf;*.jpg;*.jpeg;*.png;*.bmp|Kritzel Documents|*.zip|PDF Files|*.pdf|Images|*.jpg;*.jpeg;*.bmp;*.png";
            diagOpenDoc.Filter = "Supportet Files|*.krit;*.pdf|Kritzel Documents|*.krit|PDF Files|*.pdf";
            if (diagOpenDoc.ShowDialog(window) == DialogResult.OK)
            {
                FileInfo info = new FileInfo(diagOpenDoc.FileName);
                string   ext  = info.Extension.ToLower();
                if (ext == ".krit")
                {
                    KDocument  doc = new KDocument();
                    MessageLog log = new MessageLog();
                    if (doc.LoadDocument(diagOpenDoc.FileName, log))
                    {
                        Console.WriteLine(log);
                        document = doc;
                        window.SetDocument(document);
                    }
                }
                else if (ext == ".pdf")
                {
                    PDFImporter imp = new PDFImporter(diagOpenDoc.FileName);
                    if (imp.ShowDialog(window) == DialogResult.OK)
                    {
                        KDocument doc = new KDocument();
                        doc.Pages.AddRange(imp.Pages);
                        foreach (KPage page in imp.Pages)
                        {
                            page.ChangeDocument(doc);
                        }
                        window.SetDocument(doc);
                        //document.Pages.AddRange(imp.Pages);
                    }
                }
                else
                {
                    MessageBox.Show("Error importing File");
                }
            }
        }
コード例 #5
0
        private async void btnPrint_Click(object sender, EventArgs e)
        {
            CloseMenu?.Invoke();
            await Task.Delay(0);

            PrintDialog pd = new PrintDialog();

            pd.AllowCurrentPage            = true;
            pd.AllowSomePages              = true;
            pd.Document                    = new PrintDocument();
            pd.UseEXDialog                 = true;
            pd.PrinterSettings.FromPage    = 1;
            pd.PrinterSettings.ToPage      = document.Pages.Count;
            pd.PrinterSettings.MaximumPage = document.Pages.Count;
            pd.PrinterSettings.MinimumPage = 1;
            int currentPage = 0;

            pd.Document.PrintPage += (_sender, _e) =>
            {
                if (pd.PrinterSettings.PrintRange == PrintRange.AllPages)
                {
                    Renderer.GdiRenderer r = new Renderer.GdiRenderer(_e.Graphics);
                    document.Pages[currentPage].DrawPDFHQ(r, (int)Util.MmToPoint(_e.PageBounds.Height));
                    document.Pages[currentPage++].Draw(r);
                    _e.HasMorePages = currentPage < document.Pages.Count;
                }
                else if (pd.PrinterSettings.PrintRange == PrintRange.CurrentPage)
                {
                    Renderer.GdiRenderer r = new Renderer.GdiRenderer(_e.Graphics);
                    control.Page.DrawPDFHQ(r, (int)Util.MmToPoint(_e.PageBounds.Height));
                    control.Page.Draw(r);
                    _e.HasMorePages = false;
                }
                else if (pd.PrinterSettings.PrintRange == PrintRange.SomePages)
                {
                    int fromPage           = Math.Max(0, pd.PrinterSettings.FromPage - 1);
                    int toPage             = Math.Min(document.Pages.Count - 1, pd.PrinterSettings.ToPage - 1);
                    Renderer.GdiRenderer r = new Renderer.GdiRenderer(_e.Graphics);
                    int realPage           = currentPage++ + fromPage;
                    document.Pages[realPage].DrawPDFHQ(r, (int)Util.MmToPoint(_e.PageBounds.Height));
                    document.Pages[realPage].Draw(r);
                    _e.HasMorePages = realPage < toPage;
                }
            };
            if (pd.ShowDialog() == DialogResult.OK)
            {
                pd.Document.Print();
            }
        }
コード例 #6
0
 public static LinkedList<TalkActionBasis> createPlayMessage(MyCharacterController owner, params string[] messages)
 {
     LinkedList<TalkActionBasis> ret = new LinkedList<TalkActionBasis>();
     var menu = new MessageMenu(owner);
     menu.setMessage("");
     foreach (string str in messages) {
         ret.AddLast(new PlayTalkText(str,menu));
     }
     var open = new OpenMenu(menu, false);
     open.IsOperationExit = delegate { return open.Menu.Opend; };
     var close = new CloseMenu(menu);
     close.PlayCloseSound = false;
     ret.AddFirst(open);
     ret.AddLast(close);
     return ret;
 }
コード例 #7
0
 private void btnAddPage_Click(object sender, EventArgs e)
 {
     Dialogues.PageAdder pa = new Dialogues.PageAdder(control, document);
     //pa.Location = new Point((Parent.Width - pa.Width) / 2, (Parent.Height - pa.Height) / 2);
     pa.Width = 5 * Util.GetGUISize();
     pa.Dock  = DockStyle.Left;
     this.Parent.Controls.Add(pa);
     pa.BringToFront();
     pa.Show();
     this.Hide();
     pa.Close += new CloseDelegate(delegate()
     {
         CloseMenu?.Invoke();
     });
     this.parent.Refresh();
 }
コード例 #8
0
 private void btnCast_Click(object sender, EventArgs e)
 {
     if (HTTPCast.IsCasting)
     {
         HTTPCast.StopCasting();
     }
     else if (WebCast.IsCasting)
     {
         WebCast.StopCasting();
     }
     else
     {
         CastDialog cd = new CastDialog(control);
         cd.ShowDialog();
     }
     CloseMenu?.Invoke();
 }
コード例 #9
0
 void Update()
 {
     if (mBuildMenu && !mUiOpened)
     {
         OpenBuildMenu?.Invoke();
     }
     if (mBuildingMenu && !mUiOpened)
     {
         RaycastHit hitInfo;
         if (Physics.Raycast(PlayerTransformation.position, PlayerTransformation.forward,
                             out hitInfo, float.MaxValue, LayerMask.GetMask("ProductionBuilding")))
         {
             var building = hitInfo.collider.GetComponentInParent <ProductionBuilding>();
             if (building)
             {
                 OpenBuildingInfoMenu?.Invoke(building);
             }
         }
     }
     if (mDestroyObjects && !mUiOpened)
     {
         DestroyObject?.Invoke();
     }
     if (!mUiOpened)
     {
         RaycastHit hitInfo;
         if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward,
                             out hitInfo, float.MaxValue, LayerMask.GetMask("ProductionBuilding")))
         {
             var building = hitInfo.collider.GetComponentInParent <ProductionBuilding>();
             if (building)
             {
                 BuildingPointed?.Invoke(building);
             }
         }
         else
         {
             BuildingNotPointed?.Invoke();
         }
     }
     if (mCloseMenu && mUiOpened)
     {
         CloseMenu?.Invoke();
     }
 }
コード例 #10
0
 private async void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         if (document.FilePath == "")
         {
             await SaveAs();
         }
         else
         {
             document.SaveDocument(document.FilePath);
             CloseMenu?.Invoke();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error saving File", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #11
0
        private void CallOpenMenuNow()
        {
            if (dgv.Rows.Count > rowIndex)
            {
                RowData rowData = (RowData)dgv.Rows[rowIndex].Cells[2].Value;
                Menu    menu    = (Menu)dgv.FindForm();
                rowData.MenuLevel = menu.Level;
                if (rowData.ContainsMenu)
                {
                    CloseMenu.Invoke(rowData.MenuLevel + 2);
                }

                CloseMenu.Invoke(rowData.MenuLevel + 1);

                if (!rowData.IsContextMenuOpen &&
                    rowData.ContainsMenu &&
                    rowData.MenuLevel + 1 < MenuDefines.MenusMax)
                {
                    StartLoadMenu.Invoke(rowData);
                }
            }
        }
コード例 #12
0
 private void btnNew_Click(object sender, EventArgs e)
 {
     if (Util.AskForSave(document))
     {
         /*KDocument doc = new KDocument();
          * doc.Pages.Add(new KPage());
          * doc.SetCurrentStateAsSaved();
          * window.SetDocument(doc);
          * CloseMenu?.Invoke();*/
         NewDocumentDialog pa = new NewDocumentDialog(control, document, window);
         pa.Width = 5 * Util.GetGUISize();
         pa.Dock  = DockStyle.Left;
         this.Parent.Controls.Add(pa);
         pa.BringToFront();
         pa.Show();
         this.Hide();
         pa.Close += new CloseDelegate(delegate()
         {
             CloseMenu?.Invoke();
         });
         this.parent.Refresh();
     }
 }
コード例 #13
0
 public void OnCloseMenue()
 {
     CloseMenu?.Invoke();
 }
コード例 #14
0
 private void btnClose_Click(object sender, EventArgs e)
 {
     CloseMenu?.Invoke();
 }
コード例 #15
0
 private void RaiseCloseMenu()
 {
     CloseMenu?.Invoke(this, EventArgs.Empty);
 }
コード例 #16
0
 protected void OnRaiseCloseMenu()
 {
     CloseMenu?.Invoke();
 }
コード例 #17
0
 public void CloseShop()
 {
     CloseMenu.Invoke();
 }