GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
event_manager Class Reference

Provides threadsafe access to octave. More...

#include "event-manager.h"

Public Types

typedef std::list< std::pair< std::string, std::string > > filter_list
 

Public Member Functions

 event_manager (interpreter &interp)
 
virtual ~event_manager ()
 
void append_history (const std::string &hist_entry)
 
bool apply_preferences ()
 
void clear_history ()
 
void clear_workspace ()
 
void close_gui ()
 
bool confirm_shutdown ()
 
void connect_link (const std::shared_ptr< interpreter_events > &obj)
 
bool copy_image_to_clipboard (const std::string &file)
 
int debug_cd_or_addpath_error (const std::string &file, const std::string &dir, bool addpath_option)
 
void directory_changed (const std::string &dir)
 
bool disable ()
 
void discard_events ()
 
bool display_exception (const execution_exception &ee, bool beep=false)
 
bool edit_file (const std::string &file)
 
bool edit_variable (const std::string &name, const octave_value &val)
 
bool enable ()
 
bool enabled () const
 
void enter_debugger_event (const std::string &fcn_name, const std::string &fcn_file_name, int line)
 
void execute_command_in_terminal (const std::string &command)
 
void execute_in_debugger_event (const std::string &file, int line)
 
void exit_debugger_event ()
 
std::list< std::string > file_dialog (const filter_list &filter, const std::string &title, const std::string &filename, const std::string &dirname, const std::string &multimode)
 
void file_remove (const std::string &old_name, const std::string &new_name)
 
void file_renamed (bool load_new)
 
virtual void focus_window (const std::string win_name)
 
uint8NDArray get_named_icon (const std::string &icon_name)
 
std::string gui_preference (const std::string &key, const std::string &value)
 
bool gui_status_update (const std::string &feature, const std::string &status)
 
bool have_dialogs () const
 
std::list< std::string > input_dialog (const std::list< std::string > &prompt, const std::string &title, const std::list< float > &nr, const std::list< float > &nc, const std::list< std::string > &defaults)
 
void install_qt_event_handlers (const std::shared_ptr< interpreter_events > &obj)
 
void interpreter_interrupted ()
 
bool interpreter_output (const std::string &msg)
 
std::pair< std::list< int >, int > list_dialog (const std::list< std::string > &list, const std::string &mode, int width, int height, const std::list< int > &initial_value, const std::string &name, const std::list< std::string > &prompt, const std::string &ok_string, const std::string &cancel_string)
 
void pop_event_queue ()
 
void post_event (const fcn_callback &fcn)
 
void post_event (const meth_callback &meth)
 
void post_input_event ()
 
void pre_input_event ()
 
void process_events (bool disable=false)
 
bool prompt_new_edit_file (const std::string &file)
 
void push_event_queue ()
 
std::shared_ptr< interpreter_eventsqt_event_handlers () const
 
std::string question_dialog (const std::string &msg, const std::string &title, const std::string &btn1, const std::string &btn2, const std::string &btn3, const std::string &btndef)
 
bool register_documentation (const std::string &file)
 
void set_history ()
 
void set_history (const string_vector &hist)
 
void set_workspace ()
 
void set_workspace (bool top_level, const symbol_info_list &syminfo, bool update_variable_editor=true)
 
void show_command_history ()
 
void show_community_news (int serial=-1)
 
bool show_documentation (const std::string &file)
 
void show_file_browser ()
 
bool show_preferences ()
 
void show_release_notes ()
 
void show_terminal_window ()
 
void show_workspace ()
 
void start_gui (bool gui_app=false)
 
bool unregister_documentation (const std::string &file)
 
void update_breakpoint (bool insert, const std::string &file, int line, const std::string &cond="")
 
bool update_gui_lexer ()
 
void update_path_dialog ()
 
void update_prompt (const std::string &prompt)
 

Protected Attributes

bool m_debugging
 
mutexm_event_queue_mutex
 
std::stack< std::shared_ptr< event_queue > > m_gui_event_queue
 
bool m_link_enabled
 

Detailed Description

Provides threadsafe access to octave.

This class provides thread-safe communication between the interpreter and a GUI.

