f5eb6e6b pyros2097

13 years ago
api working
Files changed (4) hide show
  1. Widget/editor.py +6 -269
  2. Widget/editor.pyc +0 -0
  3. {Widget → api}/emo.api +5 -1
  4. globals.py +13 -5
Widget/editor.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from PyQt4.QtCore import SIGNAL
2
2
  from PyQt4.QtGui import QFontMetrics, QFont, QPixmap, QColor
3
3
  from PyQt4.Qsci import QsciScintilla, QsciLexerPython ,QsciAPIs ,QsciLexerCPP
4
- from globals import ospathjoin,workDir,fontSize,fontName
4
+ from globals import ospathjoin,fontSize,fontName,workDir
5
5
  from lexersquirrel import LexerSquirrel
6
6
 
7
7
  class Style:
@@ -41,14 +41,6 @@ class Editor(QsciScintilla):
41
41
  # Brace matching: enable for a brace immediately before or after
42
42
  # the current position
43
43
  self.setBraceMatching(QsciScintilla.SloppyBraceMatch)
44
-
45
- #print ospathjoin(workDir,"emo.api")
46
- self.api = QsciAPIs(self.lexer)
47
- #api.load(ospathjoin(workDir,"emo.api"))
48
- self.code_complete()
49
- self.api.prepare()
50
- self.setLexer(self.lexer) #Very important do not change line otherwise gg
51
-
52
44
  self.setAutoCompletionThreshold(1)
53
45
  self.setAutoCompletionSource(QsciScintilla.AcsAPIs)
54
46
  #self.setAutoCompletionSource(QsciScintilla.AcsAll)
@@ -71,6 +63,11 @@ class Editor(QsciScintilla):
71
63
  elif self.lang == 2:
72
64
  self.lexer = LexerSquirrel(self.colorStyle,self)
73
65
  self.lexer.setDefaultFont(self.font)
66
+ self.api = QsciAPIs(self.lexer)
67
+ self.api.load(ospathjoin(workDir,"api","emo.api"))
68
+ self.api.prepare()
69
+ self.lexer.setAPIs(self.api) #Very important do not change line otherwise gg
70
+ self.setLexer(self.lexer) #Very important do not change line otherwise gg
74
71
 
75
72
 
76
73
  def setColorStyle(self,styleIndex):
@@ -82,266 +79,6 @@ class Editor(QsciScintilla):
82
79
  self.setMarginsBackgroundColor(self.colorStyle.margin)
83
80
  self.setMarkerBackgroundColor(self.colorStyle.marker,self.ARROW_MARKER_NUM)
84
81
 
