Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№104-04-2009 14:17:43

MicroHard
Участник
 
Группа: Members
Зарегистрирован: 04-04-2009
Сообщений: 10
UA: Firefox 3.0

Splitter bug

Здравствуйте!

Если в приложении XUL слева и справа создать две кнопки(button) и разделить их splitter, то если кнопки flex="1" то всё красиво. Кнопки растягиваются справа и слева по мере того как двигаешь сплиттер. А вот если например, справа создать кнопку flex="0" и двигать сплиттер чтобы её закрыть, то кнопка нифига не закрывается, а просто рисуется поверх всего. Как этот косяк устранить? Может нужно создать свой обработчик событий от сплиттера? Помогите бедолаге!

Отредактировано MicroHard (04-04-2009 14:25:35)

Отсутствует

 

№204-04-2009 15:42:00

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Splitter bug

MicroHard
Почему-то не удаётся воспроизвести:

Выделить код

Код:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <hbox>
        <button flex="1"/>
        <splitter collapse="after"/>
        <button flex="0"/>
    </hbox>

</window>

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№304-04-2009 16:14:55

MicroHard
Участник
 
Группа: Members
Зарегистрирован: 04-04-2009
Сообщений: 10
UA: Firefox 3.0

Re: Splitter bug

Вот здесь видно лучше. Кнопки рисуются поверх сплиттера и не убираются

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="chrome://global/skin/" type"text/css" ?>

<page id="sbVcrSidebar" title="Page"
          orient="horizontal" width="1024" height="768"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          xmlns:html="http://www.w3.org/1999/xhtml">

    <vbox id="main_page" flex="1">

      <hbox flex="1">

        <vbox id="left_panel" style="width:120px; min-width:100px; min-height: 100px;">

          <box flex="1" id="side bar">

            <box flex="1">

              <vbox id="overlay_users" flex="1">
              </vbox>

            </box>

          </box>

          <vbox>
            <toolbox flex="0">
              <toolbar id="tbar_userstatus" flex="0">
                <toolbarbutton flex="0"  id="btn_yes" label="AAA" autoCheck="false" />
                <toolbarbutton flex="0" id="btn_no" label="BBB" autoCheck="false" />
                <toolbarbutton flex="0" id="btn_hand_up" label="CCC" autoCheck="false" />
                <toolbarbutton flex="0" id="btn_smiles" label="DDD" />
                <toolbarbutton flex="0" id="btn_away" label="EEE" />
              </toolbar>
            </toolbox>
          </vbox>

        </vbox>

        <splitter id="left_splitter" insertbefore="tbar_userstatus" collapse="before" resizebefore="farthest"  resizeafter="farthest" style="background-color: #b2b2b2;">

          <spring flex="1"/>
          <grippy/>
          <spring flex="1"/>

        </splitter>

        <vbox flex="1" id="work vbox" hidden="false">

        </vbox>

      </hbox>
    </vbox>

</page>

Добавлено 04-04-2009 16:33:26
Пардон, у меня там toolbarbutton вместо button - но это дело не меняет:

Выделить код

Код:

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="chrome://global/skin/" type"text/css" ?>

<page id="sbVcrSidebar" title="Page"
      	orient="horizontal" width="1024" height="768"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          xmlns:html="http://www.w3.org/1999/xhtml">

    <vbox id="main_page" flex="1">

      <hbox flex="1">

        <vbox id="left_panel" style="width:120px; min-width:100px; min-height: 100px;" flex="0">

                <button flex="0"  id="btn_yes" label="AAA"/>
                <button flex="0" id="btn_no" label="BBB"/>
                <button flex="0" id="btn_hand_up" label="CCC"/>
                <button flex="0" id="btn_smiles" label="DDD" />

        </vbox>

        <splitter id="left_splitter" insertbefore="tbar_userstatus" collapse="before" resizebefore="farthest"  resizeafter="farthest" style="background-color: #b2b2b2;">

          <spring flex="1"/>
          <grippy/>
          <spring flex="1"/>

        </splitter>

        <vbox flex="1" id="work vbox" hidden="false">

        </vbox>

      </hbox>
    </vbox>

</page>

- тоже самое. Таже самая проблема.

Но, самое интересное. Даже если попытаться насильно поставить аттрибут flex = 0, в некоторых случаях сплиттер его делает flex = "1":

Выделить код

Код:

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="chrome://global/skin/" type"text/css" ?>

<page id="sbVcrSidebar" title="Page"
      	orient="horizontal" width="1024" height="768"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          xmlns:html="http://www.w3.org/1999/xhtml">

    <vbox id="main_page" flex="1">

      <hbox flex="1">

        <vbox id="left_panel" style="width:120px; min-width:100px; min-height: 100px;" flex="0">

          <vbox flex="0">

                <button flex="0"  id="btn_yes" label="AAA"/>
                <button flex="0" id="btn_no" label="BBB"/>
                <button flex="0" id="btn_hand_up" label="CCC"/>
                <button flex="0" id="btn_smiles" label="DDD" />
                <button flex="0" id="btn_away" label="EEE" />

          </vbox>

        </vbox>

        <splitter id="left_splitter" insertbefore="tbar_userstatus" collapse="before" resizebefore="farthest"  resizeafter="farthest" style="background-color: #b2b2b2;">

          <spring flex="1"/>
          <grippy/>
          <spring flex="1"/>

        </splitter>

        <vbox flex="1" id="work vbox" hidden="false">

        </vbox>

      </hbox>
    </vbox>

</page>

Отсутствует

 

№404-04-2009 17:22:36

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Splitter bug

Может быть

Выделить код

Код:

<toolbar id="tbar_userstatus" flex="0" style="overflow:hidden">

?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№504-04-2009 18:17:05

MicroHard
Участник
 
Группа: Members
Зарегистрирован: 04-04-2009
Сообщений: 10
UA: Firefox 3.0

Re: Splitter bug

Wow! Антон, да вы просто волшебник! Сэкономили мне день работы! Большое спасибо. Добавьте кнопку Donate к своему профилю. :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]