OSDN Git Service

Ring 1.10 以来となる開発環境の日本語ローカライズ版 (評価版) を追加 (ノートパッド、フォームデザイナー、対話型実行環境、ファイルの検索)。
[ring-lang-081/ring.git] / applications / rnote / source / rnotetreeviewevents.ring
diff --git a/applications/rnote/source/rnotetreeviewevents.ring b/applications/rnote/source/rnotetreeviewevents.ring
new file mode 100644 (file)
index 0000000..7f0011c
--- /dev/null
@@ -0,0 +1,67 @@
+# The Ring Notepad Application (RNote)
+# Author : Mahmoud Fayed <msfclipper@yahoo.com>
+
+class RNoteTreeViewEvents
+
+       func CheckSaveBeforeChange
+               if cActiveFileName = NULL return ok
+               SaveSettings()
+
+       func ChangeFile
+               CheckSaveBeforeChange() # To ask to saving a file
+               SaveCurrentFolder()
+               oItem = tree1.currentindex()
+               if ofile.isdir(oItem)
+                       return
+               ok
+               # Save the old file 
+                       cOldActiveFileName = cActiveFileName
+               # Open Form Designer File 
+               lActivateFormDesigner = False
+               if right(ofile.filepath(oItem),6) = ".rform"
+                       StatusMessage("Open the form file...")
+                       if ofile.filepath(oItem) != cFormFile 
+                               cFormFile = ofile.filepath(oItem)
+                               FormDesigner().OpenFile(ofile.filepath(oItem))
+                       ok
+                       StatusMessage("Ready!")
+                       oDockFormDesigner.raise()
+                       cSourceFile = substr(cFormFile,".rform","Controller.ring")
+                       if fexists(FileNameEncoding(cSourceFile))
+                               cActiveFileName = cSourceFile
+                       else 
+                               return 
+                       ok
+                       lActivateFormDesigner = True
+               else 
+                       cActiveFileName = ofile.filepath(oItem)
+               ok
+               # We get nLine before using textedit1.settext() to get the value before aFilesLines update
+                       nLine =  aFilesLines[cActiveFileName]
+               try 
+                       textedit1.setPlaintext(read(FileNameEncoding(cActiveFileName)))
+               catch 
+                       msginfo("Sorry","Can't open the file " + cActiveFileName)
+                       cActiveFileName = cOldActiveFileName
+                       return 
+               end 
+               textedit1.setfocus(0)
+               CursorPositionChanged()
+               SetActiveFileName()
+               if nLine != NULL
+                       gotoline(nLine)
+               ok
+               AutoComplete()
+               lAsktoSave = False
+               cTextHash  = sha256(textedit1.toplaintext())
+               oDockFunctionsList.setWindowTitle("Functions (Loading...)")
+               oDockClassesList.setWindowTitle("Classes (Loading...)")
+               DisplayFunctionsList()
+               DisplayClassesList()
+               if lActivateFormDesigner
+                       oDockFormDesigner.raise()
+               else 
+                       oDockSourceCode.raise()
+                       tree1.setFocus(0)
+               ok
+               StatusMessage("Ready!")