Разметка блока с использованием сетки в блоке XUL не занимает много места - PullRequest
0 голосов
/ 24 сентября 2010

Я пытаюсь использовать xul для создания макета, подобного этому:

  • есть ящик, содержащий дерево данных
  • прямо под предыдущим полем есть поле с несколькими кнопками.

    Я решил использовать, потому что в противном случае второе поле будет расположено рядом с первым (если я не использую vbox). Проблема не в том, какое значение я назначаю для flex, коробка не растягивается полностью, как я хочу. Требуется только небольшое пространство в левом углу, а не все окно. Может ли кто-нибудь помочь мне с этим, пожалуйста?

    Мой код выглядит следующим образом:

        <!-- there're 2 rows, 1 for data, 1 for toolbar -->
        <rows>
            <!-- row 1 is for a tree of data -->
            <row flex="1">
                <vbox flex="1">
                    <tree id="MyTree" flex="1" height="1" width="1">
                        <treecols>
                            <treecol flex="1" label="Column1"/>
                            <treecol flex="1" label="Column2"/>                                
                        </treecols>
                        <treehead>
                            <treerow>
                                <treecell label="Name"/>
                                <treecell label="Address"/>                                   
                            </treerow>
                        </treehead>
                        <treechildren flex="1">
                            <treeitem container="true" open="true">
                                <treerow>
                                    <treecell class="treecell-indent" label="Group 1"/>
                                </treerow>
                                <treechildren>
                                    <treeitem>
                                        <treerow>
                                            <treecell class="treecell-indent" label="Item 1"/>
                                            <treecell label="xyz"/>
                                            <treecell label="adfjakdhk"/>
                                        </treerow>
                                    </treeitem>
                                </treechildren>
                            </treeitem>                                                     
                        </treechildren>
                    </tree>
                </vbox>
            </row>
            <!-- row 2 is for tool bar-->
            <row>
                <!--buttons are here-->
            </row>
        </rows>
    </grid>
    

Ответы [ 2 ]

1 голос
/ 24 сентября 2010

Удалите атрибут выравнивания из окна и добавьте в столбец flex = "1".

0 голосов
/ 24 сентября 2010

Мой код обрезается в начале.Вот его начальная часть.

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
<window align="left" class="dialog" flex="1" xmlns:html="http://www.w3.org/TR/REC-html40"     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<groupbox flex="1">
    <caption label="List of something"/>
    <grid flex="1">
        <!-- I need only 1 column -->
        <columns>
            <column/>
        </columns>
...