[C++] 330 BBS閲覧アプリの製作 その16 Fl_WebViewでHTML表示に成功

[M1 Mac, MacOS Ventura 13.3.1, clang 14.0.3]

FLTKのRust版を開発されている方がFl_WebViewというウィジェットをGitHubにアップしていました。

GUIの中にWebブラウザの埋め込みが可能になります。BBSのdatファイルをHTML形式に書き換えたものを表示させることもできました。右端での折り返しはデフォルトです。CSSへの対応についてはこれから確認します。

ただ最新版のFLTK 1.3.8では上手くできません。1.4.0の開発版が必要になります。

詳しくは次回以降の記事でまとめます。

#include "Fl_WebView.H"
<中略>

int main(int argc, char *argv[]) {
    Fl_Double_Window *win = new Fl_Double_Window(1400, 1020, "BBS Browser");
    win->position(300, 0);
    win->resizable(win);

    Fl_Tree* tree = new Fl_Tree(10, 45, 230, win->h()-45-10);
    tree->showroot(0);
    tree->callback(treeCallback); 

    urlNameCat = getBoard();

    for (const auto& element : urlNameCat) {
        string path = get<2>(element) + "/" + get<1>(element);
        // cout << "path: " << path << endl;

        string category = get<2>(element);

        if (find(categories.begin(), categories.end(), category) == categories.end()) {
            tree->add(category.c_str())->close();
            categories.push_back(category);
        }

        tree->add(path.c_str());
    }

    table = new WidgetTable(240, 45, 1400-230-10, 350, "");

    htmlView = new Fl_WebView(240,400,1160,615);
    
    win->show(argc, argv);
  
  return(Fl::run());
}

参考サイト