85
- def code_complete(self):
86
- self.api.add("emo.Runtime?0(use = runtime)")
87
- self.api.add("runtime.import?1(filename)")
88
- self.api.add("emo.Runtime.import?1(filename)")
89
- self.api.add("runtime.log?1(LOG_INFO,msg)")
90
- self.api.add("runtime.info?1(msg)")
91
- self.api.add("runtime.error?1(msg)")
92
- self.api.add("runtime.warn?1(msg)")
93
- self.api.add("runtime.setLogLevel?1(LOG_WARN);")
94
- self.api.add("runtime.setOptions?1(OPT_ORIENTATION_PORTRAIT)")
95
- self.api.add("OPT_ORIENTATION_PORTRAIT?2")
96
- self.api.add("OPT_ORIENTATION_LANDSCAPE?2")
97
- self.api.add("OPT_ORIENTATION_LANDSCAPE_LEFT?2 (*iOS Only*)")
98
- self.api.add("OPT_ORIENTATION_LANDSCAPE_RIGHT?2 (*iOS Only*)")
99
- self.api.add("runtime.os?1()")
100
- self.api.add("OS_ANDROID?2")
101
- self.api.add("OS_IOS?2")
102
- self.api.add("runtime.device?1()")
103
- self.api.add("runtime.isSimulator?1()")
104
- self.api.add("runtime.finish(?1Finshes activity *android) ")
105
- self.api.add("emo.Runtime.clearTextureCache?1()")
106
- self.api.add("emo.Runtime.compilebuffer?1(script)")
107
- self.api.add("emo.Runtime.compile?1(script, TYPE_ASSET)")
108
- self.api.add("emo.Runtime.compile?1script, TYPE_DOCUMENT)")
109
- self.api.add("emo.Runtime.compile?1(script) ")
110
- self.api.add("emo.Runtime.getDocumentDir?1()")
111
- self.api.add("emo.Runtime.enableSimpleLog?1(enable = true *iOS)")
112
- self.api.add("emo.Runtime.enableSimpleLogWithLevel?1(enable = true);")
113
- self.api.add("emo.Runtime.random?1()")
114
- self.api.add("emo.Runtime.random?1(max)")
115
- self.api.add("emo.Runtime.getDefaultLocale?1()")
116
- self.api.add("emo.Runtime().uptime?1()")
117
-
118
- #Stage
119
- self.api.add("emo.Stage?0(use = stage)")
120
- self.api.add("stage.load?1()")
121
- self.api.add("stage.load?1(nextScene, currentSceneModifier, nextSceneModifier, immediate)")
122
- self.api.add("stage.getWindowWidth?1()")
123
- self.api.add("stage.windowWidth?1(value)")
124
- self.api.add("stage.getWindowHeight?1()")
125
- self.api.add("stage.windowHeight?1(value)")
126
- self.api.add("stage.viewport?1(width, height)")
127
- self.api.add("stage.ortho?1(width, height)")
128
- self.api.add("stage.interval?1(100)")
129
- self.api.add("stage.getCenterX?1()")
130
- self.api.add("stage.getCenterY?1()")
131
- self.api.add("stage.setContentScale?1()")
132
-
133
- #Sprite
134
- self.api.add("emo.Sprite?0(imageFile)")
135
- self.api.add("sprite.load?1()")
136
- self.api.add("sprite.hide?1()")
137
- self.api.add("sprite.show?1()")
138
- self.api.add("sprite.alpha?1(value)")
139
- self.api.add("sprite.red?1(1)")
140
- self.api.add("sprite.green?1(1)")
141
- self.api.add("sprite.blue?1(1)")
142
- self.api.add("sprite.color?1(0, 0, 0, 1)")
143
- self.api.add("sprite.red?1()")
144
- self.api.add("sprite.green?1()")
145
- self.api.add("sprite.blue?1()")
146
- self.api.add("sprite.isLoaded?1()")
147
- self.api.add("sprite.move?1(x,y)")
148
- self.api.add("sprite.getX?1()")
149
- self.api.add("sprite.getY?1()")
150
- self.api.add("sprite.getZ?1()")
151
- self.api.add("sprite.setZ?1(1)")
152
- self.api.add("sprite.getWidth?1()")
153
- self.api.add("sprite.getHeight?1()")
154
- self.api.add("sprite.setWidth?1(width)")
155
- self.api.add("sprite.setHeight?1(height)")
156
- self.api.add("sprite.setSize?1(width,height)")
157
- self.api.add("sprite.scale?1(scaleX, scaleY)")
158
- self.api.add("sprite.scale?1(scaleX, scaleY, centerX, centerY)")
159
- self.api.add("sprite.getScale?1()")
160
- self.api.add("sprite.getScaleX?1()")
161
- self.api.add("sprite.getScaleY?1()")
162
- self.api.add("sprite.rotate?1(angle)")
163
- self.api.add("sprite.rotate?1(angle, centerX, centerY)")
164
- self.api.add("sprite.getAngle?1()")
165
- self.api.add("sprite.remove?1()")
166
- self.api.add("sprite.contains?1(x,y)")
167
- self.api.add("sprite.collidesWith?1(otherSprite)")
168
- self.api.add("sprite.getName?1()")
169
- self.api.add("sprite.addModifier?1(modifier(from, to, duration, equation, repeatCount=0, startTime = null))")
170
-
171
- #Rectangle Extends sprite
172
- self.api.add("emo.Rectangle?0(use = rectangle)")
173
- self.api.add("rectangle.load?1()")
174
- self.api.add("rectangle.setSize?1()")
175
-
176
- #Line
177
- self.api.add("emo.Line?0()")
178
- self.api.add("line.setWidth?1(value)")
179
- self.api.add("line.move?1(startX, startY, endX, endY);")
180
- self.api.add("line.load?1()")
181
-
182
- #TextSprite extends MapSprite
183
- self.api.add("emo.TextSprite?0(name,textbase,width,height,border = null,margin = null)")
184
- self.api.add("text.setText?1()")
185
-
186
- #FontSprite extends sprite
187
- self.api.add("emo.FontSprite?0(name,fontsize = null,fontface = null,isBold = false,isItalic = false)")
188
- self.api.add("text.setParam?1()")
189
- self.api.add("text.reload?1()")
190
- self.api.add("text.reload?1(name)")
191
-
192
- #SpriteSheet extends sprite
193
- self.api.add("emo.SpriteSheet?0(name, width, height, border = 0, margin=0, frameIndex=0) use = spritesheet")
194
- self.api.add("emo.SpriteSheet?0(xml_formatted_texture_atlas_data)")
195
- self.api.add("spritesheet.setFrame?1(1)")
196
- self.api.add("spritesheet.selectFrame?1()")
197
- self.api.add("spritesheet.animate?1(startFrame, frameCount, interval, loopCount = 0)")
198
- self.api.add("spritesheet.animate?1(frame indices, null, interval, loopCount = 0)")
199
- self.api.add("spritesheet.pause?1()")
200
- self.api.add("spritesheet.pauseAt?1(frame)")
201
- self.api.add("spritesheet.stop?1()")
202
- self.api.add("spritesheet.load?1()")
203
- self.api.add("spritesheet.load?1(x, y, frameIndex)")
204
- self.api.add("spritesheet.getFrameIndex?1()")
205
- self.api.add("spritesheet.getFrameCount?1()")
206
- self.api.add("spritesheet.isAnimationFinished?1()")
207
-
208
- #MapSprite extends Sprite
209
- self.api.add("emo.MapSprite?0(name, frameWidth, frameHeight, border = 0, margin = 0)")
210
- self.api.add("mapsprite.setTile?1(tiles)")
211
- self.api.add("mapsprite.clearTiles?1()")
212
- self.api.add("mapsprite.addRow?1(tile)")
213
- self.api.add("mapsprite.setTileAt?1(row, column, value)")
214
- self.api.add("mapsprite.getTileAt?1(row, column)")
215
- self.api.add("mapsprite.getTileIndexAtCoord?1(x, y)")
216
- self.api.add("mapsprite.getTilePositionAtCoord?1(x, y)")
217
- self.api.add("mapsprite.load?1()")
218
- self.api.add("mapsprite.load?1(x, y)")
219
-
220
- #Controller
221
- self.api.add("emo.AnalogOnScreenController?0(base_name ='controller_base.png', knob_name='controller_knob.png', alpha=0.5) use=controller")
222
- self.api.add("emo.DigitalOnScreenController?0(base_name ='controller_base.png', knob_name='controller_knob.png', alpha=0.5) use=controller")
223
- self.api.add("controller.updateInterval = 16")
224
- self.api.add("onControlEvent?1(controller, controlX, controlY, hasChanged)")
225
-
226
- #Modifier
227
- self.api.add("emo.AlphaModifier?0(from, to, duration, equation, repeatCount=0, startTime = null)")
228
- self.api.add("emo.ScaleModifier?0(from, to, duration, equation, repeatCount=0, startTime = null)")
229
- self.api.add("emo.RotateModifier?0(from, to, duration, equation, repeatCount=0, startTime = null)")
230
- self.api.add("emo.MoveModifier?0(from, to, duration, equation, repeatCount=0, startTime = null)")
231
- self.api.add("emo.MoveCenterModifier?0(from, to, duration, equation, repeatCount=0, startTime = null)")
232
- self.api.add("emo.ColorModifier?0(from, to, duration, equation, repeatCount=0, startTime = null)")
233
-
234
- #Easing
235
- self.api.add("emo.easing?0")
236
- self.api.add("emo.easing.Linear?2")
237
- self.api.add("emo.easing.CubicIn?2")
238
- self.api.add("emo.easing.CubicOut?2")
239
- self.api.add("emo.easing.CubicInOut?2")
240
- self.api.add("emo.easing.BackIn?2")
241
- self.api.add("emo.easing.BackOut?2")
242
- self.api.add("emo.easing.BackInOut?2")
243
- self.api.add("emo.easing.ElasticIn?2")
244
- self.api.add("emo.easing.ElasticOut?2")
245
- self.api.add("emo.easing.ElasticInOut?2")
246
- self.api.add("emo.easing.BounceOut?2")
247
- self.api.add("emo.easing.BounceIn?2")
248
- self.api.add("emo.easing.BounceInOut?2")
249
- self.api.add("emo.easing.ExpoIn?2")
250
- self.api.add("emo.easing.ExpoOut?2")
251
- self.api.add("emo.easing.ExpoInOut?2")
252
- self.api.add("emo.easing.QuadIn?2")
253
- self.api.add("emo.easing.QuadOut?2")
254
- self.api.add("emo.easing.QuadInOut?2")
255
- self.api.add("emo.easing.SineIn?2")
256
- self.api.add("emo.easing.SineOut?2")
257
- self.api.add("emo.easing.SineInOut?2")
258
- self.api.add("emo.easing.CircIn?2")
259
- self.api.add("emo.easing.CircOut?2")
260
- self.api.add("emo.easing.CircInOut?2")
261
- self.api.add("emo.easing.QuintIn?2")
262
- self.api.add("emo.easing.QuintOut?2")
263
- self.api.add("emo.easing.QuintInOut?2")
264
- self.api.add("emo.easing.QuartIn?2")
265
- self.api.add("emo.easing.QuartOut?2")
266
- self.api.add("emo.easing.QuartInOut?2")
267
-
268
- #Audio
269
- self.api.add("emo.Audio?0(channelCount)")
270
- self.api.add("audio.createChannel?1(channelIndex) use=ch0")
271
- self.api.add("emo.Audio?0.vibrate?1(vibration requires android.permission.VIBRATE permission)")
272
-
273
- #DataBase
274
- self.api.add("emo.Database?0(use = database)")
275
- self.api.add("database.getPath?1(DEFAULT_DATABASE_NAME)")
276
- self.api.add("database.getLastError?1()")
277
- self.api.add("database.getLastErrorMessage?1()")
278
- self.api.add("database.deleteDatabase?1(DEFAULT_DATABASE_NAME)")
279
-
280
- #Preference
281
- self.api.add("emo.Preference?0(use = preference)")
282
- self.api.add("preference.openOrCreate?1() == EMO_NO_ERROR")
283
- self.api.add("preference.open?1() == EMO_NO_ERROR")
284
- self.api.add("preference.set?1(key, value)")
285
- self.api.add("preference.get?1(key)")
286
- self.api.add("preference.keys?1()")
287
- self.api.add("preference.del?1(key)")
288
- self.api.add("preference.close?1()")
289
-
290
- #Motion
291
- self.api.add("onMotionEvent?1(mevent)")
292
- self.api.add("mevent.getAction?1() = MOTION_EVENT_ACTION_DOWN")
293
- self.api.add("mevent.getPointerId?1(Android Only)")
294
- self.api.add("mevent.getX?1()")
295
- self.api.add("mevent.getY?1()")
296
- self.api.add("MOTION_EVENT_ACTION_DOWN?2")
297
- self.api.add("MOTION_EVENT_ACTION_UP?2")
298
- self.api.add("MOTION_EVENT_ACTION_MOVE?2")
299
- self.api.add("MOTION_EVENT_ACTION_CANCEL?2")
300
- self.api.add("MOTION_EVENT_ACTION_OUTSIDE?2")
301
- self.api.add("MOTION_EVENT_ACTION_POINTER_DOWN?2")
302
- self.api.add("MOTION_EVENT_ACTION_POINTER_UP?2")
303
-
304
- #keys
305
- self.api.add("onKeyEvent?1(kevent)")
306
- self.api.add("kevent.getAction(?1) = KEY_EVENT_ACTION_DOWN")
307
- self.api.add("kevent.getKeyCode?1()")
308
- self.api.add("kevent.getRepeatCount?1()")
309
- self.api.add("kevent.MetaState?1()")
310
- self.api.add("KEY_EVENT_ACTION_DOWN")
311
-
312
- #Sensor
313
- self.api.add("emo.Event?0(use = event)")
314
- self.api.add("event.registerSensors?1(SENSOR_TYPE_ACCELEROMETER) onLoad")
315
- self.api.add("event.enableSensor?1(SENSOR_TYPE_ACCELEROMETER, 100) onGainedFocus")
316
- self.api.add("event.disableSensor?1(SENSOR_TYPE_ACCELEROMETER) onLostFocus")
317
- self.api.add("onSensorEvent?1(sevent)")
318
- self.api.add("SENSOR_TYPE_ACCELEROMETER?2")
319
- self.api.add("sevent.getType?1() == SENSOR_TYPE_ACCELEROMETER")
320
- self.api.add("sevent.getAccelerationX?1()")
321
- self.api.add("sevent.getAccelerationY?1()")
322
- self.api.add("sevent.getAccelerationZ?1()")
323
-
324
- #Draw
325
- self.api.add("event.enableOnDrawCallback?1(5000)")
326
- self.api.add("onDrawFrame?1(dt)")
327
- self.api.add("event.disableOnDrawCallback?1()")
328
- self.api.add("onLowMemory?1()")
329
- self.api.add("onError?1(message)")
330
-
331
- #Http
332
- self.api.add("emo.Net.request?1(MY_REQUEST_NAME, 'http://www.example.com/')")
333
- self.api.add("emo.Net.request?1(MY_REQUEST_NAME_BY_GET, 'http://www.example.com/', 'GET'', 1000)")
334
- self.api.add("emo.Net.request?1(MY_REQUEST_NAME_BY_POST, 'http://www.example.com/','POST', 1000, 'key1', 'value1', 'key2', 'value2')")
335
- self.api.add("onNetCallback?1(name, response, err)")
336
- #Physics
337
- self.api.add("_add?1()")
338
- self.api.add("_sub?1()")
339
- self.api.add("_mul?1()")
340
- self.api.add("_div?1()")
341
- self.api.add("")
342
- self.api.add("")
343
-
344
-
345
82
  def on_margin_clicked(self, nmargin, nline, modifiers):
