#ifndef UDBTUI_IOVIEW_HPP
#define UDBTUI_IOVIEW_HPP
#include <final/final.h>
class IOView final : public finalcut::FDialog
{
public:
explicit IOView(finalcut::FWidget * = nullptr);
void notify();
class InputBuffer final : public finalcut::FLineEdit
{
public:
explicit InputBuffer(IOView *);
~InputBuffer();
void onKeyPress(finalcut::FKeyEvent *) override;
void notify();
private:
IOView *ioView;
};
void setInputFocus();
private:
using MatchList = std::vector<std::size_t>;
using StringPos = std::wstring::size_type;
void initLayout() override;
void adjustSize() override;
void onAccel(finalcut::FAccelEvent *) override;
finalcut::FTextView scrolltext{ this };
finalcut::FLabel inBufLabel{ this };
finalcut::FLabel inputLabel{ this };
InputBuffer input{ this };
finalcut::FLineEdit inBuf{ this };
};
#endif // UDBTUI_IOVIEW_HPP