changeset 14722:7784625acf66 gui

Moved symbol-information out of octave-adapter. Adjusted project file. * symbol-information.h: Moved to src-folder. * octave-link.h: removed unused headers. * src.pro: Added entry to project file.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Mon, 04 Jun 2012 22:30:08 +0200
parents ec76264adca9
children e94a54ee0f46
files gui/src/octave-adapter/octave-link.h gui/src/octave-adapter/symbol-information.h gui/src/src.pro gui/src/symbol-information.h
diffstat 4 files changed, 152 insertions(+), 154 deletions(-) [+]
line wrap: on
line diff
--- a/gui/src/octave-adapter/octave-link.h	Mon Jun 04 22:03:18 2012 +0200
+++ b/gui/src/octave-adapter/octave-link.h	Mon Jun 04 22:30:08 2012 +0200
@@ -62,12 +62,10 @@
 #include <readline/readline.h>
 #include <queue>
 
-#include "workspace-model.h"
 #include "octave-main-thread.h"
 #include "octave-event.h"
 #include "octave-event-observer.h"
 #include "octave-event-listener.h"
-#include "symbol-information.h"
 
 /**
   * \class OctaveLink
--- a/gui/src/octave-adapter/symbol-information.h	Mon Jun 04 22:03:18 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/* OctaveGUI - A graphical user interface for Octave
- * Copyright (C) 2011 Jacob Dawid (jacob.dawid@googlemail.com)
- *
- * This program 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.
- *
- * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef SYMBOLINFORMATION_H
-#define SYMBOLINFORMATION_H
-
-#include <QString>
-#include <QHash>
-
-// Octave includes
-#undef PACKAGE_BUGREPORT
-#undef PACKAGE_NAME
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-#undef PACKAGE_VERSION
-#undef PACKAGE_URL
-#include "octave/config.h"
-#include "octave/cmd-edit.h"
-#include "octave/error.h"
-#include "octave/file-io.h"
-#include "octave/input.h"
-#include "octave/lex.h"
-#include "octave/load-path.h"
-#include "octave/octave.h"
-#include "octave/oct-hist.h"
-#include "octave/oct-map.h"
-#include "octave/oct-obj.h"
-#include "octave/ops.h"
-#include "octave/ov.h"
-#include "octave/ov-usr-fcn.h"
-#include "octave/symtab.h"
-#include "octave/pt.h"
-#include "octave/pt-eval.h"
-#include "octave/config.h"
-#include "octave/Range.h"
-#include "octave/toplev.h"
-#include "octave/procstream.h"
-#include "octave/sighandlers.h"
-#include "octave/debug.h"
-#include "octave/sysdep.h"
-#include "octave/ov.h"
-#include "octave/unwind-prot.h"
-#include "octave/utils.h"
-#include "octave/variables.h"
-
-/**
-  * \struct symbol_information
-  * \brief Meta-information over a symbol-table entry.
-  * \author Jacob Dawid
-  * This struct is used to store meta information over a symbol entry.
-  * It reduces memory consumption, since it only stores relevant data
-  * about a symbol-table entry that will be used in the model for the
-  * graphical user interface.
-  */
-typedef struct symbol_information
-{
-  enum Scope
-  {
-    local       = 0,
-    global      = 1,
-    persistent  = 2,
-    hidden      = 3
-  };
-
-  QString _symbol;
-  QString _type;
-  QString _value;
-  Scope   _scope;
-
-  /** Hashes the symbol information for quickly comparing it. */
-  int
-  hash () const
-  {
-    return qHash (_symbol) + qHash (_type) + qHash (_value) + (int)_scope;
-  }
-
-  /** Compares two symbol information objects. */
-  bool
-  equals (const symbol_information& other) const
-  {
-    if (hash () == other.hash ())
-      {
-        return _symbol == other._symbol
-            && _type   == other._type
-            && _value  == other._value
-            && _scope  == other._scope;
-      }
-  }
-
-  /** Extracts meta information from a given symbol record. */
-  bool
-  from_symbol_record (const symbol_table::symbol_record& symbol_record)
-  {
-    if (symbol_record.is_local () && !symbol_record.is_global () && !symbol_record.is_hidden ())
-      _scope = local;
-    else if (symbol_record.is_global ())
-      _scope = global;
-    else if (symbol_record.is_persistent ())
-      _scope = persistent;
-    else if (symbol_record.is_hidden ())
-      _scope = hidden;
-
-    _symbol = QString (symbol_record.name ().c_str ());
-    _type   = QString (symbol_record.varval ().type_name ().c_str ());
-    octave_value ov = symbol_record.varval ();
-
-    // For every type, convert to a human readable string.
-    if (ov.is_sq_string ())
-      _value = QString ("\'%1\'").arg (ov.string_value ().c_str ());
-    else if (ov.is_dq_string ())
-      _value = QString ("\"%1\"").arg (ov.string_value ().c_str ());
-    else if (ov.is_real_scalar ())
-      _value = QString ("%1").arg (ov.scalar_value ());
-    else if (ov.is_complex_scalar ())
-      _value = QString ("%1 + %2i").arg (ov.scalar_value ())
-                                   .arg (ov.complex_value ().imag ());
-    else if (ov.is_range ())
-      _value =  QString ("%1 : %2 : %3").arg (ov.range_value ().base ())
-                                        .arg (ov.range_value ().inc ())
-                                        .arg (ov.range_value ().limit ());
-    else if (ov.is_real_matrix ())
-      _value = QString ("%1x%2").arg (ov.rows ())
-                                .arg (ov.columns ());
-    else if (ov.is_complex_matrix ())
-      _value = QString ("%1x%2").arg (ov.rows ())
-                                .arg (ov.columns ());
-    else
-      _value = QString ("<Type not recognized>");
-
-    return true;
-  }
-} symbol_information;
-
-#endif // SYMBOLINFORMATION_H
--- a/gui/src/src.pro	Mon Jun 04 22:03:18 2012 +0200
+++ b/gui/src/src.pro	Mon Jun 04 22:30:08 2012 +0200
@@ -94,11 +94,14 @@
 HEADERS += \
     octave-adapter/octave-link.h \
     octave-adapter/octave-main-thread.h \
