Blame tests/interactive/scrolling.js
|
Packit |
d345d1 |
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
const UI = imports.testcommon.ui;
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
const { Clutter, Gtk, St } = imports.gi;
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
function test() {
|
|
Packit |
d345d1 |
let stage = new Clutter.Stage();
|
|
Packit |
d345d1 |
UI.init(stage);
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
let vbox = new St.BoxLayout({ vertical: true,
|
|
Packit |
d345d1 |
width: stage.width,
|
|
Packit |
d345d1 |
height: stage.height,
|
|
Packit |
d345d1 |
style: "padding: 10px;" });
|
|
Packit |
d345d1 |
stage.add_actor(vbox);
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
let toggle = new St.Button({ label: 'Horizontal Scrolling',
|
|
Packit |
d345d1 |
toggle_mode: true });
|
|
Packit |
d345d1 |
vbox.add(toggle);
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
let v = new St.ScrollView();
|
|
Packit |
d345d1 |
vbox.add(v, { expand: true });
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
toggle.connect('notify::checked', () => {
|
|
Packit |
d345d1 |
v.set_policy(toggle.checked ? Gtk.PolicyType.AUTOMATIC
|
|
Packit |
d345d1 |
: Gtk.PolicyType.NEVER,
|
|
Packit |
d345d1 |
Gtk.PolicyType.AUTOMATIC);
|
|
Packit |
d345d1 |
});
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
let b = new St.BoxLayout({ vertical: true,
|
|
Packit |
d345d1 |
style: "border: 2px solid #880000; border-radius: 10px; padding: 0px 5px;" });
|
|
Packit |
d345d1 |
v.add_actor(b);
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
let cc_a = "a".charCodeAt(0);
|
|
Packit |
d345d1 |
let s = "";
|
|
Packit |
d345d1 |
for (let i = 0; i < 26 * 3; i++) {
|
|
Packit |
d345d1 |
s += String.fromCharCode(cc_a + i % 26);
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
let t = new St.Label({ text: s,
|
|
Packit |
d345d1 |
reactive: true });
|
|
Packit |
d345d1 |
let line = i + 1;
|
|
Packit |
d345d1 |
t.connect('button-press-event',
|
|
Packit |
d345d1 |
function() {
|
|
Packit |
d345d1 |
log("Click on line " + line);
|
|
Packit |
d345d1 |
});
|
|
Packit |
d345d1 |
b.add(t);
|
|
Packit |
d345d1 |
}
|
|
Packit |
d345d1 |
|
|
Packit |
d345d1 |
UI.main(stage);
|
|
Packit |
d345d1 |
}
|
|
Packit |
d345d1 |
test();
|