Definition at line 291 of file event-manager.h.

Member Typedef Documentation

◆ filter_list

typedef std::list<std::pair<std::string, std::string> > event_manager::filter_list

Definition at line 387 of file event-manager.h.

Constructor & Destructor Documentation

◆ event_manager()

event_manager::event_manager ( interpreter interp)

Definition at line 68 of file event-manager.cc.

References command_editor::add_event_hook(), and push_event_queue().

◆ ~event_manager()

event_manager::~event_manager ( )
virtual

Definition at line 78 of file event-manager.cc.

References m_event_queue_mutex.

Member Function Documentation

◆ append_history()

void event_manager::append_history ( const std::string &  hist_entry)
inline

Definition at line 695 of file event-manager.h.

Referenced by history_system::write_timestamp().

◆ apply_preferences()

bool event_manager::apply_preferences ( )
inline

Definition at line 457 of file event-manager.h.

Referenced by octave::F__event_manager_apply_preferences__().

◆ clear_history()

void event_manager::clear_history ( )
inline

Definition at line 701 of file event-manager.h.

Referenced by history_system::do_history().

◆ clear_workspace()

void event_manager::clear_workspace ( )
inline

Definition at line 675 of file event-manager.h.

◆ close_gui()

void event_manager::close_gui ( )
inline

Definition at line 374 of file event-manager.h.

◆ confirm_shutdown()

bool event_manager::confirm_shutdown ( )
inline

Definition at line 525 of file event-manager.h.

Referenced by interpreter::quit().

◆ connect_link()

void event_manager::connect_link ( const std::shared_ptr< interpreter_events > &  obj)

Definition at line 90 of file event-manager.cc.

References disable().

◆ copy_image_to_clipboard()

bool event_manager::copy_image_to_clipboard ( const std::string &  file)
inline

Definition at line 561 of file event-manager.h.

Referenced by octave::F__event_manager_copy_image_to_clipboard__().

◆ debug_cd_or_addpath_error()

int event_manager::debug_cd_or_addpath_error ( const std::string &  file,
const std::string &  dir,
bool  addpath_option 
)
inline

Definition at line 540 of file event-manager.h.

Referenced by load_path::contains_file_in_dir().

◆ directory_changed()

void event_manager::directory_changed ( const std::string &  dir)
inline

Definition at line 646 of file event-manager.h.

Referenced by interpreter::chdir().

◆ disable()

bool event_manager::disable ( )
inline

Definition at line 312 of file event-manager.h.

Referenced by connect_link(), and process_events().

◆ discard_events()

void event_manager::discard_events ( )

◆ display_exception()

bool event_manager::display_exception ( const execution_exception ee,
bool  beep = false 
)
inline

Definition at line 612 of file event-manager.h.

Referenced by error_system::display_exception().

◆ edit_file()

bool event_manager::edit_file ( const std::string &  file)
inline

Definition at line 509 of file event-manager.h.

Referenced by octave::F__event_manager_edit_file__().

◆ edit_variable()

bool event_manager::edit_variable ( const std::string &  name,
const octave_value val 
)
inline

Definition at line 514 of file event-manager.h.

Referenced by octave::Fopenvar().

◆ enable()

bool event_manager::enable ( )

Definition at line 99 of file event-manager.cc.

References m_link_enabled, and warning().

◆ enabled()

bool event_manager::enabled ( ) const
inline

◆ enter_debugger_event()

void event_manager::enter_debugger_event ( const std::string &  fcn_name,
const std::string &  fcn_file_name,
int  line 
)
inline

Definition at line 719 of file event-manager.h.

◆ execute_command_in_terminal()

void event_manager::execute_command_in_terminal ( const std::string &  command)
inline

Definition at line 573 of file event-manager.h.

◆ execute_in_debugger_event()

void event_manager::execute_in_debugger_event ( const std::string &  file,
int  line 
)
inline

Definition at line 730 of file event-manager.h.

◆ exit_debugger_event()

void event_manager::exit_debugger_event ( )
inline

Definition at line 736 of file event-manager.h.

◆ file_dialog()

std::list<std::string> event_manager::file_dialog ( const filter_list filter,
const std::string &  title,
const std::string &  filename,
const std::string &  dirname,
const std::string &  multimode 
)
inline

