>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Splitter bug http://forum.mozilla-russia.org/viewtopic.php?id=33470 |
MicroHard > 04-04-2009 14:17:43 |
Здравствуйте! Если в приложении XUL слева и справа создать две кнопки(button) и разделить их splitter, то если кнопки flex="1" то всё красиво. Кнопки растягиваются справа и слева по мере того как двигаешь сплиттер. А вот если например, справа создать кнопку flex="0" и двигать сплиттер чтобы её закрыть, то кнопка нифига не закрывается, а просто рисуется поверх всего. Как этот косяк устранить? Может нужно создать свой обработчик событий от сплиттера? Помогите бедолаге! |
Anton > 04-04-2009 15:42:00 |
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> |
MicroHard > 04-04-2009 16:14:55 |
Вот здесь видно лучше. Кнопки рисуются поверх сплиттера и не убираются <?xml version="1.0" encoding="utf-8" ?> <page id="sbVcrSidebar" title="Page" <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"> </box> </box> <vbox> </vbox> <splitter id="left_splitter" insertbefore="tbar_userstatus" collapse="before" resizebefore="farthest" resizeafter="farthest" style="background-color: #b2b2b2;"> <spring flex="1"/> </splitter> <vbox flex="1" id="work vbox" hidden="false"> </vbox> </hbox> </page> 04-04-2009 16:33:26 Выделить код Код:<?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> |
Anton > 04-04-2009 17:22:36 |
Может быть ? |
MicroHard > 04-04-2009 18:17:05 |
Wow! Антон, да вы просто волшебник! Сэкономили мне день работы! Большое спасибо. Добавьте кнопку Donate к своему профилю. |