|
@@ -31,6 +31,7 @@ class CTMenu(CBaseLog):
|
|
|
self.__optionConfig = COptionConfig(self.__exData, self.__optionExcel)
|
|
|
self.__curOpa = None
|
|
|
self.__lastOpa = None
|
|
|
+ self.__lastTime = None
|
|
|
|
|
|
@property
|
|
|
def exData(self):
|
|
@@ -58,6 +59,10 @@ class CTMenu(CBaseLog):
|
|
|
def setCurPos(self, pos):
|
|
|
self.__curOpa.setCurPos(pos)
|
|
|
|
|
|
+ def clearOpa(self):
|
|
|
+ self.__lastOpa = None
|
|
|
+ self.__curOpa = None
|
|
|
+
|
|
|
'''
|
|
|
函数:同步两个opa信息;
|
|
|
参数:
|
|
@@ -65,15 +70,19 @@ class CTMenu(CBaseLog):
|
|
|
'''
|
|
|
|
|
|
def SyncOptionInfo(self):
|
|
|
+ # 如果上次同步超过5秒,认为菜单退出; 意义不大
|
|
|
+ # if self.__lastTime and time.time() - self.__lastTime > 5:
|
|
|
+ # self.info(u"前后两次同步时间差超过5秒")
|
|
|
+ # self.__lastOpa = None
|
|
|
if self.__lastOpa:
|
|
|
self.info(u"lastOpa.pos=%d" % self.__lastOpa.pos)
|
|
|
- len = self.__lastOpa.pos - self.__curOpa.getPathLength()
|
|
|
+ diffValue = self.__lastOpa.pos - self.__curOpa.getPathLength()
|
|
|
# 前者位置大于当前opa长度;
|
|
|
- if len > 0:
|
|
|
+ if diffValue > 0:
|
|
|
# 判断路径是否为子集关系;
|
|
|
if self.__lastOpa.isOptionInPaths(self.__lastOpa.getPathLength(), self.__curOpa.curOptionName) is True:
|
|
|
- while len > 0:
|
|
|
- len -= 1
|
|
|
+ while diffValue > 0:
|
|
|
+ diffValue -= 1
|
|
|
self.__lastOpa.back2ParentNode()
|
|
|
# 同时设置当前opa位置;
|
|
|
self.__curOpa.setCurPos(self.__curOpa.getPathLength())
|
|
@@ -82,6 +91,7 @@ class CTMenu(CBaseLog):
|
|
|
if self.__curOpa.isOptionInPaths(self.__lastOpa.pos, self.__lastOpa.curOptionName) is True:
|
|
|
self.__curOpa.setCurPos(self.__lastOpa.pos)
|
|
|
# 记录;
|
|
|
+ # self.__lastTime = time.time()
|
|
|
self.__lastOpa = self.__curOpa
|
|
|
|
|
|
def takePicture(self):
|
|
@@ -432,7 +442,10 @@ class CTMenu(CBaseLog):
|
|
|
|
|
|
def setValue(self, optionValue):
|
|
|
self.info(u"开始设置值:optionName=%s, optionValue=%s" % (self.__curOpa.curOptionName, str(optionValue)))
|
|
|
- self.__curOpa.setValue(optionValue)
|
|
|
+ if self.__curOpa.setValue(optionValue) is False:
|
|
|
+ self.info(u"该value[%s]不存在" % optionValue)
|
|
|
+ return False
|
|
|
+
|
|
|
# 遍历到value节点中;
|
|
|
if self.__move2TargetNode(self.__curOpa, True)[0] is False:
|
|
|
if self.__move2TargetNode(self.__curOpa, False)[0] is False:
|
|
@@ -680,11 +693,12 @@ if __name__ == "__main__":
|
|
|
|
|
|
ml.openOption('picture_preset')
|
|
|
ml.setValue('movie')
|
|
|
-
|
|
|
+ ml.openOption('picture_preset')
|
|
|
+ ml.setValue('dynamic')
|
|
|
print "--------------------------------------------------"
|
|
|
|
|
|
- ml.openOption('brightness')
|
|
|
- ml.setValue(90)
|
|
|
+ # ml.openOption('brightness')
|
|
|
+ # ml.setValue(90)
|
|
|
|
|
|
ml.back2Home()
|
|
|
|