Definition at line 390 of file event-manager.h.

References dirname(), and filter().

Referenced by octave::F__event_manager_file_dialog__().

◆ file_remove()

void event_manager::file_remove ( const std::string &  old_name,
const std::string &  new_name 
)
inline

◆ file_renamed()

void event_manager::file_renamed ( bool  load_new)
inline

◆ focus_window()

virtual void event_manager::focus_window ( const std::string  win_name)
inlinevirtual

◆ get_named_icon()

uint8NDArray event_manager::get_named_icon ( const std::string &  icon_name)
inline

Definition at line 549 of file event-manager.h.

Referenced by octave::F__event_manager_named_icon__().

◆ gui_preference()

std::string event_manager::gui_preference ( const std::string &  key,
const std::string &  value 
)
inline

Definition at line 555 of file event-manager.h.

Referenced by octave::F__event_manager_gui_preference__().

◆ gui_status_update()

bool event_manager::gui_status_update ( const std::string &  feature,
const std::string &  status 
)
inline

◆ have_dialogs()

bool event_manager::have_dialogs ( ) const
inline

Definition at line 382 of file event-manager.h.

Referenced by octave::F__event_manager_have_dialogs__().

◆ input_dialog()

std::list<std::string> event_manager::input_dialog ( const std::list< std::string > &  prompt,
const std::string &  title,
const std::list< float > &  nr,
const std::list< float > &  nc,
const std::list< std::string > &  defaults 
)
inline

Definition at line 401 of file event-manager.h.

Referenced by octave::F__event_manager_input_dialog__().

◆ install_qt_event_handlers()

void event_manager::install_qt_event_handlers ( const std::shared_ptr< interpreter_events > &  obj)
inline

Definition at line 329 of file event-manager.h.

◆ interpreter_interrupted()

void event_manager::interpreter_interrupted ( )
inline

Definition at line 753 of file event-manager.h.

Referenced by interpreter::recover_from_exception().

◆ interpreter_output()

bool event_manager::interpreter_output ( const std::string &  msg)
inline

Definition at line 601 of file event-manager.h.

◆ list_dialog()

std::pair<std::list<int>, int> event_manager::list_dialog ( const std::list< std::string > &  list,
const std::string &  mode,
int  width,
int  height,
const std::list< int > &  initial_value,
const std::string &  name,
const std::list< std::string > &  prompt,
const std::string &  ok_string,
const std::string &  cancel_string 
)
inline

Definition at line 413 of file event-manager.h.

Referenced by octave::F__event_manager_list_dialog__().

◆ pop_event_queue()

void event_manager::pop_event_queue ( )

Definition at line 148 of file event-manager.cc.

References m_gui_event_queue.

◆ post_event() [1/2]

void event_manager::post_event ( const fcn_callback fcn)

Definition at line 164 of file event-manager.cc.

References enabled(), and m_gui_event_queue.

◆ post_event() [2/2]

void event_manager::post_event ( const meth_callback meth)

Definition at line 174 of file event-manager.cc.

References enabled(), and m_gui_event_queue.

◆ post_input_event()

void event_manager::post_input_event ( )
inline

Definition at line 713 of file event-manager.h.

◆ pre_input_event()

void event_manager::pre_input_event ( )
inline

Definition at line 707 of file event-manager.h.

◆ process_events()

void event_manager::process_events ( bool  disable = false)

◆ prompt_new_edit_file()

bool event_manager::prompt_new_edit_file ( const std::string &  file)
inline

Definition at line 535 of file event-manager.h.

Referenced by octave::F__event_manager_edit_file__().

◆ push_event_queue()

void event_manager::push_event_queue ( )

Definition at line 141 of file event-manager.cc.

References m_gui_event_queue.

Referenced by event_manager().

◆ qt_event_handlers()

std::shared_ptr<interpreter_events> event_manager::qt_event_handlers ( ) const
inline

Definition at line 335 of file event-manager.h.

◆ question_dialog()

std::string event_manager::question_dialog ( const std::string &  msg,
const std::string &  title,
const std::string &  btn1,
const std::string &  btn2,
const std::string &  btn3,
const std::string &  btndef 
)
inline

