1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-12-29 16:56:40 +03:00
vimr/VimR/Workspace/WorkspaceTool.swift

53 lines
936 B
Swift
Raw Normal View History

2016-09-18 21:49:42 +03:00
/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import Cocoa
protocol WorkspaceToolDelegate: class {
2016-09-25 18:50:33 +03:00
func toggle(_ tool: WorkspaceTool)
2016-09-18 21:49:42 +03:00
}
class WorkspaceTool {
2016-09-25 01:44:10 +03:00
// MARK: - API
2016-09-18 21:49:42 +03:00
let title: String
let view: NSView
let button: WorkspaceToolButton
var location = WorkspaceBarLocation.left {
didSet {
self.button.location = self.location
}
}
var isSelected = false {
didSet {
if self.isSelected {
self.button.highlight()
} else {
self.button.dehighlight()
}
}
}
weak var delegate: WorkspaceToolDelegate?
let minimumDimension = CGFloat(30)
var dimension = CGFloat(50)
init(title: String, view: NSView) {
self.title = title
self.view = view
self.button = WorkspaceToolButton(title: title)
self.button.tool = self
}
func toggle() {
2016-09-25 18:50:33 +03:00
self.delegate?.toggle(self)
2016-09-18 21:49:42 +03:00
self.isSelected = !self.isSelected
}
}