scrolled_text.vala added
This commit is contained in:
parent
4970944181
commit
dd47f3f77b
|
@ -0,0 +1,46 @@
|
||||||
|
using Gtk;
|
||||||
|
|
||||||
|
public class ScrolledText : Window {
|
||||||
|
private TextView text_view;
|
||||||
|
private ScrolledWindow scroll;
|
||||||
|
|
||||||
|
public ScrolledText () {
|
||||||
|
this.title = "Просмотр текстового файла";
|
||||||
|
this.window_position = WindowPosition.CENTER;
|
||||||
|
this.set_default_size( 500, 400 );
|
||||||
|
|
||||||
|
var toolbar = new Toolbar();
|
||||||
|
|
||||||
|
var open_button = new ToolButton.from_stock( Stock.OPEN );
|
||||||
|
toolbar.add( open_button );
|
||||||
|
open_button.clicked.connect( on_open_clicked );
|
||||||
|
|
||||||
|
this.text_view = new TextView();
|
||||||
|
for (var i = 0; i < 100; ++i) text_view.buffer.text += @"line № $i\n";
|
||||||
|
this.text_view.cursor_visible = false;
|
||||||
|
|
||||||
|
scroll = new ScrolledWindow( null, null );
|
||||||
|
scroll.set_policy( PolicyType.AUTOMATIC, PolicyType.AUTOMATIC );
|
||||||
|
scroll.add( this.text_view );
|
||||||
|
|
||||||
|
var vbox = new VBox( false, 0 );
|
||||||
|
vbox.pack_start( toolbar, false, true, 0 );
|
||||||
|
vbox.pack_start( scroll, true, true, 0 );
|
||||||
|
this.add( vbox );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void on_open_clicked() {
|
||||||
|
var vadjustment = scroll.get_vadjustment ();
|
||||||
|
vadjustment.value = vadjustment.upper;
|
||||||
|
scroll.set_vadjustment (vadjustment);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int main (string[] args) {
|
||||||
|
Gtk.init( ref args );
|
||||||
|
var window = new ScrolledText();
|
||||||
|
window.destroy.connect( Gtk.main_quit );
|
||||||
|
window.show_all();
|
||||||
|
Gtk.main();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue