Skip to content

Commit

Permalink
Merge pull request #92 from palcalde/master
Browse files Browse the repository at this point in the history
Fixed ‘vs’ command by:
  • Loading branch information
kastiglione committed May 7, 2015
2 parents 54d9f71 + da93f02 commit 3ce4d58
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions commands/FBFlickerCommands.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import os
import time
import sys

import lldb
import fblldbbase as fb
Expand Down Expand Up @@ -64,18 +65,15 @@ class FlickerWalker:
def __init__(self, startView):
self.setCurrentView(startView)

self.handler = inputHelpers.FBInputHandler(lldb.debugger, self.inputCallback)
self.handler.start()

def run(self):
while self.handler.isValid():
self.flicker()

def flicker(self):
viewHelpers.setViewHidden(self.currentView, True)
time.sleep(0.1)
viewHelpers.setViewHidden(self.currentView, False)
time.sleep(0.3)
self.keepRunning = True
initialAsync = lldb.debugger.GetAsync()
lldb.debugger.SetAsync(True) #Needed so XCode doesn't hang if tap on Continue while lldb is waiting for user input in 'vs' mode
while self.keepRunning:
charRead = sys.stdin.readline().rstrip("\n")
self.inputCallback(charRead)
else:
lldb.debugger.SetAsync(initialAsync)

def inputCallback(self, input):
oldView = self.currentView
Expand All @@ -85,28 +83,29 @@ def inputCallback(self, input):
os.system(cmd)

print '\nI hope ' + oldView + ' was what you were looking for. I put it on your clipboard.'
viewHelpers.unmaskView(oldView)
self.keepRunning = False

self.handler.stop()
elif input == 'w':
v = superviewOfView(self.currentView)
if not v:
print 'There is no superview. Where are you trying to go?!'
self.setCurrentView(v)
self.setCurrentView(v, oldView)
elif input == 's':
v = firstSubviewOfView(self.currentView)
if not v:
print '\nThe view has no subviews.\n'
self.setCurrentView(v)
self.setCurrentView(v, oldView)
elif input == 'd':
v = nthSiblingOfView(self.currentView, -1)
if v == oldView:
print '\nThere are no sibling views to this view.\n'
self.setCurrentView(v)
self.setCurrentView(v, oldView)
elif input == 'a':
v = nthSiblingOfView(self.currentView, 1)
if v == oldView:
print '\nThere are no sibling views to this view.\n'
self.setCurrentView(v)
self.setCurrentView(v, oldView)
elif input == 'p':
recusionName = 'recursiveDescription'
isMac = runtimeHelpers.isMacintoshArch()
Expand All @@ -118,11 +117,12 @@ def inputCallback(self, input):
else:
print '\nI really have no idea what you meant by \'' + input + '\'... =\\\n'

viewHelpers.setViewHidden(oldView, False)

def setCurrentView(self, view):
def setCurrentView(self, view, oldView=None):
if view:
self.currentView = view
if oldView:
viewHelpers.unmaskView(oldView)
viewHelpers.maskView(self.currentView, 'red', '0.4')
lldb.debugger.HandleCommand('po (id)' + view)

def superviewOfView(view):
Expand Down

0 comments on commit 3ce4d58

Please sign in to comment.