Mercurial > octave-nkf
comparison gui/src/backend/OctaveLink.cpp @ 13683:25dc40d24a44
Renamed VariablesDockWidget to WorkspaceView and optimized memory footprint for 30%.
author | Jacob Dawid <jacob.dawid@googlemail.com> |
---|---|
date | Fri, 30 Sep 2011 12:34:37 +0200 |
parents | ee7f4294d162 |
children | faece6b2ab90 |
comparison
equal
deleted
inserted
replaced
13682:c0e0625ffd13 | 13683:25dc40d24a44 |
---|---|
112 | 112 |
113 m_octaveMainThread->terminate (); | 113 m_octaveMainThread->terminate (); |
114 //m_octaveMainThread->wait(); | 114 //m_octaveMainThread->wait(); |
115 } | 115 } |
116 | 116 |
117 void | 117 QList < SymbolRecord > OctaveLink::symbolTable () |
118 OctaveLink::fetchSymbolTable () | |
119 { | 118 { |
120 m_symbolTableSemaphore->acquire (); | |
121 m_symbolTableBuffer.clear (); | 119 m_symbolTableBuffer.clear (); |
122 std::list < SymbolRecord > allVariables = symbol_table::all_variables (); | 120 std::list < SymbolRecord > allVariables = symbol_table::all_variables (); |
123 std::list < SymbolRecord >::iterator iterator; | 121 std::list < SymbolRecord >::iterator iterator; |
124 for (iterator = allVariables.begin (); iterator != allVariables.end (); | 122 for (iterator = allVariables.begin (); iterator != allVariables.end (); |
125 iterator++) | 123 iterator++) |
126 m_symbolTableBuffer.append (iterator->dup ()); | 124 m_symbolTableBuffer.append (iterator->dup()); |
127 m_symbolTableSemaphore->release (); | 125 return m_symbolTableBuffer; |
128 emit symbolTableChanged (); | |
129 } | 126 } |
130 | |
131 QList < SymbolRecord > OctaveLink::copyCurrentSymbolTable () | |
132 { | |
133 QList < SymbolRecord > m_symbolTableCopy; | |
134 | |
135 // Generate a deep copy of the current symbol table. | |
136 m_symbolTableSemaphore->acquire (); | |
137 foreach (SymbolRecord symbolRecord, m_symbolTableBuffer) | |
138 m_symbolTableCopy.append (symbolRecord.dup ()); | |
139 m_symbolTableSemaphore->release (); | |
140 | |
141 return m_symbolTableCopy; | |
142 } | |
143 | |
144 | 127 |
145 void | 128 void |
146 OctaveLink::updateHistoryModel () | 129 OctaveLink::updateHistoryModel () |
147 { | 130 { |
148 // Determine the client's (our) history length and the one of the server. | 131 // Determine the client's (our) history length and the one of the server. |