33#include <QApplication>
43#include <QStackedWidget>
51#include "builtin-defun-decls.h"
69 static QSignalMapper *
73 list <<
"plot" <<
"bar" <<
"stem" <<
"stairs" <<
"area" <<
"pie" <<
"hist";
75 QSignalMapper *plot_mapper =
new QSignalMapper (menu);
77 for (
int i = 0; i < list.size(); ++i)
78 plot_mapper->setMapping
79 (menu->addAction (list.at (i), plot_mapper, SLOT (map ())), list.at (i));
91 , m_waiting_for_mouse_move (false)
92 , m_waiting_for_mouse_button_release (false)
95 setFocusPolicy (Qt::StrongFocus);
96 setAttribute (Qt::WA_DeleteOnClose);
102 connect (
this, &variable_dock_widget::topLevelChanged,
105#define DOCKED_FULLSCREEN_BUTTON_TOOLTIP "Fullscreen undock"
106#define UNDOCKED_FULLSCREEN_BUTTON_TOOLTIP "Fullscreen"
114 QHBoxLayout *h_layout =
m_title_widget->findChild<QHBoxLayout *> ();
117 =
new QAction (rmgr.icon (
"view-fullscreen",
false),
"",
this);
121 fullscreen_button->setFocusPolicy (Qt::NoFocus);
123 QString css_button = QString (
"QToolButton {background: transparent; border: 0px;}");
124 fullscreen_button->setStyleSheet (css_button);
131 if (first !=
nullptr)
132 index = h_layout->indexOf (first);
133 h_layout->insertWidget (index, fullscreen_button);
137 m_frame->setFrameStyle (QFrame::Box | QFrame::Sunken);
138 m_frame->setAttribute (Qt::WA_TransparentForMouseEvents);
159 setFloating (! isFloating ());
174 m_dock_action->setIcon (QIcon (
":/actions/icons/widget-dock.png"));
177 setWindowFlags (Qt::Window);
178 setWindowTitle (tr (
"Variable Editor: ") + objectName ());
185#if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
186 m_waiting_for_mouse_move =
true;
191 m_dock_action->setIcon (QIcon (
":/actions/icons/widget-undock.png"));
197#if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
198 m_waiting_for_mouse_move =
false;
199 m_waiting_for_mouse_button_release =
false;
223 QScreen *pscreen = QGuiApplication::primaryScreen ();
224 QRect rect (0, 0, 0, 0);
225 rect = pscreen->availableGeometry ();
244#undef DOCKED_FULLSCREEN_BUTTON_TOOLTIP
245#undef UNDOCKED_FULLSCREEN_BUTTON_TOOLTIP
251 QDockWidget::closeEvent (e);
257 octave_unused_parameter (now);
265 if (titleBarWidget () !=
nullptr)
267 QLabel *label = titleBarWidget ()->findChild<
QLabel *> ();
268 if (label !=
nullptr)
270 label->setBackgroundRole (QPalette::Highlight);
271 label->setStyleSheet (
"background-color: palette(highlight); color: palette(highlightedText);");
277 else if (old == focusWidget())
279 if (titleBarWidget () !=
nullptr)
281 QLabel *label = titleBarWidget ()->findChild<
QLabel *> ();
282 if (label !=
nullptr)
284 label->setBackgroundRole (QPalette::NoRole);
285 label->setStyleSheet (
";");
298#if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
301 variable_dock_widget::event (QEvent *event)
305 if (event->type () == QEvent::MouseButtonPress)
307 m_waiting_for_mouse_move =
false;
308 m_waiting_for_mouse_button_release =
false;
310 if (event->type () == QEvent::MouseMove && m_waiting_for_mouse_move)
312 m_waiting_for_mouse_move =
false;
313 m_waiting_for_mouse_button_release =
true;
315 if (event->type () == QEvent::MouseButtonRelease
316 && m_waiting_for_mouse_button_release)
318 m_waiting_for_mouse_button_release =
false;
319 bool retval = QDockWidget::event (event);
325 return QDockWidget::event (event);
335 m_waiting_for_mouse_move =
false;
336 m_waiting_for_mouse_button_release =
false;
343 m_waiting_for_mouse_move =
false;
344 m_waiting_for_mouse_button_release =
false;
369 setFocusPolicy (Qt::StrongFocus);
382 viewer->setLineWrapMode (QTextEdit::NoWrap);
383 viewer->setReadOnly (
true);
414 if (model !=
nullptr)
415 m_disp_view->setPlainText (model->data (QModelIndex ()).toString ());
431 QString
name = objectName ();
435 if (
name.endsWith (
')') ||
name.endsWith (
'}'))
437 name.remove ( QRegExp (
"[({][^({]*[)}]$)") );
481 QString file_ext =
"txt";
496 opts = QFileDialog::DontUseNativeDialog;
498 QString
name = objectName ();
500 = QFileDialog::getSaveFileName (
this,
501 tr (
"Save Variable %1 As").arg (
name),
502 QString (
"./%1.%2").arg (
name).arg (file_ext),
503 0, 0, QFileDialog::Option (opts));
515 std::list<octave_value> str_list
530 :
QTableView (p), m_octave_qobj (oct_qobj), m_var_model (nullptr)
533 setContextMenuPolicy (Qt::CustomContextMenu);
534 setSelectionMode (QAbstractItemView::ContiguousSelection);
536 horizontalHeader ()->setContextMenuPolicy (Qt::CustomContextMenu);
537 verticalHeader ()->setContextMenuPolicy (Qt::CustomContextMenu);
539 setHorizontalScrollMode (QAbstractItemView::ScrollPerPixel);
540 setVerticalScrollMode (QAbstractItemView::ScrollPerPixel);
542 verticalHeader ()->setSectionResizeMode (QHeaderView::Interactive);
548 QTableView::setModel (model);
550 horizontalHeader ()->setSectionResizeMode (QHeaderView::Interactive);
559 QFontMetrics fm (font ());
562 horizontalHeader ()->setDefaultSectionSize (
w);
569 QItemSelectionModel *sel = selectionModel ();
572 if (! sel->hasSelection ())
584 for (
const auto& idx : indices)
586 from_row =
std::min (from_row, idx.row ());
587 to_row =
std::max (to_row, idx.row ());
588 from_col =
std::min (from_col, idx.column ());
589 to_col =
std::max (to_col, idx.column ());
593 vect << from_row + 1 << to_row + 1 << from_col + 1 << to_col + 1;
606 if (
range.isEmpty ())
622 QString variable = QString (
"%1(%2:%3,%4:%5)")
624 .arg (
range.at (0)).arg (s1)
625 .arg (
range.at (2)).arg (s2);
630 command = QString (
"unnamed = %1;").arg (variable);
632 command = QString (
"figure (); %1 (%2); title ('%2');")
633 .arg (cmd).arg (variable);
640 const QString& qualifier_string)
644 menu->addAction (rmgr.
icon (
"edit-cut"),
645 tr (
"Cut") + qualifier_string,
648 menu->addAction (rmgr.
icon (
"edit-copy"),
649 tr (
"Copy") + qualifier_string,
652 menu->addAction (rmgr.
icon (
"edit-paste"),
656 menu->addSeparator ();
658 menu->addAction (rmgr.
icon (
"edit-delete"),
659 tr (
"Clear") + qualifier_string,
662 menu->addAction (rmgr.
icon (
"edit-delete"),
663 tr (
"Delete") + qualifier_string,
666 menu->addAction (rmgr.
icon (
"document-new"),
667 tr (
"Variable from Selection"),
674 QModelIndex index = indexAt (qpos);
676 if (index.isValid ())
685 menu->addAction (tr (
"Transpose"),
688 QItemSelectionModel *sel = selectionModel ();
692 if (! indices.isEmpty ())
694 menu->addSeparator ();
698 connect (plot_mapper, SIGNAL (mapped (
const QString&)),
702 menu->exec (mapToGlobal (qpos));
709 int index = horizontalHeader ()->logicalIndexAt (pt);
711 if (index < 0 || index > model ()->columnCount ())
716 bool nothingSelected = coords.isEmpty ();
718 bool whole_columns_selected
721 : (coords[0] == 1 && coords[1] == model ()->rowCount ()));
723 bool current_column_selected
724 = nothingSelected ? false : (coords[2] <= index+1 && coords[3] > index);
726 int column_selection_count
727 = nothingSelected ? 0 : (coords[3] - coords[2] + 1);
729 if (! whole_columns_selected || ! current_column_selected)
731 selectColumn (index);
732 column_selection_count = 1;
735 QString column_string
736 = column_selection_count > 1 ? tr (
" columns") : tr (
" column");
742 menu->addSeparator ();
746 connect (plot_mapper, SIGNAL (mapped (
const QString&)),
750 menupos.setY (horizontalHeader ()->height ());
752 menu->exec (mapToGlobal (menupos));
758 int index = verticalHeader ()->logicalIndexAt (pt);
760 if (index < 0 || index > model ()->columnCount ())
765 bool nothingSelected = coords.isEmpty ();
767 bool whole_rows_selected
770 : (coords[2] == 1 && coords[3] == model ()->columnCount ()));
772 bool current_row_selected
773 = (nothingSelected ? false : (coords[0] <= index+1 && coords[1] > index));
775 int rowselection_count = nothingSelected ? 0 : (coords[3] - coords[2] + 1);
777 if (! whole_rows_selected || ! current_row_selected)
780 rowselection_count = 1;
783 QString row_string = rowselection_count > 1 ? tr (
" rows") : tr (
" row");
789 menu->addSeparator ();
793 connect (plot_mapper, SIGNAL (mapped (
const QString&)),
797 menupos.setX (verticalHeader ()->width ());
803 menu->exec (mapToGlobal (menupos));
829 QAbstractItemModel *
mod = model ();
832 if (coords.isEmpty ())
835 bool whole_columns_selected
836 = coords[0] == 1 && coords[1] ==
mod->rowCount ();
838 bool whole_rows_selected
839 = coords[2] == 1 && coords[3] ==
mod->columnCount ();
843 if (whole_columns_selected == whole_rows_selected)
846 if (whole_rows_selected)
847 mod->removeRows (coords[0], coords[1] - coords[0]);
849 if (whole_columns_selected)
850 mod->removeColumns (coords[2], coords[3] - coords[2]);
862 QItemSelectionModel *sel = selectionModel ();
867 for (
const auto& idx : indices)
885 QItemSelectionModel *sel = selectionModel ();
887 std::sort (indices.begin (), indices.end ());
889 if (indices.isEmpty ())
895 QAbstractItemModel *
mod = model ();
896 QModelIndex previous = indices.first ();
897 QString copy =
mod->data (previous).toString ();
898 indices.removeFirst ();
899 for (
auto idx : indices)
901 copy.push_back (previous.row () != idx.row () ?
'\n' :
'\t');
902 copy.append (
mod->data (idx).toString ());
906 QClipboard *clipboard = QApplication::clipboard ();
907 clipboard->setText (copy);
916 QAbstractItemModel *
mod = model ();
917 QItemSelectionModel *sel = selectionModel ();
920 QClipboard *clipboard = QApplication::clipboard ();
921 QString text = clipboard->text ();
925 QPoint tabsize = QPoint (
mod->rowCount (),
mod->columnCount ());
927 if (indices.isEmpty ())
929 start = QPoint (0, 0);
932 else if (indices.size () == 1)
934 start = QPoint (indices[0].row (), indices[0].column ());
942 for (
int i = 0; i < indices.size (); i++)
944 if (indices[i].column () < start.y ())
945 start.setY (indices[i].column ());
947 if (indices[i].column () > end.y ())
948 end.setY (indices[i].column ());
950 if (indices[i].row () < start.x ())
951 start.setX (indices[i].column ());
953 if (indices[i].row () > end.x ())
954 end.setX (indices[i].column ());
961 QStringList rows = text.split (
'\n');
962 for (
const auto& row : rows)
964 if (rownum > end.x () - start.x ())
967 QStringList cols = row.split (
'\t');
971 for (
const auto& col : cols)
975 if (colnum > end.y () - start.y () )
978 mod->setData (
mod->index (rownum + start.x (),
979 colnum + start.y ()),
993 if (action == QAbstractSlider::SliderSingleStepAdd
994 || action == QAbstractSlider::SliderPageStepAdd
995 || action == QAbstractSlider::SliderToMaximum
996 || action == QAbstractSlider::SliderMove)
1000 QScrollBar *sb = horizontalScrollBar ();
1002 if (sb && sb->value () == sb->maximum ())
1015 if (action == QAbstractSlider::SliderSingleStepAdd
1016 || action == QAbstractSlider::SliderPageStepAdd
1017 || action == QAbstractSlider::SliderToMaximum
1018 || action == QAbstractSlider::SliderMove)
1022 QScrollBar *sb = verticalScrollBar ();
1024 if (sb && sb->value () == sb->maximum ())
1040 installEventFilter (
this);
1045 if (ev->type () == QEvent::HoverEnter)
1047 else if (ev->type () == QEvent::MouseButtonPress)
1050 return QToolButton::eventFilter (obj, ev);
1056 installEventFilter (
this);
1062 if (ev->type () == QEvent::MouseButtonRelease && isDown ())
1067 QAction *action = defaultAction ();
1068 if (action !=
nullptr)
1069 action->activate (QAction::Trigger);
1080 installEventFilter (
this);
1085 if (ev->type () == QEvent::MouseButtonRelease && underMouse ())
1090 return QMenu::eventFilter (obj, ev);
1098 m_tool_bar (new QToolBar (m_main)),
1099 m_default_width (30),
1100 m_default_height (100),
1101 m_add_font_height (0),
1102 m_use_terminal_font (true),
1103 m_alternate_rows (true),
1108 m_current_focus_vname (
""),
1109 m_hovered_focus_vname (
""),
1110 m_plot_mapper (nullptr),
1111 m_focus_widget (nullptr),
1112 m_focus_widget_vdw (nullptr)
1115 setStatusTip (tr (
"Edit variables."));
1116 setWindowIcon (QIcon (
":/actions/icons/logo.png"));
1117 setAttribute (Qt::WA_AlwaysShowToolTips);
1119 m_main->setParent (
this);
1121#if (QT_VERSION < 0x050601) || (QT_VERSION >= 0x050701)
1122 m_main->setDockOptions (QMainWindow::AnimatedDocks |
1123 QMainWindow::AllowNestedDocks |
1124 QMainWindow::VerticalTabs);
1126 m_main->setDockNestingEnabled (
true);
1143 QMdiArea *central_mdiarea =
new QMdiArea (
m_main);
1144 central_mdiarea->setMinimumSize (QSize (0, 0));
1145 central_mdiarea->setMaximumSize (QSize (0, 0));
1146 central_mdiarea->resize (QSize (0, 0));
1147 m_main->setCentralWidget (central_mdiarea);
1157 octave_dock_widget::focusInEvent (ev);
1178 if (any_qdw !=
nullptr)
1181 any_qdw->setFocus ();
1213 if (existing_qdw != NULL)
1218 if (
m_main->focusWidget () !=
nullptr)
1220 QFocusEvent
event (QEvent::FocusOut, Qt::OtherFocusReason);
1221 QApplication::sendEvent (
m_main->focusWidget (), &
event);
1225 m_main->parentWidget ()->show ();
1226 existing_qdw->show ();
1227 existing_qdw->raise ();
1228 existing_qdw->activateWindow ();
1230 existing_qdw->setFocus ();
1238 page->setObjectName (
name);
1239 m_main->addDockWidget (Qt::LeftDockWidgetArea, page);
1246 connect (
this, &variable_editor::visibilityChanged,
1247 page, &variable_dock_widget::setVisible);
1250 connect (page, &variable_dock_widget::destroyed,
1256#if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
1257 connect (page, SIGNAL (queue_unfloat_float ()),
1258 page, SLOT (unfloat_float ()), Qt::QueuedConnection);
1259 connect (page, SIGNAL (queue_float ()),
1260 page, SLOT (refloat ()), Qt::QueuedConnection);
1266 stack->setObjectName (
name);
1267 page->setWidget (stack);
1268 page->setFocusProxy (stack);
1283 stack, [=] () { stack->
save (); });
1287 edit_view->setObjectName (
name);
1288 edit_view->setFont (
m_font);
1295 edit_view, SLOT (selected_command_requested (
const QString&)));
1297 stack, SLOT (
save (
const QString&)));
1309 connect (edit_view->horizontalHeader (),
1310 &QHeaderView::customContextMenuRequested,
1312 connect (edit_view->verticalHeader (),
1313 &QHeaderView::customContextMenuRequested,
1315 connect (edit_view, &variable_editor_view::customContextMenuRequested,
1317 connect (edit_view->horizontalScrollBar (), &QScrollBar::actionTriggered,
1319 connect (edit_view->verticalScrollBar (), &QScrollBar::actionTriggered,
1327 connect (model, &variable_editor_model::dataChanged,
1334 edit_view->setModel (model);
1335 connect (edit_view, &variable_editor_view::doubleClicked,
1352 if (page->titleBarWidget () !=
nullptr)
1354 QLabel *existing_ql = page->titleBarWidget ()->findChild<
QLabel *> ();
1358 connect (model, SIGNAL (description_changed (
const QString&)),
1359 existing_ql, SLOT (setText (
const QString&)));
1360 existing_ql->setMargin (2);
1375 page->activateWindow ();
1383 QWidget *parent = parentWidget ();
1389 QVariant this_value (
reinterpret_cast<quintptr
> (
this));
1391 for (
auto *tbar : barlist)
1393 for (
int i = 0; i < tbar->count (); i++)
1395 if (tbar->tabData (i) == this_value)
1397 tbar->setCurrentIndex (i);
1445 m_font = QFont (font_name, font_size);
1447 QFontMetrics fm (
m_font);
1466 size_idx = (size_idx > 0) - (size_idx < 0) + 1;
1468 QStyle *st = style ();
1470 m_tool_bar->setIconSize (QSize (icon_size, icon_size));
1500 if (vdwlist.isEmpty ())
1504 QFocusEvent ev (QEvent::FocusIn);
1516 QWidget *current = QApplication::focusWidget ();
1519 if (current !=
nullptr)
1522 for (
int i = 0; i < vdwlist.size (); i++)
1525 if (vdw->isAncestorOf (current))
1545 if (tofocus !=
nullptr)
1552 QApplication::setActiveWindow(tofocus->window());
1553 tofocus->activateWindow ();
1554 tofocus->setFocus (Qt::OtherFocusReason);
1611 m_stylesheet +=
"QTableView::item:selected{ background-color: "
1616 m_stylesheet +=
"QTableView::item:alternate{ background-color: "
1619 m_stylesheet +=
"QTableView::item:alternate:selected{ background-color: "
1624 for (
int i = 0; i < viewlist.size (); i++)
1640 const QString& text,
1644 QAction *action =
new QAction (icon, text,
this);
1645 connect(action, SIGNAL (triggered ()), receiver, member);
1647 button->setDefaultAction (action);
1648 button->setText (text);
1649 button->setToolTip (text);
1650 button->setIcon (icon);
1659 m_tool_bar->setAllowedAreas (Qt::TopToolBarArea);
1661 m_tool_bar->setObjectName (
"VariableEditorToolBar");
1663 m_tool_bar->setWindowTitle (tr (
"Variable Editor Toolbar"));
1668 this, SLOT (
save ()));
1670 m_save_action->setShortcutContext (Qt::WidgetWithChildrenShortcut);
1673 QAction *action =
new QAction (rmgr.
icon (
"document-save-as"), tr (
"Save in format ..."),
m_tool_bar);
1676 save_tool_button->setDefaultAction (action);
1678 save_tool_button->setText (tr (
"Save in format ..."));
1679 save_tool_button->setToolTip (tr(
"Save variable to a file in different format"));
1680 save_tool_button->setIcon (rmgr.
icon (
"document-save-as"));
1681 save_tool_button->setPopupMode (QToolButton::InstantPopup);
1684 save_menu->setTitle (tr (
"Save in format ..."));
1685 save_menu->setSeparatorsCollapsible (
false);
1694 save_tool_button->setMenu (save_menu);
1701 action->setStatusTip(tr(
"Cut data to clipboard"));
1705 action->setStatusTip(tr(
"Copy data to clipboard"));
1709 action->setStatusTip(tr(
"Paste clipboard into variable data"));
1717 action =
new QAction (rmgr.
icon (
"plot-xy-curve"), tr (
"Plot"),
m_tool_bar);
1718 action->setToolTip (tr (
"Plot Selected Data"));
1720 plot_tool_button->setDefaultAction (action);
1722 plot_tool_button->setText (tr (
"Plot"));
1723 plot_tool_button->setToolTip (tr (
"Plot selected data"));
1724 plot_tool_button->setIcon (rmgr.
icon (
"plot-xy-curve"));
1726 plot_tool_button->setPopupMode (QToolButton::InstantPopup);
1729 plot_menu->setTitle (tr (
"Plot"));
1730 plot_menu->setSeparatorsCollapsible (
false);
1734 plot_tool_button->setMenu (plot_menu);
1742 action->setStatusTip(tr(
"Go one level up in variable hierarchy"));
1749 , Qt::FindDirectChildrenOnly
1751 for (
int i = 0; i < hbuttonlist.size (); i++)
1761 , Qt::FindDirectChildrenOnly
1763 for (
int i = 0; i < rfbuttonlist.size (); i++)
1772 for (
int i = 0; i < menulist.size (); i++)
1778 m_tool_bar->setAttribute(Qt::WA_ShowWithoutActivating);
charNDArray max(char d, const charNDArray &m)
charNDArray min(char d, const charNDArray &m)
Base class for Octave interfaces that use Qt.
shortcut_manager & get_shortcut_manager(void)
resource_manager & get_resource_manager(void)
void notice_settings(const gui_settings *)
gui_settings * get_settings(void) const
QIcon icon(const QString &icon_name, bool fallback=true)
void set_shortcut(QAction *action, const sc_pref &scpref, bool enable=true)
void maybe_resize_rows(int rows)
int column_width(void) const
void set_editable_signal(bool)
void interpreter_event(const fcn_callback &fcn)
int display_columns(void) const
void double_click(const QModelIndex &idx)
void edit_variable_signal(const QString &name, const octave_value &val)
bool clear_content(const QModelIndex &idx)
int display_rows(void) const
void update_data_cache(void)
void update_data(const octave_value &val)
octave_idx_type data_rows(void) const
void maybe_resize_columns(int cols)
octave_idx_type data_columns(void) const
void do_save(const QString &format, const QString &save_opts)
void edit_variable_signal(const QString &name, const octave_value &val)
base_qobject & m_octave_qobj
variable_editor_view * m_edit_view
void do_save_signal(const QString &format, const QString &save_opts)
variable_editor_stack(QWidget *p, base_qobject &oct_qobj)
void save(const QString &format=QString())
void interpreter_event(const fcn_callback &fcn)
variable_editor_view * edit_view(void)
void set_editable(bool editable)
QTextEdit * make_disp_view(QWidget *parent)
void add_edit_actions(QMenu *menu, const QString &qualifier_string)
QList< int > range_selected(void)
void createColumnMenu(const QPoint &pt)
void pasteClipboard(void)
void selected_command_requested(const QString &cmd)
void command_signal(const QString &cmd)
variable_editor_model * m_var_model
void createContextMenu(const QPoint &pt)
variable_editor_view(QWidget *p, base_qobject &oct_qobj)
void delete_selected(void)
void handle_vertical_scroll_action(int action)
base_qobject & m_octave_qobj
void createRowMenu(const QPoint &pt)
void transposeContent(void)
void createVariable(void)
void setModel(QAbstractItemModel *model)
void handle_horizontal_scroll_action(int action)
void variable_destroyed(QObject *obj)
void clear_content_signal(void)
void closeEvent(QCloseEvent *)
void copy_clipboard_signal(void)
void record_hovered_focus_variable(void)
void interpreter_event(const fcn_callback &fcn)
QList< QColor > m_table_colors
QAction * add_tool_bar_button(const QIcon &icon, const QString &text, const QObject *receiver, const char *member)
variable_editor(QWidget *parent, base_qobject &oct_qobj)
void notice_settings(const gui_settings *)
QString m_hovered_focus_vname
variable_dock_widget * m_focus_widget_vdw
void paste_clipboard_signal(void)
QSignalMapper * m_save_mapper
void level_up_signal(void)
void refresh_signal(void)
void edit_variable(const QString &name, const octave_value &val)
void focusInEvent(QFocusEvent *ev)
void delete_selected_signal(void)
void command_signal(const QString &cmd)
void restore_hovered_focus_variable(void)
void callUpdate(const QModelIndex &, const QModelIndex &)
void construct_tool_bar(void)
void pasteClipboard(void)
void variable_focused(const QString &name)
QSignalMapper * m_plot_mapper
QString m_current_focus_vname
const gui_pref cs_font_size("terminal/fontSize", QVariant(10))
const gui_pref cs_font("terminal/fontName", QVariant())
const gui_pref global_mono_font("monospace_font", global_font_family)
const QStyle::PixelMetric global_icon_sizes[3]
const gui_pref global_use_native_dialogs("use_native_file_dialogs", QVariant(true))
const gui_pref global_icon_size("toolbar_icon_size", QVariant(0))
const sc_pref sc_edit_file_save(sc_edit_file+":save", QKeySequence::Save)
const gui_pref ve_color_mode("variable_editor/color_mode", QVariant(0))
const int ve_colors_count
const QStringList ve_save_formats(QStringList()<< "ascii"<< "binary"<< "float-binary"<< "hdf5"<< "float-hdf5"<< "text"<< "mat7-binary"<< "mat-binary"<< "mat4-binary"<< "zip")
const gui_pref ve_column_width("variable_editor/column_width", QVariant(100))
const QStringList ve_save_formats_ext(QStringList()<< "-ascii"<< "dat"<< "-hdf5"<< "h5"<< "-text"<< "txt"<< "-v7.3"<< "mat"<< "-7.3"<< "mat"<< "-v7"<< "mat"<< "-7"<< "mat"<< "-mat7-binary"<< "mat"<< "-v6"<< "mat"<< "-6"<< "mat"<< "-mat-binary"<< "mat"<< "-v4"<< "mat"<< "-4"<< "mat"<< "-mat4-binary"<< "mat"<< "-binary"<< "bin"<< "-z"<< "txt.gz")
const gui_pref ve_use_terminal_font("variable_editor/use_terminal_font", QVariant(true))
const gui_pref ve_font_size("variable_editor/font_size", QVariant(10))
const gui_pref ve_alternate_rows("variable_editor/alternate_rows", QVariant(false))
const gui_pref ve_font_name("variable_editor/font_name", QVariant())
const gui_pref ve_colors[2 *ve_colors_count]
const gui_pref ve_row_height("variable_editor/row_height", QVariant(10))
OCTAVE_EXPORT octave_value_list Fsave(octave::interpreter &interp, const octave_value_list &args, int nargout)
OCTAVE_EXPORT octave_value_list Fsave_default_options(octave::interpreter &interp, const octave_value_list &args, int nargout)
std::complex< double > w(std::complex< double > z, double relerr=0)
QString fromStdString(const std::string &s)
static QSignalMapper * make_plot_mapper(QMenu *menu)
int qt_fontmetrics_horizontal_advance(const QFontMetrics &fm, QChar ch)
octave_int< T > mod(const octave_int< T > &x, const octave_int< T > &y)
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.
static std::string format_string("short")
std::size_t format(std::ostream &os, const char *fmt,...)
#define DOCKED_FULLSCREEN_BUTTON_TOOLTIP
#define UNDOCKED_FULLSCREEN_BUTTON_TOOLTIP
#define QTBUG_44813_FIX_VERSION