Как установить максимальную высоту окна в qooxdoo?

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

var win = new qx.ui.window.Window("First Window");
win.setAllowMaximize(true)
win.setWidth(300);
//We want to set full height window
win.setBackgroundColor("green");

this.getRoot().add(win, {left:20, top:20});
win.open();

person Sathiyaraj    schedule 17.11.2017    source источник


Ответы (1)


Настройка высоты зависит от макета. Используя игровую площадку, как вы это сделали для этого примера, макет по умолчанию — Canvas, где можно указать расстояния от отдельных краев. Чтобы выполнить то, что вы ищете с макетом Canvas, ваш пример будет изменен следующим образом:

var win = new qx.ui.window.Window("First Window");
win.setAllowMaximize(true)
win.setWidth(300);
win.setBackgroundColor("green");

this.getRoot().add(win, {left:20, top:0, bottom:0});
win.open();

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

// Use a vertical box layout instead of the default canvas layout
this.getRoot().setLayout(new qx.ui.layout.VBox());

// Create a window
var win = new qx.ui.window.Window("First Window");
win.setMaxWidth(200);
win.setShowMinimize(false);

// Add the window to the root with flex so that it takes up available space
this.getRoot().add(win, {flex : 1});
win.open();

Деррелл

person Derrell Lipman    schedule 17.11.2017