Упакованный в столбцы класс RowColumn для библиотеки мотивов (C)? - PullRequest
0 голосов
/ 20 апреля 2020

Я недавно задал этот вопрос: Горизонтально нарисованный класс RowColumn для библиотеки мотивов (C)?

В моем предыдущем вопросе у меня возникли проблемы с отображением xmRowColumnWidgetClass для горизонтального рисования (строка за строкой) вместо вертикально (столбец за столбцом). Поработав с ним, выяснили, как переключиться на горизонтальное рисование с помощью следующего фрагмента:

XmNorientation, XmHORIZONTAL,

Так что код, который создает экземпляр xmRowColumnWidgetClass, теперь выглядит следующим образом:

rowColumn = XtVaCreateManagedWidget("rowcolumn",
            xmRowColumnWidgetClass,
            parentWidget,
            XmNnumColumns, 3,
            XmNorientation, XmHORIZONTAL,
            XmNpacking, XmPACK_COLUMN,
            XmNspacing, 6,
            NULL);

Однако моя новая проблема заключается в том, что по какой-то причине поле XmNnumColumns теперь ссылается на количество строк, а не на фактическое количество столбцов. Перед добавлением части XmNorientation, XmHORIZONTAL экземпляр xmRowColumnWidgetClass рисовал объекты слева направо, но оставался до 3 столбцов, как и предполагалось. Теперь он остается на 3 строки, иногда создавая горизонтальную полосу прокрутки, которая мне не нужна. Мне нужна только вертикальная прокрутка.

Поэтому мне нужно, чтобы дочерние элементы экземпляра xmRowColumnWidgetClass рисовались по горизонтали сверху вниз, но мне нужно, чтобы в строке было не более 3-х строк и, таким образом, они были ограничены определенной ширины.

Я попытался поиграться с полем XmNnumColumns, но вещи, которые работали с большим количеством детей, не работали для меньшего количества детей, и наоборот. Иногда это делало 4 или 5 столбцов, а не 3, а иногда это делало 2 столбца с 3-м столбцом полностью пустым. Я сталкивался со многими подобными проблемами, даже когда экспериментировал с такими вещами, как использование XmNpacking, XmPACK_TIGHT вместо XmNpacking, XmPACK_COLUMN и другими вещами.

Если кто-то сможет найти официальную документацию xmRowColumnWidgetClass и связать ее, это будет с благодарностью.


Всем, кто знаком с этой библиотекой:

Как мне создать экземпляр xmRowColumnWidgetClass, который dr aws по горизонтали (строка за строкой), сохраняя при этом значение определенное количество столбцов?

Он должен иметь возможность обрабатывать любое количество дочерних элементов и добавлять столько строк, сколько ему необходимо, чтобы сохранить его ровно в 3 столбцах.


Другая группа примеров этой библиотеки:
https://github.com/spartrekus/Motif-C-Examples
https://github.com/spartrekus/Motif-C-Examples/blob/master/rowcol.c

1 Ответ

0 голосов
/ 21 апреля 2020

XmRowColumn был разработан для реализации верхней строки меню и всех других классов меню ... Вы ищете сетку, такую ​​как виджет, и поэтому вы должны использовать XmForm read связанный вопрос для этого.

...