346
83
  # Toggle marker for the line the margin was clicked on
347
84
  if self.markersAtLine(nline) != 0:
Widget/editor.pyc CHANGED
Binary file
{Widget → api}/emo.api RENAMED
@@ -209,4 +209,8 @@ onError?1(message)
209
209
  emo.Net.request?1(MY_REQUEST_NAME, 'http://www.example.com/')
210
210
  emo.Net.request?1(MY_REQUEST_NAME_BY_GET, 'http://www.example.com/', 'GET'', 1000)
211
211
  emo.Net.request?1(MY_REQUEST_NAME_BY_POST, 'http://www.example.com/','POST', 1000, 'key1', 'value1', 'key2', 'value2')
212
- onNetCallback?1(name, response, err)
212
+ onNetCallback?1(name, response, err)
213
+ _add?1(other)
214
+ _sub?1(other)
215
+ _mul?1(other)
216
+ _div?1(other)
globals.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import os
2
2
  from platform import system,python_version
3
- from PyQt4.QtGui import QIcon
3
+ from PyQt4.QtGui import QIcon,QPixmap
4
4
  from send2trash import send2trash
5
5
  from config import Config
6
6
 
@@ -17,10 +17,15 @@ oswalk = os.walk
17
17
  osmkdir = os.mkdir
18
18
  osremove = os.remove
19
19
  osrename = os.rename
20
- workDir = os.getcwd()
21
- recycle = send2trash
22
20
  ossep = os.sep
23
21
  OS_NAME = system()
22
+
23
+ workDir = os.getcwd()
24
+ apiDir = "api"+ossep
25
+ iconDir = ospathjoin(workDir,"Icons")
26
+
27
+
28
+ recycle = send2trash
24
29
  PY_VERSION = python_version()
25
30
 
26
31
  config = Config()
@@ -29,8 +34,11 @@ fontSize = config.fontSize()
29
34
  fontName = config.fontName()
30
35
  iconSize = config.iconSize()
31
36
  colorStyle = config.colorStyle
32
- iconDir = ospathjoin(workDir,"Icons")
33
37
  adblist = config.adb()
34
38
 
35
39
  def os_icon(name):
36
- return QIcon(":/{0}.gif".format("Icons"+ospathsep+name))
40
+ return QIcon(":/{0}.gif".format("Icons"+ossep+name))
41
+ def os_pixmap(name):
42
+ return QPixmap(":/{0}.gif".format("Icons"+ossep+name))
43
+ def getApi(name):
44
+ return QPixmap(":/{0}.gif".format("Icons"+ossep+name))