OSDN Git Service

Ring 1.10 以来となる開発環境の日本語ローカライズ版 (評価版) を追加 (ノートパッド、フォームデザイナー、対話型実行環境、ファイルの検索)。
[ring-lang-081/ring.git] / applications / build / ja-jp / formdesigner / filesystem / filesystem.ring
diff --git a/applications/build/ja-jp/formdesigner/filesystem/filesystem.ring b/applications/build/ja-jp/formdesigner/filesystem/filesystem.ring
new file mode 100644 (file)
index 0000000..0e3bf26
--- /dev/null
@@ -0,0 +1,386 @@
+/*
+**     Project : Form Designer 
+**     File Purpose :  File System
+**     Date : 2017.04.29
+**     Author :  Mahmoud Fayed <msfclipper@yahoo.com>
+*/
+
+package formdesigner
+
+class FormDesignerFileSystem
+
+       cFileName = "noname.rform"
+       oGenerator = new FormDesignerCodeGenerator
+
+       func SetFileName cFile 
+               cFileName = cFile 
+       
+       func GetFileName 
+               return cFileName
+
+       func ActiveDir oDesigner
+               cDir = CurrentDir()
+               if oDesigner.IsParent() {
+                       if isMethod(oDesigner.Parent(),"getactivefolder") {
+                               cDir = oDesigner.Parent().GetActiveFolder()
+                       }
+               }
+               return cDir
+
+       func NewAction oDesigner
+               # Set the file Name
+                       cDir = ActiveDir(oDesigner)
+                       oFileDialog = new qfiledialog(oDesigner.oView.win) {
+                               cInputFileName = getsavefilename(oDesigner.oView.win,"New Form",cDir,"*.rform")
+                       }
+                       oFileDialog.delete()
+                       if cInputFileName = NULL { return }
+                       cInputFileName = AddExtensionToName(cInputFileName)
+                       cFileName = cInputFileName
+               # Delete Objects
+                       DeleteAllObjects(oDesigner)
+               # Set Default Form Properties
+                       oDesigner.oView.oSub {
+                               blocksignals(True)
+                               move(100,100)
+                               resize(400,400)
+                               setWindowTitle("Form1")
+                               blocksignals(False)
+                       }
+                       oDesigner.oModel.FormObject().setWindowTitle("Form1")
+                       oDesigner.oModel.FormObject().setBackColor("")
+                       oDesigner.oModel.FormObject().setWindowFlagsValue("")
+                       oDesigner.oModel.FormObject().setMenubarValue("")
+                       oDesigner.oModel.FormObject().setMainLayoutValue("")
+               # Save Form
+                       SaveFormToFile(oDesigner)
+               # Properties
+                       oDesigner.ObjectProperties()
+               # Open controller class in Ring Notepad 
+                       OpenControllerClassInParent(oDesigner)
+
+       func OpenControllerClassInParent oDesigner
+               if oDesigner.IsParent() {
+                       if isMethod(oDesigner.Parent(),"openfile") {
+                               cDir = oDesigner.Parent().openfile(substr(cFileName,".rform","Controller.ring"))
+                       }
+               }
+
+
+       func AddExtensionToName cInputFileName
+               if not right(lower(cInputFileName),5) = "rform" {
+                       cInputFileName += ".rform"
+               }
+               return cInputFileName
+
+       func CloseAction oDesigner
+               # Delete objects
+                       DeleteAllObjects(oDesigner)     
+               # No File Name
+                       cFileName = "noname.rform"
+               PrepareTheForm(oDesigner)
+               # Tell the Parent (Ring Notepad for example)
+                       if oDesigner.isParent() {
+                               if isMethod(oDesigner.Parent(),"clearactiveformfile") {
+                                       oDesigner.Parent().ClearActiveFormFile()
+                               }
+                       }
+
+       func PrepareTheForm oDesigner
+               # Default Properties
+                       oDesigner.oView.oSub {
+                               blocksignals(True)
+                               move(100,100)
+                               resize(400,400)
+                               setWindowTitle("Form 1")
+                               show()
+                               blocksignals(False)
+                       }
+                       oDesigner.oModel.FormObject() {
+                               setBackColor("")
+                               setWindowTitle("Form 1")
+                       }
+               # Properties
+                       oDesigner.ObjectProperties()
+
+
+       func OpenAction oDesigner
+               # Get the file Name
+                       cDir = ActiveDir(oDesigner)
+                       oFileDialog = new qfiledialog(oDesigner.oView.win) {
+                               cInputFileName = getopenfilename(oDesigner.oView.win,"Open Form",cDir,"*.rform")
+                       }
+                       oFileDialog.close()
+                       if cInputFileName = NULL { return }
+                       cFileName = cInputFileName
+                       LoadFormFromFile(oDesigner)
+               # Open controller class in Ring Notepad 
+                       OpenControllerClassInParent(oDesigner)
+
+       func SaveAction oDesigner
+               # Check file not saved before
+                       if cFileName = "noname.rform" {
+                               SaveFile(oDesigner)
+                               return
+                       }
+               SaveFormToFile(oDesigner)
+
+       func SaveIfOnlyFileIsOpened oDesigner 
+               # Used by Ring Notepad to Save before Run
+                       if cFileName != "noname.rform" {
+                               SaveFormToFile(oDesigner)
+                       }
+               
+
+       func SaveAsAction oDesigner
+               SaveFile(oDesigner)
+
+       func SaveFile oDesigner
+               # Set the file Name
+                       cDir = ActiveDir(oDesigner)
+                       oFileDialog = new qfiledialog(oDesigner.oView.win) {
+                               cInputFileName = getsavefilename(oDesigner.oView.win,"Save Form",cDir,"*.rform")
+                       }
+                       oFileDialog.delete()
+                       if cInputFileName = NULL { return }
+                       cInputFileName = AddExtensionToName(cInputFileName)
+                       cFileName = cInputFileName
+                       SaveFormToFile(oDesigner)
+               # Open controller class in Ring Notepad 
+                       OpenControllerClassInParent(oDesigner)
+
+       func SaveFormToFile oDesigner
+               cHeader = "# Start Form Designer File" + nl
+               cEnd = "# End Form Designer File"
+               # Save the Objects Data
+                       cContent = Objects2String(oDesigner,oDesigner.oModel.aObjectsList)
+               # Write the Form File
+                       cFileContent = cHeader+cContent+cEnd
+                       cFileContent = substr(cFileContent,nl,windowsnl())
+                       write(cFileName,cFileContent)
+               # Generate Code
+                       oGenerator.Generate(oDesigner,cFileName)
+
+       func Objects2String oDesigner,aObjectsList
+               # Start of The List
+                       cContent = "aObjectsList = [" + nl
+               # Objects
+                       for x = 1 to len(aObjectsList) {
+                               aObject  = aObjectsList[x]
+                               cObjContent = Copy(char(9),1) +
+                               '[ :name = "#{f1}" , :id = #{f2} , :classname = "#{f3}" , :data = [' + nl
+                               cObjContent += aObject[2].ObjectDataAsString(oDesigner,2) + nl
+                               cObjContent += Copy(char(9),2) +        "]" + nl + Copy(char(9),1) + "]"
+                               cObjContent = substr(cObjContent,"#{f1}",aObject[1])
+                               cObjContent = substr(cObjContent,"#{f2}",""+aObject[3])
+                               cObjContent = substr(cObjContent,"#{f3}",classname(aObject[2]))
+                               if x != len(aObjectsList) {
+                                       cObjContent += ","
+                               }
+                               cObjContent += nl
+                               cContent += cObjContent
+                       }
+               # End of The List
+                       cContent += "]" + nl
+               return cContent
+
+       func DeleteAllobjects oDesigner
+               for x = 2 to len(oDesigner.oModel.aObjectsList) {
+                       oDesigner.oModel.aObjectsList[x][2] {
+                               oCorners.close()
+                               close()
+                       }
+               }
+               DeleteAllObjectsFromModel(oDesigner)
+
+       func DeleteAllObjectsFromModel oDesigner
+               oDesigner.oModel.DeleteAllObjects()
+               oDesigner.AddObjectsToCombo()
+               oDesigner.AddObjectProperties()
+
+       func LoadFormFromFile oDesigner
+               # Disable Updates 
+                       oDesigner.oView.oSub.setupdatesenabled(False)
+                       oDesigner.oView.oSub.blocksignals(True)
+               # Delete objects
+                       DeleteAllObjects(oDesigner)
+               # Create New Form 
+                       PrepareTheForm(oDesigner)
+               # Load the Form Data
+                       eval(read(cFileName))
+               # Create Objects
+                       CreateFormObjects(oDesigner,aObjectsList)
+               # Enable Updates
+                       oDesigner.oView.oSub.setupdatesenabled(True)
+                       oDesigner.oView.oSub.blocksignals(False)
+
+       func CreateFormObjects oDesigner,aObjectsList
+               # Use the List data to create the objects
+                       for item in aObjectsList {
+                               cClass = item[:classname]
+                               itemdata = item[:data]
+                               switch cClass {
+                                       case :formdesigner_qwidget
+                                               oDesigner.oView.oSub {
+                                                       blocksignals(True)
+                                                       move(itemdata[:x],itemdata[:y])
+                                                       resize(itemdata[:width],itemdata[:height])
+                                                       setWindowTitle(itemdata[:title])
+                                                       show()
+                                                       blocksignals(False)
+                                               }
+                                               oDesigner.oModel.FormObject() {
+                                                       setWindowTitle(itemdata[:title])
+                                                       setBackColor(itemdata[:backcolor])
+                                                       setWindowFlagsValue(itemdata[:windowflags])
+                                                       setMenubarValue(itemdata[:Menubar])
+                                                       setMainLayoutValue(itemdata[:MainLayout])
+                                                       setWindowIconValue(itemdata[:WindowIcon])
+                                                       if itemdata[:IndexType] != NULL {
+                                                               setIndexTypeValue(itemdata[:IndexType])
+                                                       else 
+                                                               setIndexTypeValue(0)
+                                                       }
+                                                       show()
+                                               }
+                                       case :FormDesigner_QLabel
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddLabel(new FormDesigner_QLabel(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.LabelsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QPushButton
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddPushButton(new FormDesigner_QPushButton(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.PushButtonsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QLineEdit
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddLineEdit(new FormDesigner_QLineEdit(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.LineEditsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QTextEdit
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddLineEdit(new FormDesigner_QTextEdit(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.TextEditsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QListWidget
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddListWidget(new FormDesigner_QListWidget(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.ListWidgetsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QCheckBox
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddCheckBox(new FormDesigner_QCheckBox(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.CheckBoxesCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QImage
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddImage(new FormDesigner_QImage(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.ImagesCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QSlider
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddSlider(new FormDesigner_QSlider(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.SlidersCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QProgressbar
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddProgressBar(new FormDesigner_QProgressBar(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.ProgressBarsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QSpinBox
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddSpinBox(new FormDesigner_QSpinBox(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.SpinBoxesCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QComboBox
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddComboBox(new FormDesigner_QCombobox(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.ComboBoxesCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QDateTimeEdit
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddDateTimeEdit(new FormDesigner_QDateTimeEdit(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.DateTimeEditsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QTableWidget
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddTableWidget(new FormDesigner_QTableWidget(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.TableWidgetsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QTreeWidget
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddTreeWidget(new FormDesigner_QTreeWidget(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.TreeWidgetsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QRadioButton
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddRadioButton(new FormDesigner_QRadioButton(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.RadioButtonsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QWebView
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddWebView(new FormDesigner_QWebView(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.WebViewsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QDial
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddDial(new FormDesigner_QDial(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.DialsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QVideoWidget
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddVideoWidget(new FormDesigner_QVideoWidget(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.VideoWidgetsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QFrame3
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddFrame(new FormDesigner_QFrame3(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.FramesCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QLCDNumber
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddLCDNumber(new FormDesigner_QLCDNumber(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.LCDNumbersCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QHyperLink
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddHyperLink(new FormDesigner_QHyperLink(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.HyperLinksCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QTimer
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddTimer(new FormDesigner_QTimer(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.TimersCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QAllEvents
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddAllEvents(new FormDesigner_QAllEvents(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.AllEventsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QLayout
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddLayout(new FormDesigner_QLayout(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.LayoutsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QTabWidget
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddTab(new FormDesigner_QTabWidget(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.TabsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QStatusbar
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddStatusbar(new FormDesigner_QStatusBar(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.StatusBarsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                                       case :FormDesigner_QToolbar
+                                               oDesigner.HideCorners()
+                                               oDesigner.oModel.AddToolbar(new FormDesigner_QToolbar(oDesigner.oModel.CurrentParentByName(itemdata[:parent])))
+                                               oDesigner.CreateControlEventsCornersNoInit(item[:name],oDesigner.oModel.ToolbarsCount())
+                                               oDesigner.oModel.ActiveObject().RestoreProperties(oDesigner,item)
+                               }
+                       }
+               # Objects List
+                       oDesigner.AddObjectsToCombo()
+               # Object Properties
+                       oDesigner.ObjectProperties()