Files
Valculator/main.vala
T
2026-07-05 22:25:07 -04:00

40 lines
1023 B
Vala

public class Main : Gtk.Application {
public Main() {
Object (application_id: "com.example.App");
}
public override void activate () {
var win = new Gtk.ApplicationWindow (this);
win.set_title("Calculator");
var display = new Gtk.Label("Display");
display.xalign = 1.0f;
var grid = new Gtk.Grid();
grid.attach(display, 0, 0, 3);
// Procedurlly generating numbered buttons 1-9
for (int col = 0; col < 3; col++) {
for (int row = 0; row < 3; row++){
// This math is need to orient the buttons in the correct order
// starting from bottom left to top right
var number = (3 - row - 1)*3 + col + 1;
var btn = new Gtk.Button.with_label("%d".printf(number));
grid.attach(btn, col, row+1);
}
}
var zero = new Gtk.Button.with_label("0");
var equal = new Gtk.Button.with_label("=");
grid.attach(zero, 0, 4);
grid.attach(equal, 1, 4);
win.child = grid;
win.present ();
}
public static int main (string[] args) {
var app = new Main();
return app.run (args);
}
}