апплет корицы PopupSliderMenuItem и ярлыки

Есть ли способ добавить метки к PopupSliderMenuItem? я хочу, чтобы в одной строке было что-то вроде ярлыка PopupSliderMenuItem. Или если можно (и как?) сделать ползунки вертикальными, то

label
slider
label

пример кода:

for(f=0;f<this.volumes.length;f++) {
       this.labels[f]=new St.Label({ text: this.freq[f]});

       this.sliders[f]=new PopupMenu.PopupSliderMenuItem(this.volumes[f]/100);
       this.sliders[f].connect('value-changed', Lang.bind(this, this._onSlider));

       this.menu.addMenuItem(this.sliders[f]);
       //how can i add each label of labels[] before and after each slider
     }

person user2490448    schedule 18.08.2013    source источник


Ответы (1)


Так что мне удалось решить (исправить из других скриптов) свою собственную дилемму

var mainBox = new St.BoxLayout({ vertical: true, x_align: St.Align.MIDDLE});
this.table=new St.Table({homogeneous: false});
mainBox.add_actor(this.table);

     for(f=0;f<this.volumes.length;f++) {
       this.labels[f]=new St.Label({ text: this.freq[f].split(". ")[1] ,x_align: St.Align.MIDDLE, y_align:St.Align.END});
       this.vals[f]=new St.Label({text: (this.volumes[f]).toString(), x_align: St.Align.END, y_align:St.Align.END});
       this.sliders[f]=new PopupMenu.PopupSliderMenuItem(this.volumes[f]/100);
        this.sliders[f].connect('value-changed', Lang.bind(this, this._onSlider));
        this.table.add(this.labels[f], {
          row: f,
          col: 1,
          expand: true,
          x_fill: true,
          y_fill: false,
          x_align: St.Align.MIDDLE,
          y_align: St.Align.MIDDLE

        });
        this.table.add(this.sliders[f].actor, {
          row: f,
          col: 2,
          expand: true,
          x_fill: true,
          y_fill: false,
          x_align: St.Align.MIDDLE,
          y_align: St.Align.MIDDLE

        });     
        this.table.add(this.vals[f], {
          row: f,
          col: 3,
          expand: true,
          x_fill: true,
          y_fill: false,
          x_align: St.Align.MIDDLE,
          y_align: St.Align.MIDDLE

        });

        }
person user2490448    schedule 22.08.2013