Bug 21615

Summary: Скрытие главного меню Alterator
Product: Sisyphus Reporter: Dmitriy Kruglikov <Dmitriy.Kruglikov>
Component: alterator-fbiAssignee: Mikhail Efremov <sem>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: imz, manowar, nbr, sem
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Так выглядит мой модуль при скрытии меню альтератора
none
Меню и кнопка скрытия
none
Меню скрыто. Кнопка "заменилась"
none
Патч, добавляющий две скрытые кнопки управления главным меню
none
Меню и кнопка скрытия
none
Меню скрыто. Кнопка "заменилась"
none
Меню и кнопка скрытия none

Description Dmitriy Kruglikov 2009-09-18 15:18:56 MSD
При разработке собственных модулей есть необходимость получить максимальное свободное пространство (за счет главного меню).
Для этого необходимо и достаточно:
в /usr/share/alterator/acc/index.html изменить единственную строку
<td id="menu-td" nowrap="yes"><div id="menu"/></td>
на
<td id="menu-td" nowrap="yes"><div id="menu" name="menu"/></td>

После чего из моего модуля работает 
(form-update-visibility '("menu") #f )
и, соответственно,
(form-update-visibility '("menu") #t )

Все остальное - задачи моего модуля.

Задачей максимум можно считать размещение управляющих элементов
на границе между главным меню и областью отображения модулей (id="main-td").
Comment 1 Dmitriy Kruglikov 2009-09-18 15:46:50 MSD
Created attachment 3896 [details]
Так выглядит мой модуль при скрытии меню альтератора
Comment 2 Dmitriy Kruglikov 2009-09-19 14:46:12 MSD
Задача решена в первом приближении.
Под главным меню добавляем две кнопочки в /usr/share/alterator/acc/index.html
в районе 70-й строки...
Было:
<td>&nbsp;</td>
Стало:
<td align="left">
 <input value="&lt;" name="hide_menu" type="button" class="btn"></input>
 <input value="&gt;" name="show_menu" type="button" class="btn" style="display:none"></input>
</td>
После перезагрузки документа видим одну маленькую кнопочку "<".
Она не работает...

Теперь в своем модуле пришем:
В самом конце функции (on-load) или у кого как:
    (form-bind "hide_menu" "click" ui-hide-menu)
    (form-bind "show_menu" "click" ui-show-menu)
    (ui-hide-menu)
)

Ну и две функции:

(define (ui-hide-menu)
    (form-update-visibility '("menu" "hide_menu") #f )
    (form-update-visibility '("show_menu") #t ))

(define (ui-show-menu)
    (form-update-visibility '("menu" "hide_menu") #t )
    (form-update-visibility '("show_menu") #f ))

Кнопки присутствуют везде, но работают только в том модуле, 
в котором произошло form-bind.

P.S.
Если бы можно было получить состояние скрытости
элемента типа is_hidden, то обошлись бы одной простенькой функцией...
Comment 3 Dmitriy Kruglikov 2009-09-19 14:58:50 MSD
Created attachment 3899 [details]
Меню и кнопка скрытия
Comment 4 Dmitriy Kruglikov 2009-09-19 14:59:37 MSD
Created attachment 3900 [details]
Меню скрыто. Кнопка "заменилась"
Comment 5 Dmitriy Kruglikov 2009-09-20 14:56:11 MSD
Created attachment 3905 [details]
Патч, добавляющий две скрытые кнопки управления главным меню

После добавления этого патча появляется возможность управлять видимостью главного меню.
Кнопки скрыты и ни кого не раздражают.
Те, кому эта возможность действительно нужна, 
и кнопку включат, и меню скроют...
Пример был в предыдущем комментарии.
Comment 6 Dmitriy Kruglikov 2009-09-20 14:57:17 MSD
Created attachment 3906 [details]
Меню и кнопка скрытия
Comment 7 Dmitriy Kruglikov 2009-09-20 14:57:58 MSD
Created attachment 3907 [details]
Меню скрыто. Кнопка "заменилась"
Comment 8 Dmitriy Kruglikov 2009-09-20 14:59:56 MSD
Created attachment 3908 [details]
Меню и кнопка скрытия