OpenButtonItem.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using FastReport.Design;
  2. using FastReport.DevComponents.DotNetBar;
  3. using FastReport.Utils;
  4. using System;
  5. namespace FastReport.Controls
  6. {
  7. internal class OpenButtonItem : ButtonItem
  8. {
  9. private Designer designer;
  10. private void btnOpen_PopupOpen(object sender, PopupOpenEventArgs e)
  11. {
  12. SubItems.Clear();
  13. if (designer.cmdRecentFiles.Enabled)
  14. {
  15. foreach (string s in designer.RecentFiles)
  16. {
  17. ButtonItem item = new ButtonItem();
  18. item.Text = s;
  19. if (designer.cmdRecentFiles.IsCloudFile(s))
  20. item.Image = designer.GetImage(259);
  21. item.Click += recentItem_Click;
  22. SubItems.Insert(0, item);
  23. }
  24. }
  25. if (SubItems.Count == 0)
  26. SubItems.Add(new ButtonItem());
  27. }
  28. private void recentItem_Click(object sender, EventArgs e)
  29. {
  30. designer.cmdRecentFiles.LoadFile((sender as ButtonItem).Text);
  31. }
  32. public OpenButtonItem(Designer designer)
  33. {
  34. this.designer = designer;
  35. Click += designer.cmdOpen.Invoke;
  36. PopupOpen += btnOpen_PopupOpen;
  37. SubItems.Add(new ButtonItem());
  38. }
  39. }
  40. }