annotate gui/src/octave-adapter/octave-link.cc @ 14712:5cb54cca8a06 gui

Completion of code reformatting.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Fri, 01 Jun 2012 23:54:14 +0200
parents f50591409306
children 3df7ef0080c7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
1 /* OctaveGUI - A graphical user interface for Octave
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
2 * Copyright (C) 2011 John P. Swensen, Jacob Dawid (jacob.dawid@googlemail.com)
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
3 *
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
4 * This program is free software: you can redistribute it and/or modify
14290
faece6b2ab90 Corrected license headers in all files to GPL.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13683
diff changeset
5 * it under the terms of the GNU General Public License as
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
6 * published by the Free Software Foundation, either version 3 of the
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
7 * License, or (at your option) any later version.
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
8 *
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
9 * This program is distributed in the hope that it will be useful,
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14290
faece6b2ab90 Corrected license headers in all files to GPL.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13683
diff changeset
12 * GNU General Public License for more details.
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
13 *
14290
faece6b2ab90 Corrected license headers in all files to GPL.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13683
diff changeset
14 * You should have received a copy of the GNU General Public License
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13601
diff changeset
16 */
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
17
14707
674740c44c09 Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14703
diff changeset
18 #include "octave-link.h"
14673
adad007cd018 Fixed bug with querying wrong matrix dimensions (bug #36421).
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14671
diff changeset
19 #include "load-path.h"
14700
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
20 #include "oct-env.h"
14673
adad007cd018 Fixed bug with querying wrong matrix dimensions (bug #36421).
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14671
diff changeset
21 #include <QDir>
14689
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
22 #include <QApplication>
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
23
14689
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
24 int octave_readline_hook ()
14668
6a6733a55982 Removed unused classes and added octave loop hook.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14664
diff changeset
25 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
26 octave_link::instance ()->trigger_update_history_model ();
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
27 octave_link::instance ()->build_symbol_information ();
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
28 octave_link::instance ()->update_current_working_directory ();
14671
f346343654a4 Settings readline event hook and fixed race condition.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14670
diff changeset
29 return 0;
14668
6a6733a55982 Removed unused classes and added octave loop hook.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14664
diff changeset
30 }
6a6733a55982 Removed unused classes and added octave loop hook.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14664
diff changeset
31
14689
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
32 void octave_exit_hook (int status)
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
33 {
14693
c952f1e35e50 Added patch from Marco Atzeri for QTerminal to build with cygwin. Removed some compiler warnings.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14689
diff changeset
34 Q_UNUSED (status);
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
35 octave_link::instance ()->terminate_octave ();
14689
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
36 }
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
37
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
38 octave_link octave_link::_singleton;
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
39
14709
f50591409306 Started to rename class names and methods from camel case to underscore-
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14707
diff changeset
40 octave_link::octave_link ():QObject ()
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13501
diff changeset
41 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
42 _history_model = new QStringListModel (this);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
43 _workspace_model = new workspace_model (this);
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
44
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
45 _workspace_model->insert_top_level_item(0, new tree_item ("Local"));
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
46 _workspace_model->insert_top_level_item(1, new tree_item ("Global"));
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
47 _workspace_model->insert_top_level_item(2, new tree_item ("Persistent"));
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
48 _workspace_model->insert_top_level_item(3, new tree_item ("Hidden"));
14671
f346343654a4 Settings readline event hook and fixed race condition.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14670
diff changeset
49
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
50 _update_workspace_model_timer.setInterval (1000);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
51 _update_workspace_model_timer.setSingleShot (false);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
52 connect(&_update_workspace_model_timer, SIGNAL (timeout ()),
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
53 _workspace_model, SLOT (update_from_symbol_table ()));
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
54
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
55 _symbol_information_semaphore = new QSemaphore (1);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
56 _current_working_directory = "";
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
57 }
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
58
14709
f50591409306 Started to rename class names and methods from camel case to underscore-
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14707
diff changeset
59 octave_link::~octave_link ()
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13501
diff changeset
60 {
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
61 }
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
62
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13501
diff changeset
63 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
64 octave_link::launch_octave ()
13541
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
65 {
13677
f27573828e92 Properly implemented shutdown of callback thread.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13674
diff changeset
66 // Create both threads.
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
67 _octave_main_thread = new octave_main_thread (this);
14689
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
68 command_editor::add_event_hook (octave_readline_hook);
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
69 octave_exit = octave_exit_hook;
dd19de736ee4 Fixed crash on exit. Typing exit in the terminal works, too.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14673
diff changeset
70
13677
f27573828e92 Properly implemented shutdown of callback thread.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13674
diff changeset
71 // Start the first one.
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
72 _octave_main_thread->start ();
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
73 _update_workspace_model_timer.start ();
13541
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
74 }
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
75
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
76 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
77 octave_link::terminate_octave ()
13541
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
78 {
14694
ea11c9d8aa47 Calling qApp->quit () via QMetaObject::invoke caused a segfault, now exits cleanly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14693
diff changeset
79 qApp->quit ();
13541
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
80 }
b48ac9ad8de0 Highly improved separation of model and view classes.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13528
diff changeset
81
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
82 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
83 octave_link::trigger_update_history_model ()
13506
c70511cf64ee Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13501
diff changeset
84 {
13519
35ecb6063c7b Made the view connect with the history model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13518
diff changeset
85 // Determine the client's (our) history length and the one of the server.
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
86 int clientHistoryLength = _history_model->rowCount ();
13519
35ecb6063c7b Made the view connect with the history model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13518
diff changeset
87 int serverHistoryLength = command_history::length ();
35ecb6063c7b Made the view connect with the history model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13518
diff changeset
88
35ecb6063c7b Made the view connect with the history model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13518
diff changeset
89 // If were behind the server, iterate through all new entries and add them to our history.
35ecb6063c7b Made the view connect with the history model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13518
diff changeset
90 if (clientHistoryLength < serverHistoryLength)
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
91 {
13519
35ecb6063c7b Made the view connect with the history model.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13518
diff changeset
92 for (int i = clientHistoryLength; i < serverHistoryLength; i++)
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
93 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
94 _history_model->insertRow (0);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
95 _history_model->setData (_history_model->index (0), QString (command_history::get_entry (i).c_str ()));
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
96 }
13528
8b116446a904 Fixed race condition.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13527
diff changeset
97 }
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
98 }
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
99
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
100 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
101 octave_link::update_current_working_directory ()
14700
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
102 {
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
103 QString _queriedWorkingDirectory = octave_env::get_current_directory ().c_str();
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
104 if (_current_working_directory != _queriedWorkingDirectory)
14700
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
105 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
106 _current_working_directory = _queriedWorkingDirectory;
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
107 QDir::setCurrent (_current_working_directory);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
108 emit working_directory_changed (_current_working_directory);
14700
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
109 }
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
110 }
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
111
7623bece76df Implemented logic for current directory bar.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14698
diff changeset
112 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
113 octave_link::acquire_symbol_information ()
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
114 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
115 _symbol_information_semaphore->acquire (1);
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
116 }
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
117
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
118 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
119 octave_link::release_symbol_information ()
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
120 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
121 _symbol_information_semaphore->release (1);
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
122 }
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
123
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
124 void
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
125 octave_link::build_symbol_information ()
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
126 {
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
127 std::list < symbol_table::symbol_record > symbolTable = symbol_table::all_variables ();
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
128
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
129 acquire_symbol_information ();
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
130 _symbol_information.clear ();
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
131 for (std::list < symbol_table::symbol_record > ::iterator iterator = symbolTable.begin ();
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
132 iterator != symbolTable.end (); iterator++)
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
133 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
134 symbol_information symbolInformation;
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
135 symbolInformation.from_symbol_record (*iterator);
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
136 _symbol_information.push_back (symbolInformation);
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
137 }
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
138 release_symbol_information ();
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
139 }
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
140
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
141 const QList <symbol_information>&
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
142 octave_link::get_symbol_information () const
14698
79c9a6d06590 Wrote SymbolInformation struct and refactored code that updates the symbol table.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14694
diff changeset
143 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
144 return _symbol_information;
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
145 }
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
146
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
147 QStringListModel *
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
148 octave_link::get_history_model ()
13518
bace956a3724 Put history model part into OctaveLink.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13517
diff changeset
149 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
150 return _history_model;
13501
86d6c3b90ad7 Added new gui files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
151 }
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
152
14709
f50591409306 Started to rename class names and methods from camel case to underscore-
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14707
diff changeset
153 workspace_model *
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
154 octave_link::get_workspace_model ()
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
155 {
14712
5cb54cca8a06 Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14709
diff changeset
156 return _workspace_model;
14664
664f54233c98 Extracted model code from the WorkspaceView and rearranged it in a new model class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 14606
diff changeset
157 }