1
0
Fork 0
forked from hanez/xtc
xtc/src/gui/main_window.cpp

52 lines
1.4 KiB
C++
Raw Normal View History

2026-10-26 22:51:25 +01:00
#include "main_window.hpp"
#include <FL/Fl_Box.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Tabs.H>
#include <FL/Fl_Group.H>
extern "C" {
#include "xtlite/xtlite.h"
}
MainWindow::MainWindow()
: Fl_Double_Window(1000, 680, "xtlite — modular audio workstation")
{
begin();
Fl_Menu_Bar *menu = new Fl_Menu_Bar(0, 0, 1000, 28);
menu->add("File/New", 0, nullptr);
menu->add("File/Open...", 0, nullptr);
menu->add("File/Save", 0, nullptr);
menu->add("Help/About", 0, nullptr);
Fl_Tabs *tabs = new Fl_Tabs(8, 36, 984, 600);
tabs->begin();
Fl_Group *sequencer = new Fl_Group(8, 60, 984, 576, "Sequencer");
sequencer->begin();
new Fl_Box(24, 84, 940, 40,
"Sequencer placeholder — timeline and clips are not implemented yet.");
sequencer->end();
Fl_Group *mixer = new Fl_Group(8, 60, 984, 576, "Mixer");
mixer->begin();
new Fl_Box(24, 84, 940, 40,
"Mixer placeholder — channels and meters are not implemented yet.");
mixer->end();
Fl_Group *graph = new Fl_Group(8, 60, 984, 576, "Modular Graph");
graph->begin();
new Fl_Box(24, 84, 940, 40,
"Modular graph placeholder — the C graph API is the current prototype.");
graph->end();
tabs->end();
end();
resizable(tabs);
}
void MainWindow::show(int argc, char **argv)
{
Fl_Double_Window::show(argc, argv);
}