view libgui/src/m-editor/octave-qscintilla.h @ 17628:99ffa521ecec

Add possibility to edit the function related to the actual keyword in editor * octave-qscintilla.cc(get_actual_word): new internal function; (context_help_doc): uses new function get_actual_word; (contextMenuEvent): new context menu for editing function of actual keyword (context_edit): function for edit action in editor file menu; (contextmenu_edit): new slot for context menu; * octave-qscintilla.h: new functions context_edit, contextmenu_edit, get_actual_word * file-editor-tab.cc(context_edit): new slot for editor menu action * file-editor-tab.h: new slot context_edit * file-editor.cc(request_context_edit): new slot for file menu entry; (construct): new entry in file menu for editing function of actual keyword; (add_file_editor_tab): connect new signal fetab_context_edit to the new slot context_edit in file_editor_tab; (set_shortcuts): enable/disable new shortcut when editor focus changes (check_actions): enable/disable new action depending on existing tabs * file-editor.h: new signal fetab_context_edit, new slot request_context_edit, new edit function action
author Torsten <ttl@justmail.de>
date Fri, 11 Oct 2013 14:12:37 +0200
parents 811019b9ef57
children 7945344506ae
line wrap: on
line source

/*

Copyright (C) 2013 Torsten

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
<http://www.gnu.org/licenses/>.

*/

// Author: Torsten <ttl@justmail.de>

#if !defined (octave_qscintilla_h)
#define octave_qscintilla_h 1

#include <Qsci/qsciscintilla.h>
#include <QMenu>
#include <QContextMenuEvent>

class octave_qscintilla : public QsciScintilla
{
  Q_OBJECT

public:

  octave_qscintilla (QWidget *p);
  ~octave_qscintilla ();

#ifdef HAVE_QSCI_VERSION_2_6_0
  virtual void contextMenuEvent (QContextMenuEvent *e);
#endif
  void context_help_doc (bool);
  void context_edit ();
  void get_global_textcursor_pos (QPoint *global_pos, QPoint *local_pos);
  bool get_actual_word ();

signals:

  void execute_command_in_terminal_signal (const QString&);

private slots:

  void contextmenu_help (bool);
  void contextmenu_doc (bool);
  void contextmenu_help_doc (bool);
  void contextmenu_edit (bool);

private:

  QString _word_at_cursor;

};

#endif