-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathContextTool.py
150 lines (111 loc) · 3.51 KB
/
ContextTool.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
import wx
import cad
class ContextTool:
def __init__(self):
pass
def IsAToolList(self):
return False
def GetTitle(self):
return "Unknown"
def BitmapPath(self):
return wx.GetApp().cad_dir + '/bitmaps/'+ self.BitmapName() + '.png'
def BitmapName(self):
return "unknown"
def BitmapSize(self):
return 24
def Run(self, event):
wx.MessageBox("default ContextTool.Run() called" + str(event))
def GetTools(self):
return []
def IsEnabled(self):
return True
class ObjectTitleTool(ContextTool):
def __init__(self, object):
self.object = object
ContextTool.__init__(self)
def BitmapPath(self):
return self.object.GetIconFilePath()
def BitmapSize(self):
return 16
def GetTitle(self):
title = self.object.GetTitle()
if title == '':
title = self.object.GetTypeString()
return title
def IsEnabled(self):
return False
class ContextToolList(ContextTool):
def __init__(self, title):
ContextTool.__init__(self)
self.title = title
self.tools = []
def IsAToolList(self):
return True
def GetTitle(self):
return self.title
def GetTools(self):
return self.tools
class ObjectToolList(ContextToolList):
def __init__(self, object):
self.object = object
title = object.GetTitle()
if title == '':
# use obect type
title = object.GetTypeString()
ContextToolList.__init__(self, title)
def BitmapPath(self):
return self.object.GetIconFilePath()
def BitmapSize(self):
return 16
class SelectTool(ContextTool):
def __init__(self, object, control_pressed):
ContextTool.__init__(self)
self.object = object
self.control_pressed = control_pressed
def GetTitle(self):
if self.control_pressed: return "Add To Selection"
return "Select"
def BitmapName(self):
return "select"
def Run(self, event):
if not self.control_pressed:
cad.ClearSelection(False)
cad.Select(self.object)
class EditTool(ContextTool):
def __init__(self, object):
ContextTool.__init__(self)
self.object = object
def GetTitle(self):
return "Edit"
def BitmapName(self):
return "edit"
def Run(self, event):
wx.GetApp().EditUndoably(self.object)
class DeleteTool(ContextTool):
def __init__(self, object):
ContextTool.__init__(self)
self.object = object
def GetTitle(self):
return "Delete"
def BitmapName(self):
return "delete"
def Run(self, event):
cad.DeleteUndoably(self.object)
class CADContextTool(ContextTool):
def __init__(self, title, bitmap_name, method):
ContextTool.__init__(self)
self.title = title
self.bitmap_name = bitmap_name
self.method = method
def GetTitle(self):
return self.title
def BitmapName(self):
return self.bitmap_name
def Run(self, event):
self.method()
class CADObjectContextTool(CADContextTool):
def __init__(self, object, title, bitmap_name, method):
CADContextTool.__init__(self, title, bitmap_name, method)
self.object = object
def Run(self, event):
self.method(self.object)