[M1 Mac, Monterey 12.6.3, clang 13.0.0, FLTK 1.3.8, ChatGPT Plus, NO IDE]
過去の質問回答が入っているJSONファイルを読み込み、追加の質問が出来るようにしました。
今のところJSONファイルのパスを直接入力する仕様ですが、ドラッグ&ドロップやFileChooserにも対応する予定です。
あとは回答からソースコード部分を取り出して、見やすくすることぐらいでしょうか。
void loadCB(Fl_Widget*, void*){
load = true;
sendNum = 0;
input -> value("");
sysInput -> value("");
Fl_Text_Buffer* bufferDelete = new Fl_Text_Buffer();
bufferDelete -> text("");
output->buffer(bufferDelete);
const char* jsonLoadFile = jsonInput -> value();
// JSONファイルの内容をjsonに変換
std::ifstream ifs(jsonLoadFile);
json jsonLoadData = json::parse(ifs);
jsonData = jsonLoadData;
// jsonをstringに変換
string jsonLoadString = jsonLoadData.dump(2);
Fl_Text_Buffer*bufferLoad = new Fl_Text_Buffer();
bufferLoad -> text(jsonLoadString.c_str());
jsonDisplay -> buffer(bufferLoad);
jsonDisplay -> wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 5);
// 現在の行数を取得
int lineCount2 = jsonDisplay->buffer()->count_lines(0, jsonDisplay->buffer()->length());
// 最終行が見えるようにスクロールを設定
jsonDisplay->scroll(lineCount2, 0);
}