Mercurial > octave
view libgui/src/history-dock-widget.h @ 27620:45bb5bbaf291
don't use singleton pattern for resource manager in GUI
Move ownership of the resource_manager object to the base_qobject
class. Store reference to resource_manager object as a member
variable in most objects that need to access it. Eliminate static
member functions in resource_managar class. Provide a
get_resource_manager method in the base_qboject class and a
global __get_resource_manager__ function for those instances where we
can't easily provide local access to the resource_manager object.
There are many changes to many files, but most are straightforward.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 01 Nov 2019 18:16:49 -0400 |
parents | 0495b64288f7 |
children | 8b6e928e0705 |
line wrap: on
line source
/* Copyright (C) 2011-2019 Jacob Dawid This file is part of Octave. Octave is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <https://www.gnu.org/licenses/>. */ #if ! defined (octave_history_dock_widget_h) #define octave_history_dock_widget_h 1 #include <QCheckBox> #include <QComboBox> #include <QLineEdit> #include <QListView> #include <QSortFilterProxyModel> #include <QStringListModel> #include "octave-dock-widget.h" namespace octave { class resource_manager; class history_dock_widget : public octave_dock_widget { Q_OBJECT public: history_dock_widget (QWidget *parent, resource_manager& rmgr); ~history_dock_widget (void) = default; signals: void information (const QString& message); //! Signal emitted, whenever the user double-clicked a command in the //! history. void command_double_clicked (const QString& command); //! Signale emitted, whenever the user selects commands and chooses //! "Create script" from the popup menu. void command_create_script (const QString& commands); public slots: void set_history (const QStringList& hist); void append_history (const QString& hist_entry); void clear_history (void); void save_settings (void); void notice_settings (const gui_settings *); private slots: void update_filter_history (void); void filter_activate (bool enable); void ctxMenu (const QPoint& pos); void handle_double_click (QModelIndex modelIndex); void handle_contextmenu_copy (bool flag); void handle_contextmenu_evaluate (bool flag); void handle_contextmenu_create_script (bool flag); void handle_contextmenu_filter (void); void copyClipboard (void); void pasteClipboard (void); void selectAll (void); virtual void handle_visibility (bool visible); private: void construct (void); QListView *m_history_list_view; QSortFilterProxyModel m_sort_filter_proxy_model; //! Stores the current history_model. QStringListModel *m_history_model; QCheckBox *m_filter_checkbox; QComboBox *m_filter; QWidget *m_filter_widget; bool m_filter_shown; enum { MaxFilterHistory = 10 }; }; } #endif