私は最近、何らかの形式の宣言型言語を使用した GUI 構築に関するプロジェクトに取り組み始めました。つまり、階層を「表示」するために使用される GUI ウィジェットのタイプを指定せずに、オブジェクトの階層を記述する必要があるということです。たとえば、既存の階層Hの場合、JSON 表記 (またはそのようなもの) を使用します。
H =
{
"title" : "Label_1"
"children" :
[
{
"title" : "Label_2"
"children":
[
{
"title": "Field_A"
"type": "Integer"
"value": 10
},
{
"title": "Field_B"
"type": "String"
"value": "YES"
}
]
}
]
}
「Label_1」というラベルの付いたボタンを押すと、ユーザーに表示される簡単なウィンドウを作成できます。次に、ウィンドウに「Label_2」というタイトルを付け、「Field_A」と「Field_B」というラベルの付いた 2 つのフィールドを持ち、それぞれ整数値とブール値を受け入れることができます。
他の誰かが、この階層をツリー リストに入れることができます。
--------------------------------------------------------
>Label_1 |
>Label_2 |
>Field_A | 10
>Field_B | YES
私の最初の質問は、まあ、このようなことを達成するために何らかの形の言語パーサーを構築する必要がありますか? JSONを使用できますか?複雑な階層をサポートする必要はありませんが、相互に排他的な階層 (オプションを有効/無効にするラジオ ボタンのようなもの) をサポートする必要があります。いくつかの演算子を使用した何らかの形の言語解析のように見える気がします。誤解しないでください。私は機械工学のバックグラウンドを持っており、経験豊富なプログラマーではありません。
コメントとヘルプをお寄せいただきありがとうございます。