1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:58:11 +00:00

HackStudio: Embed a Terminal widget below the text editor

This will be very useful for running (and interacting with) programs
after we build them. :^)
This commit is contained in:
Andreas Kling 2019-10-21 20:17:32 +02:00
parent 5b30aa8b02
commit 43ccb28852
4 changed files with 120 additions and 4 deletions

View file

@ -1,4 +1,5 @@
#include "Project.h"
#include "TerminalWrapper.h"
#include <LibCore/CFile.h>
#include <LibGUI/GAction.h>
#include <LibGUI/GApplication.h>
@ -39,13 +40,14 @@ int main(int argc, char** argv)
auto toolbar = GToolBar::construct(widget);
auto splitter = GSplitter::construct(Orientation::Horizontal, widget);
auto project_list_view = GListView::construct(splitter);
auto outer_splitter = GSplitter::construct(Orientation::Horizontal, widget);
auto project_list_view = GListView::construct(outer_splitter);
project_list_view->set_model(project->model());
project_list_view->set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
project_list_view->set_preferred_size(200, 0);
auto text_editor = GTextEditor::construct(GTextEditor::MultiLine, splitter);
auto inner_splitter = GSplitter::construct(Orientation::Vertical, outer_splitter);
auto text_editor = GTextEditor::construct(GTextEditor::MultiLine, inner_splitter);
text_editor->set_ruler_visible(true);
project_list_view->on_activation = [&](auto& index) {
@ -58,6 +60,8 @@ int main(int argc, char** argv)
text_editor->set_text(file->read_all());
};
auto terminal_wrapper = TerminalWrapper::construct(inner_splitter);
auto statusbar = GStatusBar::construct(widget);
text_editor->on_cursor_change = [&] {