示例#1
0
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
示例#2
0
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
示例#3
0
def OpenOfficialGuide():
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow != None:
        activeSceneScriptWindow.editor.showReference()
    else:
        QDesktopServices.openUrl(QUrl("http://nooslab.com/piniengine/wiki"))
示例#4
0
 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)
示例#5
0
    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)
示例#6
0
	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()
示例#7
0
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()
示例#8
0
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
示例#9
0
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()
示例#10
0
def EditToggleComment(showAlert=False, disacrd=None):
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow != None:
        activeSceneScriptWindow.editor.toggleComment()
示例#11
0
 def ___():
     SceneScriptWindowManager.getInstance().getActive(
     ).editor.moveToLineNumber(self.tabSelected[1][idx]["line"])
     SceneScriptWindowManager.getInstance().getActive().editor.setFocus(
     )
示例#12
0
def SaveAll(showAleart=False, discard=None):
    SceneScriptWindowManager.getInstance().saveAll()
示例#13
0
def EditDelete(showAlert=False, discard=None):
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow != None:
        activeSceneScriptWindow.editor.removeSelectedText()
示例#14
0
def EditReplace(showAlert=False, discard=None):
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow != None:
        activeSceneScriptWindow.showReplace()
示例#15
0
def CloseCurrentWindow():
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow:
        activeSceneScriptWindow.close()
示例#16
0
def EditSelectAll(showAlert=False, discard=None):
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow != None:
        activeSceneScriptWindow.editor.selectAll()
示例#17
0
	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_)
示例#18
0
def EditToggleSemicolon(showAlert=False, discard=None):
    activeSceneScriptWindow = SceneScriptWindowManager.getInstance().getActive(
    )
    if activeSceneScriptWindow != None:
        activeSceneScriptWindow.editor.toggleSemicolon()