KMSigntureViewItem.m 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. //
  2. // KMSigntureViewItem.m
  3. // PDF Master
  4. //
  5. // Created by Niehaoyu on 2023/2/25.
  6. //
  7. #import "KMSigntureViewItem.h"
  8. #import <PDF_Master-Swift.h>
  9. @interface KMSigntureViewItem ()
  10. @property (strong) IBOutlet NSView *contendView;
  11. @property (nonatomic, copy) NSTrackingArea *trackingArea;
  12. @end
  13. @implementation KMSigntureViewItem
  14. - (void)dealloc {
  15. if (self.trackingArea) {
  16. [self.view removeTrackingArea:self.trackingArea];
  17. }
  18. }
  19. - (void)viewDidLoad {
  20. [super viewDidLoad];
  21. // Do view setup here.
  22. self.contendView.wantsLayer = YES;
  23. self.contendView.layer.cornerRadius = 8.0;
  24. self.contendView.layer.masksToBounds = YES;
  25. self.contendView.layer.borderWidth = 1.;
  26. self.contendView.layer.borderColor = [NSColor clearColor].CGColor;
  27. self.trackingArea = [[NSTrackingArea alloc] initWithRect:self.view.bounds options:NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingActiveAlways |NSTrackingMouseMoved owner:self userInfo:nil];
  28. [self.view addTrackingArea:self.trackingArea];
  29. self.deleteIconBtn.hidden = YES;
  30. [self tableViewMenu];
  31. }
  32. - (void)tableViewMenu {
  33. NSMenu *menu = [[NSMenu alloc] init];
  34. NSMenuItem *item = [menu addItemWithTitle:NSLocalizedString(@"Export stamp", nil) action:nil target:self];
  35. NSMenu *tSubMenu = [[NSMenu alloc] init];
  36. NSMenuItem *tMenuItem = [tSubMenu insertItemWithTitle:NSLocalizedString(@"PNG", @"Menu item title") action:@selector(exportCustomizeStamp:) target:self atIndex:0];
  37. tMenuItem.tag = 0;
  38. // tMenuItem = [tSubMenu insertItemWithTitle:NSLocalizedString(@"JPG", @"Menu item title") action:@selector(exportCustomizeStamp:) target:self atIndex:1];
  39. // tMenuItem.tag = 1;
  40. tMenuItem = [tSubMenu insertItemWithTitle:NSLocalizedString(@"PDF", @"Menu item title") action:@selector(exportCustomizeStamp:) target:self atIndex:1];
  41. tMenuItem.tag = 2;
  42. item.submenu = tSubMenu;
  43. [menu addItem:[NSMenuItem separatorItem]];
  44. [menu addItemWithTitle:NSLocalizedString(@"Delete stamp", nil) action:@selector(deleteCustomizeStamp) target:self];
  45. [menu addItemWithTitle:NSLocalizedString(@"Delete All stamp", nil) action:@selector(deleteAllCustomizeStamp) target:self];
  46. self.view.menu = menu;
  47. }
  48. #pragma mark - set
  49. - (void)setIsSelect:(BOOL)isSelect {
  50. _isSelect = isSelect;
  51. if(_isSelect) {
  52. self.contendView.layer.borderColor = [NSColor km_initWithHex: @"#CED0D4" alpha: 0.6].CGColor;
  53. self.contendView.layer.backgroundColor = [NSColor km_initWithHex: @"#CED0D4" alpha: 1].CGColor;
  54. } else {
  55. self.contendView.layer.borderColor = [NSColor clearColor].CGColor;
  56. self.contendView.layer.backgroundColor = [NSColor clearColor].CGColor;
  57. }
  58. }
  59. #pragma mark - mouse
  60. - (void)mouseEntered:(NSEvent *)event {
  61. [super mouseEntered:event];
  62. if (_isSelect) {
  63. } else {
  64. self.contendView.layer.borderColor = [NSColor km_initWithHex: @"#EDEEF0" alpha: 1].CGColor;
  65. self.contendView.layer.backgroundColor = [NSColor km_initWithHex: @"#EDEEF0" alpha: 1].CGColor;
  66. }
  67. }
  68. - (void)mouseExited:(NSEvent *)event {
  69. [super mouseExited:event];
  70. // self.deleteIconBtn.hidden = YES;
  71. if (_isSelect) {
  72. } else {
  73. self.contendView.layer.borderColor = [NSColor clearColor].CGColor;
  74. self.contendView.layer.backgroundColor = [NSColor clearColor].CGColor;
  75. }
  76. }
  77. - (void)exportCustomizeStamp:(NSMenuItem *)sender {
  78. if (self.delegate && [self.delegate respondsToSelector:@selector(kmSigntureViewItem:didClickMenuWithItem:)]) {
  79. [self.delegate kmSigntureViewItem:self didClickMenuWithItem:sender];
  80. }
  81. }
  82. - (void)deleteCustomizeStamp {
  83. if (self.delegate && [self.delegate respondsToSelector:@selector(kmSigntureViewItemDidClickDeleteMenuItem:)]) {
  84. [self.delegate kmSigntureViewItemDidClickDeleteMenuItem:self];
  85. }
  86. }
  87. - (void)deleteAllCustomizeStamp {
  88. if (self.delegate && [self.delegate respondsToSelector:@selector(kmSigntureViewItemDidClickAllDeleteMenuItem:)]) {
  89. [self.delegate kmSigntureViewItemDidClickAllDeleteMenuItem:self];
  90. }
  91. }
  92. @end