view examples/fortrandemo.cc @ 18684:86eca5d178a6 gui-release

disable some global shortcuts when editor gets focus to prevent conflicts * file-editor-tab.cc (constructor): connect signal from the qscintilla edit area about focus with the related new slot; (edit_area_has_focus): new slot for the focus signal from qscintilla edit area emitting a signal for enabling/disabling the common edit shortcuts * file-editor-tab.h: new slot edit_area_has_focus, new signal set_global_edit_shortcuts_signal * file-editor.cc (add_file_editor_tab ): connect new tab signal set_global_edit_shortcuts_signal with the related slot in main_window; (copyClipboard, pasteClipboard, selectAll): removed these functions because the related actions are triggered editor shortcuts * file-editor.h: remove copyClipboard, pasteClipboard, selectAll * octave-qscintilla.cc (focusInEvent, focusOutEvent): handlers emitting the signal about the focus state of the edit area * octave-qscintilla.h: new focus signal qsci_has_focus_signal, focus event handlers * main-window.cc (set_global_edit_shortcuts): new slot dis-/enabling the common edit shortcuts depending on focus of edit area * main-window.h: new slot set_global_edit_shortcuts
author Torsten <ttl@justmail.de>
date Sun, 27 Apr 2014 13:03:08 +0200
parents 4b32677b6229
children
line wrap: on
line source

#include <octave/oct.h>
#include <octave/f77-fcn.h>

extern "C"
{
  F77_RET_T
  F77_FUNC (fortransub, FORTSUB)
    (const int&, double*, F77_CHAR_ARG_DECL F77_CHAR_ARG_LEN_DECL);
}

DEFUN_DLD (fortrandemo, args, , "Fortran Demo")
{
  octave_value_list retval;
  int nargin = args.length ();

  if (nargin != 1)
    print_usage ();
  else
    {
      NDArray a = args(0).array_value ();
      if (! error_state)
        {
          double *av = a.fortran_vec ();
          octave_idx_type na = a.numel ();
          OCTAVE_LOCAL_BUFFER (char, ctmp, 128);

          F77_XFCN (fortransub, FORTSUB,
                    (na, av, ctmp F77_CHAR_ARG_LEN (128)));

          retval(1) = std::string (ctmp);
          retval(0) = a;
        }
    }
  return retval;
}