Как получить разницу между пунктами меню в пижаме или gwt? - PullRequest
1 голос
/ 13 апреля 2011

Я реализовал MenuBar, используя пижаму как:

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Composite import Composite
from pyjamas.ui.MenuBar import MenuBar

class Menubar(Composite):
    def __init__(self):
        Composite.__init__(self)

        menubar = MenuBar(vertical=False)
        menubar.addItem("Dashboard", "")
        menubar.addItem("FileInspect", "")

        self.initWidget(menubar)

RootPanel().add(Menubar())

Но, несмотря на все попытки, я не могу получить поле / пространство между пунктами меню "Панель инструментов" и "FileInspect". Ваши предложения горячо приветствуются.

Ответы [ 2 ]

1 голос
/ 07 марта 2014

В GWT вы можете добавить MenuItemSeparator между любой парой пунктов меню, которые вы хотите разделить.Ширина разделителя определяет расстояние между элементами.Вы можете установить стиль для вашего разделителя так, чтобы он казался невидимым.Например,

private MenuBar myMenuBar=new MenuBar(false); // false for horizontal menu bar
private MenuItemSeparator separator=new MenuItemSeparator();
private MenuItem item1;
private MenuItem item2;

myMenuBar.add(item1);
myMenuBar.add(separator);
myMenuBar.add(item2);

separator.setStyleName("separatorStyle");

В вашем CSS вы определяете separatorStyle.Например, если вы хотите разделение на 20 пикселей ...

.separatorStyle{
width: 20px;
padding: 0px;
margin: 0px;
border: none;
background: none;
}
1 голос
/ 18 апреля 2011

ОК, поэтому сначала посмотрите в документации API на http://pyjs.org/api/ и найдите menubar (Ctrl + F сочтет это нормальным) или, если вам лень, вы можете увидеть это здесь: http://pyjs.org/api/pyjamas.ui.MenuBar.MenuBar-class.html

Это не поможет в этом случае, потому что нет метода setSpacing () или подобного, но, по крайней мере, он говорит нам об этом наверняка.

Так что я думаю, что вы должны сделать это через css.Посмотрите на пример витрины:

пижама / examples / showcase / src / public / Showcase.css

Теперь вы увидите, что класс gwt-MenuBar находится вверху.Итак, у вас есть два варианта;либо используйте метод addStyleName () виджета MenuBar, либо просто отредактируйте существующий стиль в CSS.Я бы, наверное, сделал последнее.

Надеюсь, это поможет !!Не забудьте принять, если это так.

...