7#include <gtkmm/eventcontrollerkey.h>
9#include "nlohmann/json.hpp"
10#include "../common/TeXEngine.hh"
102 void insert_text(
uint64_t cell_id,
const std::string& text,
const Glib::RefPtr<Gtk::TextTag>& tag);
104 void insert_tex(
uint64_t cell_id,
const std::shared_ptr<TeXEngine::TeXRequest>& content);
127 std::queue<std::pair<std::string, Glib::RefPtr<Gtk::TextMark>>>
run_queue;
129 std::map<uint64_t, Glib::RefPtr<Gtk::TextMark>>
cells;
bool updating_buffer
Set while we rewrite the buffer ourselves, so that the GTK4 buffer-changed handler does not mistake i...
Definition Console.hh:83
bool handle_key_press(guint keyval, Gdk::ModifierType state)
The keys the console interprets itself (Return, Up, Down).
Definition Console.cc:55
std::string temp_in
Definition Console.hh:78
bool on_key_press_event(GdkEventKey *key_event) override
Definition Console.cc:147
void sync_to_view()
Mirror this (model) buffer and its selection into the parent's visible buffer.
Definition Console.cc:129
Console & parent
Definition Console.hh:77
void remember_partial_input()
Remember the partially typed line, so that walking down off the end of the history can restore it.
Definition Console.cc:120
std::list< std::string >::iterator history_ptr
Definition Console.hh:80
void set_text_quietly(const Glib::ustring &text)
Replace the buffer contents without it counting as user editing.
Definition Console.cc:110
size_t history_max_length
Definition Console.hh:71
std::list< std::string > history
Definition Console.hh:79
Glib::RefPtr< Gtk::TextTag > warning_tag
Definition Console.hh:133
Glib::RefPtr< Gtk::TextBuffer > buffer
Definition Console.hh:124
Glib::RefPtr< Gtk::TextTag > error_tag
Definition Console.hh:133
std::queue< std::pair< std::string, Glib::RefPtr< Gtk::TextMark > > > run_queue
Definition Console.hh:127
void process_message_queue()
Definition Console.cc:430
Glib::Dispatcher run
Definition Console.hh:121
std::queue< nlohmann::json > message_queue
Definition Console.hh:126
Gtk::ScrolledWindow win
Definition Console.hh:136
void scroll_to_bottom()
Definition Console.cc:325
Glib::RefPtr< Gtk::TextTag > input_tag
Definition Console.hh:133
std::map< uint64_t, Glib::RefPtr< Gtk::TextMark > > cells
Definition Console.hh:129
void set_input(const Glib::ustring &line, size_t range_start=std::string::npos, size_t range_end=std::string::npos)
Definition Console.cc:331
Glib::Dispatcher dispatch_message
Definition Console.hh:120
uint64_t server_cell_id
Definition Console.hh:130
void insert_graphic(uint64_t cell_id, const std::string &bytes)
Definition Console.cc:398
void insert_tex(uint64_t cell_id, const std::shared_ptr< TeXEngine::TeXRequest > &content)
Definition Console.cc:416
TeXEngine tex_engine
Definition Console.hh:128
Glib::RefPtr< Gtk::TextMark > prompt_begin
Definition Console.hh:132
Gtk::TextView tv
Definition Console.hh:135
void send_input(const std::string &code)
Definition Console.cc:276
uint64_t get_server_cell()
Definition Console.cc:376
Position
Definition Console.hh:20
std::string collect
Definition Console.hh:125
Glib::RefPtr< Gtk::TextMark > input_begin
Definition Console.hh:131
Gtk::Widget & focus_widget()
The widget that carries the keyboard focus: on gtkmm-3 the visible view, which forwards to the proxy;...
Definition Console.cc:249
Glib::RefPtr< Gtk::TextTag > prompt_tag
Definition Console.hh:133
std::string grab_input(uint64_t &id)
Definition Console.cc:309
void insert_text(uint64_t cell_id, const std::string &text, const Glib::RefPtr< Gtk::TextTag > &tag)
Definition Console.cc:392
TextViewProxy input
Definition Console.hh:134
void create_cell(uint64_t parent_id, uint64_t cell_id)
Definition Console.cc:359
Glib::RefPtr< Gtk::TextTag > output_tag
Definition Console.hh:133
bool needs_focus
Definition Console.hh:123
void signal_message(const nlohmann::json &msg)
Definition Console.cc:319
void initialize()
Definition Console.cc:266
void prompt(bool continuation, bool newline=false)
Definition Console.cc:349
TeXEngine is used to convert LaTeX strings into PNG images.
Definition TeXEngine.hh:23
Functions to handle the exchange properties of two or more symbols in a product.
Definition Adjform.cc:83
void set(rset_t::iterator &num, multiplier_t fac)
Definition Storage.cc:1180