Есть ли способ вернуть все виджеты из родительского окна с X11 / Xt? - PullRequest
0 голосов
/ 09 января 2019

Я пишу приложение, используя X11, Xt и Motif напрямую с C. Я хочу иметь возможность перечислять все дочерние виджеты из родительского окна. Есть ли способ сделать это?

Я нашел следующий фрагмент для рекурсивного анализа дерева виджетов Motif здесь , но у меня есть только структура окна Xlib, поэтому я хочу иметь возможность получать дочерние виджеты этого окна, а затем передавать этот виджет к чему-то похожему на этот рекурсивный синтаксический анализатор деревьев.

Мой текущий код выглядит примерно так:

int main() {
    Display* display;
    int screen_num = 0;
    display = XOpenDisplay(NULL);
    Window window = XRootWindow(display, screen_num);
    dumpWidgetTree((Widget)window);
    return 0;
}

Я попытался просто привести Window к Widget, но это, как и следовало ожидать, вызвало segfault.

...