26#if ! defined (octave_event_manager_h)
27#define octave_event_manager_h 1
29#include "octave-config.h"
51 class symbol_info_list;
105 typedef std::list<std::pair<std::string, std::string>>
filter_list;
107 virtual std::list<std::string>
114 return std::list<std::string> ();
117 virtual std::list<std::string>
120 const std::list<float>& ,
121 const std::list<float>& ,
122 const std::list<std::string>& )
124 return std::list<std::string> ();
127 virtual std::pair<std::list<int>,
int>
129 const std::string& ,
int ,
int ,
130 const std::list<int>& ,
132 const std::list<std::string>& ,
136 return std::pair<std::list<int>,
int> ();
141 const std::string& ,
const std::string& ,
142 const std::string& ,
const std::string& )
169 virtual bool edit_file (
const std::string& ) {
return false; }
232 const std::string& ) { }
249 const symbol_info_list& ,
280 int ,
const std::string& )
311 connect_link (
const std::shared_ptr<interpreter_events>& obj);
313 OCTINTERP_API
bool enable (
void);
337 std::shared_ptr<interpreter_events>
390 typedef std::list<std::pair<std::string, std::string>>
filter_list;
392 std::list<std::string>
394 const std::string& filename,
const std::string&
dirname,
395 const std::string& multimode)
400 : std::list<std::string> ());
403 std::list<std::string>
405 const std::string& title,
406 const std::list<float>& nr,
407 const std::list<float>& nc,
408 const std::list<std::string>& defaults)
411 ?
m_instance->input_dialog (prompt, title, nr, nc, defaults)
412 : std::list<std::string> ());
415 std::pair<std::list<int>,
int>
417 const std::string& mode,
418 int width,
int height,
419 const std::list<int>& initial_value,
420 const std::string&
name,
421 const std::list<std::string>& prompt,
422 const std::string& ok_string,
423 const std::string& cancel_string)
426 ?
m_instance->list_dialog (list, mode, width, height,
427 initial_value,
name, prompt,
428 ok_string, cancel_string)
429 : std::pair<std::list<int>,
int> ());
434 const std::string& btn1,
const std::string& btn2,
435 const std::string& btn3,
const std::string& btndef)
438 ?
m_instance->question_dialog (msg, title, btn1,
544 const std::string& dir,
bool addpath_option)
547 ?
m_instance->debug_cd_or_addpath_error (file, dir,
559 const std::string& value)
579 m_instance->execute_command_in_terminal (command);
630 m_instance->gui_status_update (feature, status);
655 void file_remove (
const std::string& old_name,
const std::string& new_name)
670 bool update_variable_editor =
true)
674 update_variable_editor);
722 const std::string& fcn_file_name,
int line)
728 m_instance->enter_debugger_event (fcn_name, fcn_file_name, line);
735 m_instance->execute_in_debugger_event (file, line);
749 int line,
const std::string& cond =
"")
752 m_instance->update_breakpoint (insert, file, line, cond);
static bool is_gui_running(void)
Provides threadsafe access to octave.
void append_history(const std::string &hist_entry)
void show_workspace(void)
bool show_documentation(const std::string &file)
void update_path_dialog(void)
OCTINTERP_API void connect_link(const std::shared_ptr< interpreter_events > &obj)
bool edit_variable(const std::string &name, const octave_value &val)
void push_event_queue(void)
void file_renamed(bool load_new)
virtual void focus_window(const std::string win_name)
OCTINTERP_API void set_workspace(void)
bool show_preferences(void)
bool register_documentation(const std::string &file)
bool confirm_shutdown(void)
bool have_dialogs(void) const
OCTINTERP_API event_manager(interpreter &interp)
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)
void enter_debugger_event(const std::string &fcn_name, const std::string &fcn_file_name, int line)
bool unregister_documentation(const std::string &file)
std::shared_ptr< interpreter_events > m_instance
void install_qt_event_handlers(const std::shared_ptr< interpreter_events > &obj)
void execute_command_in_terminal(const std::string &command)
bool update_gui_lexer(void)
uint8NDArray get_named_icon(const std::string &icon_name)
void clear_workspace(void)
void pop_event_queue(void)
std::list< std::pair< std::string, std::string > > filter_list
OCTINTERP_API void set_history(void)
void file_remove(const std::string &old_name, const std::string &new_name)
OCTINTERP_API void process_events(bool disable=false)
void post_input_event(void)
void set_history(const string_vector &hist)
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)
bool copy_image_to_clipboard(const std::string &file)
std::shared_ptr< interpreter_events > qt_event_handlers(void) const
bool prompt_new_edit_file(const std::string &file)
OCTINTERP_API void discard_events(void)
event_manager(const event_manager &)=delete
OCTINTERP_API bool enable(void)
void directory_changed(const std::string &dir)
mutex * m_event_queue_mutex
void set_workspace(bool top_level, const symbol_info_list &syminfo, bool update_variable_editor=true)
void show_command_history(void)
void start_gui(bool gui_app=false)
bool interpreter_output(const std::string &msg)
void exit_debugger_event(void)
bool gui_status_update(const std::string &feature, const std::string &status)
bool display_exception(const execution_exception &ee, bool beep=false)
OCTINTERP_API void post_event(const fcn_callback &fcn)
void interpreter_interrupted(void)
std::string gui_preference(const std::string &key, const std::string &value)
void show_release_notes(void)
interpreter & m_interpreter
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)
std::stack< std::shared_ptr< event_queue > > m_gui_event_queue
void show_community_news(int serial=-1)
std::shared_ptr< interpreter_events > m_qt_event_handlers
int debug_cd_or_addpath_error(const std::string &file, const std::string &dir, bool addpath_option)
void show_terminal_window(void)
bool apply_preferences(void)
virtual ~event_manager(void)
bool edit_file(const std::string &file)
void update_breakpoint(bool insert, const std::string &file, int line, const std::string &cond="")
void update_prompt(const std::string &prompt)
void execute_in_debugger_event(const std::string &file, int line)
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)
event_manager & operator=(const event_manager &)=delete
void pre_input_event(void)
void show_file_browser(void)
virtual void register_documentation(const std::string &)
virtual void clear_history(void)
virtual std::list< std::string > file_dialog(const filter_list &, const std::string &, const std::string &, const std::string &, const std::string &)
virtual bool have_dialogs(void) const
virtual void apply_preferences(void)
std::list< std::pair< std::string, std::string > > filter_list
virtual void enter_debugger_event(const std::string &, const std::string &, int)
virtual void set_workspace(bool, bool, const symbol_info_list &, bool)
virtual void interpreter_output(const std::string &)
virtual std::string gui_preference(const std::string &, const std::string &)
virtual void show_community_news(int)
virtual bool copy_image_to_clipboard(const std::string &)
virtual void append_history(const std::string &)
virtual void directory_changed(const std::string &)
virtual void show_workspace(void)
virtual bool edit_file(const std::string &)
virtual ~interpreter_events(void)=default
virtual void update_path_dialog(void)
interpreter_events(const interpreter_events &)=default
virtual bool confirm_shutdown(void)
virtual void interpreter_interrupted(void)
virtual void update_gui_lexer(void)
virtual bool prompt_new_edit_file(const std::string &)
virtual int debug_cd_or_addpath_error(const std::string &, const std::string &, bool)
interpreter_events(void)=default
virtual std::pair< std::list< int >, int > list_dialog(const std::list< std::string > &, const std::string &, int, int, const std::list< int > &, const std::string &, const std::list< std::string > &, const std::string &, const std::string &)
virtual void show_command_history(void)
virtual void update_breakpoint(bool, const std::string &, int, const std::string &)
virtual void execute_command_in_terminal(const std::string &)
virtual void close_gui(void)
virtual uint8NDArray get_named_icon(const std::string &)
virtual void show_release_notes(void)
virtual void file_remove(const std::string &, const std::string &)
virtual void file_renamed(bool)
virtual void update_prompt(const std::string &)
virtual void show_preferences(void)
virtual void start_gui(bool=false)
virtual void show_terminal_window(void)
virtual void edit_variable(const std::string &, const octave_value &)
virtual void show_file_browser(void)
virtual void execute_in_debugger_event(const std::string &, int)
virtual void exit_debugger_event(void)
virtual std::string question_dialog(const std::string &, const std::string &, const std::string &, const std::string &, const std::string &, const std::string &)
virtual void clear_workspace(void)
virtual bool show_documentation(const std::string &)
virtual void post_input_event(void)
virtual std::list< std::string > input_dialog(const std::list< std::string > &, const std::string &, const std::list< float > &, const std::list< float > &, const std::list< std::string > &)
virtual void gui_status_update(const std::string &, const std::string &)
virtual void focus_window(const std::string)
virtual void set_history(const string_vector &)
virtual void unregister_documentation(const std::string &)
virtual void pre_input_event(void)
OCTAVE_NAMESPACE_BEGIN typedef std::function< void(void)> fcn_callback
std::function< void(interpreter &)> meth_callback
OCTAVE_NAMESPACE_BEGIN MArray< T > filter(MArray< T > &b, MArray< T > &a, MArray< T > &x, MArray< T > &si, int dim=0)
std::string dirname(const std::string &path)
intNDArray< octave_uint8 > uint8NDArray