-    octave-adapter/symbol-information.h \
+    octave-adapter/octave-event.h \
+    octave-adapter/octave-event-observer.h \
+    octave-adapter/octave-event-listener.h \
     m-editor/lexer-octave-gui.h \
     m-editor/file-editor.h \
     m-editor/file-editor-interface.h \
     m-editor/file-editor-tab.h \
+    symbol-information.h \
     main-window.h \
     workspace-view.h \
     history-dockwidget.h \
@@ -108,9 +111,6 @@
     welcome-wizard.h \
     workspace-model.h \
     terminal-dockwidget.h \
-    octave-adapter/octave-event.h \
-    octave-adapter/octave-event-observer.h \
-    octave-adapter/octave-event-listener.h \
     octave-qt-event-listener.h
 
 FORMS += \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui/src/symbol-information.h	Mon Jun 04 22:30:08 2012 +0200
@@ -0,0 +1,148 @@
+/* OctaveGUI - A graphical user interface for Octave
+ * Copyright (C) 2011 Jacob Dawid (jacob.dawid@googlemail.com)
+ *
+ * This program 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.
+ *
+ * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef SYMBOLINFORMATION_H
+#define SYMBOLINFORMATION_H
+
+#include <QString>
+#include <QHash>
+
+// Octave includes
+#undef PACKAGE_BUGREPORT
+#undef PACKAGE_NAME
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_URL
+#include "octave/config.h"
+#include "octave/cmd-edit.h"
+#include "octave/error.h"
+#include "octave/file-io.h"
+#include "octave/input.h"
+#include "octave/lex.h"
+#include "octave/load-path.h"
+#include "octave/octave.h"
+#include "octave/oct-hist.h"
+#include "octave/oct-map.h"
+#include "octave/oct-obj.h"
+#include "octave/ops.h"
+#include "octave/ov.h"
+#include "octave/ov-usr-fcn.h"
+#include "octave/symtab.h"
+#include "octave/pt.h"
+#include "octave/pt-eval.h"
+#include "octave/config.h"
+#include "octave/Range.h"
+#include "octave/toplev.h"
+#include "octave/procstream.h"
+#include "octave/sighandlers.h"
+#include "octave/debug.h"
+#include "octave/sysdep.h"
+#include "octave/ov.h"
+#include "octave/unwind-prot.h"
+#include "octave/utils.h"
+#include "octave/variables.h"
+
+/**
+  * \struct symbol_information
+  * \brief Meta-information over a symbol-table entry.
+  * \author Jacob Dawid
+  * This struct is used to store meta information over a symbol entry.
+  * It reduces memory consumption, since it only stores relevant data
+  * about a symbol-table entry that will be used in the model for the
+  * graphical user interface.
+  */
+typedef struct symbol_information
+{
+  enum Scope
+  {
+    local       = 0,
+    global      = 1,
+    persistent  = 2,
+    hidden      = 3
+  };
+
+  QString _symbol;
+  QString _type;
+  QString _value;
+  Scope   _scope;
+
+  /** Hashes the symbol information for quickly comparing it. */
+  int
+  hash () const
+  {
+    return qHash (_symbol) + qHash (_type) + qHash (_value) + (int)_scope;
+  }
+
+  /** Compares two symbol information objects. */
+  bool
+  equals (const symbol_information& other) const
+  {
+    if (hash () == other.hash ())
+      {
+        return _symbol == other._symbol
+            && _type   == other._type
+            && _value  == other._value
+            && _scope  == other._scope;
+      }
+  }
+
+  /** Extracts meta information from a given symbol record. */
+  bool
+  from_symbol_record (const symbol_table::symbol_record& symbol_record)
+  {
+    if (symbol_record.is_local () && !symbol_record.is_global () && !symbol_record.is_hidden ())
+      _scope = local;
+    else if (symbol_record.is_global ())
+      _scope = global;
+    else if (symbol_record.is_persistent ())
+      _scope = persistent;
+    else if (symbol_record.is_hidden ())
+      _scope = hidden;
+
+    _symbol = QString (symbol_record.name ().c_str ());
+    _type   = QString (symbol_record.varval ().type_name ().c_str ());
+    octave_value ov = symbol_record.varval ();
+
+    // For every type, convert to a human readable string.
+    if (ov.is_sq_string ())
+      _value = QString ("\'%1\'").arg (ov.string_value ().c_str ());
+    else if (ov.is_dq_string ())
+      _value = QString ("\"%1\"").arg (ov.string_value ().c_str ());
+    else if (ov.is_real_scalar ())
+      _value = QString ("%1").arg (ov.scalar_value ());
+    else if (ov.is_complex_scalar ())
+      _value = QString ("%1 + %2i").arg (ov.scalar_value ())
+                                   .arg (ov.complex_value ().imag ());
+    else if (ov.is_range ())
+      _value =  QString ("%1 : %2 : %3").arg (ov.range_value ().base ())
+                                        .arg (ov.range_value ().inc ())
+                                        .arg (ov.range_value ().limit ());
+    else if (ov.is_real_matrix ())
+      _value = QString ("%1x%2").arg (ov.rows ())
+                                .arg (ov.columns ());
+    else if (ov.is_complex_matrix ())
+      _value = QString ("%1x%2").arg (ov.rows ())
+                                .arg (ov.columns ());
+    else
+      _value = QString ("<Type not recognized>");
+
+    return true;
+  }
+} symbol_information;
+
+#endif // SYMBOLINFORMATION_H