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.