Initial commit
This commit is contained in:
57
src/main.rs
Normal file
57
src/main.rs
Normal file
@@ -0,0 +1,57 @@
|
||||
use gtk::prelude::*;
|
||||
use gtk::{self, glib, Application};
|
||||
mod graph_widget;
|
||||
|
||||
const APP_ID: &str = "com.chloechristine.ftt2midi";
|
||||
|
||||
fn main() -> glib::ExitCode {
|
||||
// Create a new application
|
||||
let app = Application::builder().application_id(APP_ID).build();
|
||||
|
||||
// Connect to the "activate" signal of 'ftt2midi'
|
||||
app.connect_activate(build_ui);
|
||||
|
||||
// Run the application
|
||||
app.run()
|
||||
}
|
||||
|
||||
fn build_ui(app: &Application) {
|
||||
let ui_src = include_str!("resources/main_window.ui");
|
||||
println!("{}", ui_src);
|
||||
let builder = gtk::Builder::from_string(ui_src);
|
||||
|
||||
// Bind to UI elements defined in template
|
||||
let window = builder
|
||||
.object::<gtk::ApplicationWindow>("main_window")
|
||||
.expect("Couldn't bind to window :(");
|
||||
|
||||
let main_grid = builder
|
||||
.object::<gtk::Grid>("main_grid")
|
||||
.expect("Couldn't bind to main_grid");
|
||||
|
||||
let input_selector = builder
|
||||
.object::<gtk::MenuButton>("input_selector")
|
||||
.expect("Couldn't bind to input_selector");
|
||||
|
||||
let midi_device_selector = builder
|
||||
.object::<gtk::MenuButton>("midi_device_selector")
|
||||
.expect("Couldn't bind to midi_device_selector");
|
||||
|
||||
let start_button = builder
|
||||
.object::<gtk::Button>("start_button")
|
||||
.expect("Couldn't bind to start_button");
|
||||
|
||||
let fft_graph = graph_widget::GraphWidget::new();
|
||||
fft_graph.set_height_request(500);
|
||||
fft_graph.set_width_request(500);
|
||||
main_grid.attach(&fft_graph, 0, 0, 1, 1);
|
||||
//main_grid.attach_next_to(&fft_graph, Some(&control_deck), gtk::PositionType::Top, 1, 0);
|
||||
|
||||
//start_button.connect_clicked()
|
||||
|
||||
|
||||
window.set_application(Some(app));
|
||||
|
||||
// Present the window
|
||||
window.present();
|
||||
}
|
Reference in New Issue
Block a user