diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 2e9914f900..0a01488d00 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -2887,6 +2887,8 @@ JSON: - topojson extensions: - ".json" + - ".4DForm" + - ".4DProject" - ".avsc" - ".geojson" - ".gltf" diff --git a/samples/JSON/4DPopGit.4DProject b/samples/JSON/4DPopGit.4DProject new file mode 100644 index 0000000000..139a4583a8 --- /dev/null +++ b/samples/JSON/4DPopGit.4DProject @@ -0,0 +1,3 @@ +{ + "$comment": "The project file let you override the location for most folders" +} diff --git a/samples/JSON/form.4DForm b/samples/JSON/form.4DForm new file mode 100644 index 0000000000..f9bb026f56 --- /dev/null +++ b/samples/JSON/form.4DForm @@ -0,0 +1,538 @@ +{ + "destination": "detailScreen", + "rightMargin": 19, + "bottomMargin": 20, + "markerBody": 197, + "markerBreak": 197, + "markerFooter": 207, + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onOutsideCall", + "onDoubleClick", + "onDrop", + "onMenuSelect", + "onPluginArea", + "onDataChange", + "onDragOver", + "onPrintingDetail", + "onOpenDetail", + "onCloseDetail", + "onTimer", + "onAfterKeystroke", + "onLoadRecord", + "onAfterEdit", + "onBeginDragOver", + "onBoundVariableChange", + "onPageChange" + ], + "pageFormat": { + "paperName": "A4", + "paperWidth": "842pt", + "paperHeight": "595pt" + }, + "pages": [ + null, + { + "objects": { + "テキスト6": { + "type": "text", + "top": 93, + "left": 24, + "width": 515, + "height": 17, + "sizingX": "grow", + "stroke": "#000000", + "text": "Table_1" + }, + "線7": { + "type": "line", + "top": 77, + "left": 19, + "width": 644, + "sizingX": "grow" + }, + "bFirst": { + "type": "pictureButton", + "top": 16, + "left": 21, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/先頭レコード" + }, + "action": "firstRecord", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/FirstRecord.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "bPrevious": { + "type": "pictureButton", + "top": 16, + "left": 84, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/前レコード" + }, + "action": "previousRecord", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/PreviousRecord.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "bNext": { + "type": "pictureButton", + "top": 16, + "left": 147, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/次レコード" + }, + "action": "nextRecord", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/NextRecord.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "bLast": { + "type": "pictureButton", + "top": 16, + "left": 210, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/最終レコード" + }, + "action": "lastRecord", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/LastRecord.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "bDelete": { + "type": "pictureButton", + "top": 16, + "left": 273, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/レコード削除" + }, + "action": "deleteRecord", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/DeleteRecord.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "bCancel": { + "type": "pictureButton", + "top": 16, + "left": 336, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/キャンセル" + }, + "action": "cancel", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/Cancel.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "bValidate": { + "type": "pictureButton", + "top": 16, + "left": 399, + "width": 48, + "height": 48, + "tooltip": { + "$ref": "/SOURCES/tips.json#/OK" + }, + "action": "accept", + "rowCount": 4, + "picture": "/RESOURCES/Images/Buttons/LightGrey/Validate.png", + "switchWhenRollover": true, + "switchBackWhenReleased": true, + "useLastFrameAsDisabled": true, + "events": [ + "onClick" + ] + }, + "テキスト8": { + "type": "text", + "top": 146, + "left": 30, + "width": 59, + "height": 17, + "textAlign": "right", + "text": "ID : " + }, + "テキスト9": { + "type": "text", + "top": 173, + "left": 30, + "width": 59, + "height": 17, + "textAlign": "right", + "text": "Field_2 : " + }, + "テキスト10": { + "type": "text", + "top": 200, + "left": 30, + "width": 59, + "height": 17, + "textAlign": "right", + "text": "Field_3 : " + }, + "ID": { + "type": "input", + "top": 146, + "left": 94, + "width": 64, + "height": 17, + "dataSource": "[Table_1:1]ID:1", + "dataSourceTypeHint": "integer", + "textAlign": "left", + "focusable": false, + "fill": "transparent", + "borderStyle": "sunken", + "enterable": false, + "contextMenu": "none", + "dragging": "none", + "dropping": "none", + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onDataChange", + "onPrintingDetail" + ] + }, + "Field_2": { + "type": "input", + "top": 173, + "left": 94, + "width": 305, + "height": 17, + "dataSource": "[Table_1:1]Field_2:2", + "textAlign": "left", + "fill": "#FFFFFF", + "borderStyle": "sunken", + "dragging": "none", + "dropping": "none", + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onDataChange", + "onPrintingDetail" + ] + }, + "Field_3": { + "type": "input", + "top": 200, + "left": 94, + "width": 305, + "height": 17, + "dataSource": "[Table_1:1]Field_3:3", + "textAlign": "left", + "fill": "#FFFFFF", + "borderStyle": "sunken", + "dragging": "none", + "dropping": "none", + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onDataChange", + "onPrintingDetail" + ] + }, + "Variable": { + "type": "input", + "top": 94, + "left": 418, + "width": 211, + "height": 17, + "dataSource": "Read only state:C362([Table_1:1])", + "dataSourceTypeHint": "undefined", + "focusable": false, + "fill": "transparent", + "borderStyle": "none", + "enterable": false, + "contextMenu": "none", + "dragging": "none", + "dropping": "none" + }, + "Text": { + "type": "text", + "top": 94, + "left": 122, + "width": 276, + "height": 17, + "text": "Read only state([Table_1])" + }, + "Variable1": { + "type": "input", + "top": 114, + "left": 418, + "width": 211, + "height": 17, + "dataSource": "Locked:C147([Table_1:1])", + "dataSourceTypeHint": "undefined", + "focusable": false, + "fill": "transparent", + "borderStyle": "none", + "enterable": false, + "contextMenu": "none", + "dragging": "none", + "dropping": "none" + }, + "Text1": { + "type": "text", + "top": 114, + "left": 122, + "width": 276, + "height": 17, + "text": "Locked([Table_1])" + }, + "テキスト1": { + "type": "text", + "top": 326, + "left": 30, + "width": 59, + "height": 17, + "textAlign": "right", + "text": "ID : " + }, + "テキスト2": { + "type": "text", + "top": 353, + "left": 30, + "width": 59, + "height": 17, + "textAlign": "right", + "text": "Field_2 : " + }, + "テキスト3": { + "type": "text", + "top": 380, + "left": 30, + "width": 59, + "height": 17, + "textAlign": "right", + "text": "Field_3 : " + }, + "ID1": { + "type": "input", + "top": 326, + "left": 94, + "width": 64, + "height": 17, + "dataSource": "[Table_2:2]ID:1", + "dataSourceTypeHint": "integer", + "textAlign": "left", + "focusable": false, + "fill": "transparent", + "borderStyle": "sunken", + "enterable": false, + "contextMenu": "none", + "dragging": "none", + "dropping": "none", + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onDataChange", + "onPrintingDetail" + ] + }, + "Field_1": { + "type": "input", + "top": 353, + "left": 94, + "width": 305, + "height": 17, + "dataSource": "[Table_2:2]Field_2:2", + "textAlign": "left", + "fill": "#FFFFFF", + "borderStyle": "sunken", + "dragging": "none", + "dropping": "none", + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onDataChange", + "onPrintingDetail" + ] + }, + "Field_4": { + "type": "input", + "top": 380, + "left": 94, + "width": 305, + "height": 17, + "dataSource": "[Table_2:2]Field_3:3", + "textAlign": "left", + "fill": "#FFFFFF", + "borderStyle": "sunken", + "dragging": "none", + "dropping": "none", + "events": [ + "onLoad", + "onValidate", + "onClick", + "onHeader", + "onPrintingBreak", + "onPrintingFooter", + "onDisplayDetail", + "onDataChange", + "onPrintingDetail" + ] + }, + "テキスト4": { + "type": "text", + "top": 273, + "left": 24, + "width": 515, + "height": 17, + "sizingX": "grow", + "stroke": "#000000", + "text": "Table_2" + }, + "Variable2": { + "type": "input", + "top": 274, + "left": 418, + "width": 211, + "height": 17, + "dataSource": "Read only state:C362([Table_2:2])", + "dataSourceTypeHint": "undefined", + "focusable": false, + "fill": "transparent", + "borderStyle": "none", + "enterable": false, + "contextMenu": "none", + "dragging": "none", + "dropping": "none" + }, + "Text2": { + "type": "text", + "top": 274, + "left": 122, + "width": 276, + "height": 17, + "text": "Read only state([Table_2])" + }, + "Variable3": { + "type": "input", + "top": 294, + "left": 418, + "width": 211, + "height": 17, + "dataSource": "Locked:C147([Table_2:2])", + "dataSourceTypeHint": "undefined", + "focusable": false, + "fill": "transparent", + "borderStyle": "none", + "enterable": false, + "contextMenu": "none", + "dragging": "none", + "dropping": "none" + }, + "Text3": { + "type": "text", + "top": 294, + "left": 122, + "width": 276, + "height": 17, + "text": "Locked([Table_2])" + } + } + } + ], + "editor": { + "activeView": "View 1", + "defaultView": "View 1", + "views": { + "View 1": {}, + "View 2": { + "objects": [ + "テキスト6", + "線7" + ] + }, + "View 3": { + "objects": [ + "bFirst", + "bPrevious", + "bNext", + "bLast", + "bDelete", + "bCancel", + "bValidate" + ] + }, + "View 4": {}, + "View 5": {}, + "View 6": {}, + "View 7": {}, + "View 8": {}, + "View 9": {} + } + } +} \ No newline at end of file