def __run__(clean, isCurrentScene, startLine=None): from command.ScriptCommands import ScriptCommand SceneScriptWindowManager.getInstance().saveAll() APPPATH = "" if sys.platform == "darwin": if config.__RELEASE__ == False: APPPATH = "../../Engine/OSX.app" else: APPPATH = "OSX.app" else: if config.__RELEASE__ == False: APPPATH = "../../Engine/window64" try: shutil.rmtree(APPPATH + "/src") except Exception, e: pass try: shutil.rmtree(APPPATH + "/res") except Exception, e: pass try: shutil.copytree(APPPATH + "/../VisNovel/src", APPPATH + "/src") except Exception, e: pass
def OpenLaucher(showAleart=False, discard=None): inst = ProjectController() if len(inst.path) == 0: return result = SceneScriptWindowManager.getInstance().reset() if not result: return BookmarkListWindow().hide() SceneMapWindow(NoriterMain()).hide() DefineSettingWindow().hide() ATLEditor().hide() FontManager().reset() m = NoriterMain() ret = m.close() if ret: def close(): pass launcher = LauncherView(m) launcher.onClose = close
def OpenOfficialGuide(): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: activeSceneScriptWindow.editor.showReference() else: QDesktopServices.openUrl(QUrl("http://nooslab.com/piniengine/wiki"))
def remoting(): remote = RemoteClient(NoriterMain()) if inst: activeScript = SceneScriptWindowManager.getInstance( ).getActive() if activeScript: remote.playScene = activeScript.fileName remote.startLine = startLine remote._connect(HOST, PORT, False)
def updateList(self, selIdx=None): inst = ProjectController() active = SceneScriptWindowManager.getInstance().getActive() if active != None: active.editor.compileAll() active.editor.cursorPositionChanged(None) inst.setRebuildFlag() self.updateDefList(selIdx)
def step9(self): print "step9_0" from view.SceneScriptWindow import SceneScriptWindowManager # print "step9_1" m = NoriterMain() m.setWindowIcon(QIcon('resource/logoIcon64.png')) # print "step9_2" # self.bb = SceneScriptWindow(m) print "step9_3" SceneScriptWindowManager()
def CurrentScriptCursorRun(): inst = ProjectController() if len(inst.path) == 0: return activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: __run__(False, True, activeSceneScriptWindow.editor.textCursor().blockNumber()) else: TestRun()
def Save(showAleart=False, discard=None): inst = ProjectController() if len(inst.path) == 0: return if showAleart: flag = QMessageBox.Save if discard: flag = flag | QMessageBox.Discard flag = flag | QMessageBox.Cancel sceneScriptWindowManager = SceneScriptWindowManager.getInstance() currentFileName = sceneScriptWindowManager.getActiveFilename() if currentFileName == None: return -1 msgBox = QMessageBox() msgBox.setText(u"저장") msgBox.setInformativeText(currentFileName + u"을(를) 저장하시겠습니까?") msgBox.setStandardButtons(flag) msgBox.setDefaultButton(QMessageBox.Cancel) msgBox.setIcon(QMessageBox.Warning) ret = msgBox.exec_() if ret == QMessageBox.Save: sceneScriptWindowManager.saveActiveScene() elif ret == QMessageBox.Discard: return -1 elif ret == QMessageBox.Cancel: return 0 else: sceneScriptWindowManager = SceneScriptWindowManager.getInstance() sceneScriptWindowManager.saveActiveScene() OutputWindow().notice(u"파일이 저장되었습니다.") return 1
def NextWindow(): manager = SceneScriptWindowManager.getInstance() currentActive = manager.getActive() isNext = False if currentActive != None: if len(manager.windows) > 1: for v in manager.activateQueue: if v == currentActive: isNext = True continue if isNext: v.raise_() v.editor.setFocus() isNext = False break if isNext: manager.activateQueue[0].raise_() manager.activateQueue[0].editor.setFocus()
def EditToggleComment(showAlert=False, disacrd=None): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: activeSceneScriptWindow.editor.toggleComment()
def ___(): SceneScriptWindowManager.getInstance().getActive( ).editor.moveToLineNumber(self.tabSelected[1][idx]["line"]) SceneScriptWindowManager.getInstance().getActive().editor.setFocus( )
def SaveAll(showAleart=False, discard=None): SceneScriptWindowManager.getInstance().saveAll()
def EditDelete(showAlert=False, discard=None): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: activeSceneScriptWindow.editor.removeSelectedText()
def EditReplace(showAlert=False, discard=None): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: activeSceneScriptWindow.showReplace()
def CloseCurrentWindow(): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow: activeSceneScriptWindow.close()
def EditSelectAll(showAlert=False, discard=None): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: activeSceneScriptWindow.editor.selectAll()
def step12(self): from view.Launcher import LauncherView m = NoriterMain() launcher = LauncherView(m) self.close() m.hide() def fileOpen(fileName): fp = QFile(fileName) fp.open(QIODevice.ReadOnly | QIODevice.Text) fin = QTextStream(fp) fin.setCodec("UTF-8") FILEDATA = fin.readAll() fin = None fp.close() return FILEDATA def PJOIN(*paths): path = [] for v in paths: v = v.replace("/","\\") path.append(v.encode(locale.getpreferredencoding())) ret = os.path.join(*path).replace("/","\\") return ret tmp_path_master = PJOIN(".","tempSave","PROJ") if os.path.exists(tmp_path_master): from controller.SceneListController import SceneListController from view.SceneScriptWindow import SceneScriptWindowManager DAT = json.loads(fileOpen(tmp_path_master)) if not os.path.exists(DAT["PROJ"]): print "NO BACKUP PROJECT FOUND" return launcher.close() ProjectController().path = DAT["PROJ"] PROJPATH = DAT["PROJ"] QMessageBox.warning(self,u"피니엔진",u"저장되지 않은 파일이 감지되었습니다. 임시파일을 불러옵니다.") NoriterMain().show() for root, dirs, files in os.walk(PJOIN(".","tempSave"), topdown=False): for backupFileName in files: if backupFileName != "PROJ": backupFileName = backupFileName.decode('mbcs') BACK = json.loads(fileOpen(PJOIN(".","tempSave",backupFileName).decode('mbcs'))) targetFileName = backupFileName.replace(u"__!_",u"/").replace(u".tmp",u".lnx") relativePath = u"scene/"+targetFileName SceneListController.getInstance().Open(PROJPATH+"/scene/"+targetFileName) SceneScriptWindowManager.getInstance().windows[relativePath].editor.setPlainText(BACK["PLAIN"]) SceneScriptWindowManager.getInstance().windows[relativePath].editor.compileAll() SceneScriptWindowManager.getInstance().windows[relativePath].editor.commitGraphics() def _Update_Updator_(): updateThread = UpdatorUpdateThread(NoriterMain()) updateThread.start() QTimer.singleShot(1500,_Update_Updator_)
def EditToggleSemicolon(showAlert=False, discard=None): activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive( ) if activeSceneScriptWindow != None: activeSceneScriptWindow.editor.toggleSemicolon()