Иконка из дерева меню GWT справа. - PullRequest
0 голосов
/ 15 августа 2011

Можно ли выровнять значок элемента дерева в вправо вместо влево ? Как это:

item1 >
item2 >
item3 >

Где ">" - это изображение. Я использую стандартный GWT. Пробовал как с CellTree, так и с обычным Tree.

/ Андреас

Ответы [ 4 ]

2 голосов
/ 15 августа 2011

Редактировать: только что понял, что это вопрос Google Web Toolkit. Я ничего не знаю о Google Web Toolkit - но если они позволяют использовать обычный CSS, вы можете стилизовать любой список так, как я опишу ниже:

Вы не можете сделать это с помощью стандартного свойства списка, но вы определенно можете сделать это с background-image:

li {
    list-style: none;
    background-image: url('arrow.gif');
    background-position: right center;
}
0 голосов
/ 16 августа 2011
new TreeItem(new HTML("Item Text <img src='path/to/image.png'>"));
0 голосов
/ 15 августа 2011

Вы можете поместить любые виджеты как TreeItem в дерево.Поэтому, если вы хотите поместить внутри дерева элемент, у которого есть значок, просто создайте горизонтальную панель, поместите текст и значок внутрь, а затем вставьте горизонтальную панель в дерево ... (Я знаю, это звучит немного сложноно это на самом деле очень просто, и вы можете сделать много других интересных вещей с ним)

    Tree t = new Tree();
    HorizontalPanel hc = new HorizontalPanel();
    hc.add(new Label("some text"));
    hc.add(new Image("http://tueffel.net/images/icons/icon13.gif"));
    TreeItem ti = new TreeItem(hc);

    HorizontalPanel hc2 = new HorizontalPanel();
    hc2.add(new Label("some text"));
    hc2.add(new Image("http://tueffel.net/images/icons/icon13.gif"));
    ti.addItem(new TreeItem(hc2));
    t.addItem(ti);
    RootPanel.get().add(t);
0 голосов
/ 15 августа 2011

У меня есть CellTree с моим собственным TreeModel, который возвращает NodeInfo с пользовательским средством визуализации.

что-то вроде этого:

viewModel  = new MyTreeModel( dirs.getRootItems(), filter );
treeDrives = new CellTree( viewModel, null, treeResources );

public class MyTreeModel {
    @Override
    public <T> NodeInfo<?> getNodeInfo( final T value ) {
        return new DefaultNodeInfo<Item>( new ListDataProvider<Item>( dirs ), new DirectoryCell(), selectionModel, null );
    }
}

private final class DirectoryCell extends AbstractCell<Item> {
    @Override
    public void render( com.google.gwt.cell.client.Cell.Context context, Item value, SafeHtmlBuilder sb ) {
    // my own html renderer ... 
    sb.appendHtmlConstant(value.toString);
    sb.append"<img src=\"" + value.getImgUrl() + "\" //>");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...