Definition at line 430 of file event-manager.h.

Referenced by octave::F__event_manager_question_dialog__().

◆ register_documentation()

bool event_manager::register_documentation ( const std::string &  file)
inline

Definition at line 579 of file event-manager.h.

Referenced by octave::F__event_manager_register_documentation__().

◆ set_history() [1/2]

void event_manager::set_history ( )

Definition at line 196 of file event-manager.cc.

References enabled(), and command_history::list().

Referenced by history_system::do_history(), and history_system::initialize().

◆ set_history() [2/2]

void event_manager::set_history ( const string_vector hist)
inline

Definition at line 689 of file event-manager.h.

◆ set_workspace() [1/2]

void event_manager::set_workspace ( )

◆ set_workspace() [2/2]

void event_manager::set_workspace ( bool  top_level,
const symbol_info_list syminfo,
bool  update_variable_editor = true 
)
inline

Definition at line 667 of file event-manager.h.

◆ show_command_history()

void event_manager::show_command_history ( )
inline

Definition at line 485 of file event-manager.h.

Referenced by octave::F__event_manager_show_command_history__().

◆ show_community_news()

void event_manager::show_community_news ( int  serial = -1)
inline

Definition at line 497 of file event-manager.h.

Referenced by octave::F__event_manager_show_community_news__().

◆ show_documentation()

bool event_manager::show_documentation ( const std::string &  file)
inline

Definition at line 474 of file event-manager.h.

Referenced by octave::F__event_manager_show_documentation__().

◆ show_file_browser()

void event_manager::show_file_browser ( )
inline

Definition at line 479 of file event-manager.h.

Referenced by octave::F__event_manager_show_file_browser__().

◆ show_preferences()

bool event_manager::show_preferences ( )
inline

Definition at line 446 of file event-manager.h.

Referenced by octave::F__event_manager_show_preferences__().

◆ show_release_notes()

void event_manager::show_release_notes ( )
inline

Definition at line 503 of file event-manager.h.

Referenced by octave::F__event_manager_show_release_notes__().

◆ show_terminal_window()

void event_manager::show_terminal_window ( )
inline

Definition at line 468 of file event-manager.h.

Referenced by octave::F__event_manager_show_terminal_window__().

◆ show_workspace()

void event_manager::show_workspace ( )
inline

Definition at line 491 of file event-manager.h.

Referenced by octave::F__event_manager_show_workspace__().

◆ start_gui()

void event_manager::start_gui ( bool  gui_app = false)
inline

Definition at line 368 of file event-manager.h.

Referenced by interpreter::execute(), and octave::Fdesktop().

◆ unregister_documentation()

bool event_manager::unregister_documentation ( const std::string &  file)
inline

◆ update_breakpoint()

void event_manager::update_breakpoint ( bool  insert,
const std::string &  file,
int  line,
const std::string &  cond = "" 
)
inline

◆ update_gui_lexer()

bool event_manager::update_gui_lexer ( )
inline

Definition at line 635 of file event-manager.h.

Referenced by octave::F__event_manager_update_gui_lexer__().

◆ update_path_dialog()

void event_manager::update_path_dialog ( )
inline

Definition at line 440 of file event-manager.h.

References application::is_gui_running().

Referenced by load_path::rehash().

◆ update_prompt()

void event_manager::update_prompt ( const std::string &  prompt)
inline

Definition at line 681 of file event-manager.h.

Member Data Documentation

◆ m_debugging

bool event_manager::m_debugging
protected

Definition at line 776 of file event-manager.h.

Referenced by set_workspace().

◆ m_event_queue_mutex

mutex* event_manager::m_event_queue_mutex
protected

Definition at line 762 of file event-manager.h.

Referenced by ~event_manager(), discard_events(), and process_events().

◆ m_gui_event_queue

std::stack<std::shared_ptr <event_queue> > event_manager::m_gui_event_queue
protected

◆ m_link_enabled

bool event_manager::m_link_enabled
protected

Definition at line 777 of file event-manager.h.

Referenced by enable().


The documentation for this class was generated from the following files: