mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 07:45:07 +00:00
HackStudio: Draw a brownish frame around the current editor widget
Also make the editor filename label bold only for the current editor.
This commit is contained in:
parent
e2d7f585da
commit
e2c74762ff
4 changed files with 50 additions and 2 deletions
|
@ -1,9 +1,44 @@
|
|||
#include "Editor.h"
|
||||
#include "EditorWrapper.h"
|
||||
#include <LibGUI/GPainter.h>
|
||||
#include <LibGUI/GScrollBar.h>
|
||||
|
||||
EditorWrapper& Editor::wrapper()
|
||||
{
|
||||
return static_cast<EditorWrapper&>(*parent());
|
||||
}
|
||||
const EditorWrapper& Editor::wrapper() const
|
||||
{
|
||||
return static_cast<const EditorWrapper&>(*parent());
|
||||
}
|
||||
|
||||
void Editor::focusin_event(CEvent& event)
|
||||
{
|
||||
wrapper().set_editor_has_focus({}, true);
|
||||
if (on_focus)
|
||||
on_focus();
|
||||
GTextEditor::focusin_event(event);
|
||||
}
|
||||
|
||||
void Editor::focusout_event(CEvent & event)
|
||||
{
|
||||
wrapper().set_editor_has_focus({}, false);
|
||||
GTextEditor::focusout_event(event);
|
||||
}
|
||||
|
||||
void Editor::paint_event(GPaintEvent& event)
|
||||
{
|
||||
GTextEditor::paint_event(event);
|
||||
|
||||
if (is_focused()) {
|
||||
GPainter painter(*this);
|
||||
painter.add_clip_rect(event.rect());
|
||||
|
||||
auto rect = frame_inner_rect();
|
||||
if (vertical_scrollbar().is_visible())
|
||||
rect.set_width(rect.width() - vertical_scrollbar().width());
|
||||
if (horizontal_scrollbar().is_visible())
|
||||
rect.set_height(rect.height() - horizontal_scrollbar().height());
|
||||
painter.draw_rect(rect, Color::from_rgb(0x955233));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue