Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

SpikeStreamMainWindow Class Reference

#include <SpikeStreamMainWindow.h>

List of all members.

Public Slots

void reloadPatterns ()

Public Member Functions

NetworkViewergetNetworkViewer ()
void reloadConnectionDetails ()
void reloadConnections ()
void reloadNeuronGroups ()
void setFromNeuronID (unsigned int neurGrpID, unsigned int fromNeurID)
void setSplashScreenMessage (QString)
void setToNeuronID (unsigned int toNeurID)
void simulationDestroyed ()
void simulationInitialised ()
 SpikeStreamMainWindow (SpikeStreamApplication *ssApp)
 ~SpikeStreamMainWindow ()

Static Public Attributes

static SpikeStreamApplicationspikeStreamApplication
static SpikeStreamMainWindowspikeStrMainWin
static QString workingDirectory = ""

Private Slots

void about ()
void acceleratorKeyPressed (int acceleratorID)
void clearDatabases ()
void closeEvent (QCloseEvent *)
void importConnectionMatrix ()
void loadDatabases ()
void managePatterns ()
void manageProbes ()
void reloadDevices ()
void reloadEverything ()
void saveDatabases ()

Private Member Functions

SpikeStreamMainWindow operator= (const SpikeStreamMainWindow &)
 SpikeStreamMainWindow (const SpikeStreamMainWindow &)

Private Attributes

DBInterface * archiveDBInterface
ArchiveManagerarchiveManager
ArchiveWidgetarchiveWidget
ConnectionWidgetconnectionWidget
QString defaultFileLocation
DBInterface * deviceDBInterface
QAccel * keyboardAccelerator
LayerWidgetlayerWidget
DBInterface * networkDBInterface
NetworkViewernetworkViewer
NetworkViewerPropertiesnetworkViewerProperties
DBInterface * patternDBInterface
SimulationManagersimulationManager
SimulationWidgetsimulationWidget
QTabWidget * tabWidget


Detailed Description

The main class of the application and the widget below the Spike Stream Application. Responsible for setting up the various widgets, coordinating communication between them and for loading and saving databases.

Definition at line 54 of file SpikeStreamMainWindow.h.


Constructor & Destructor Documentation

SpikeStreamMainWindow::SpikeStreamMainWindow SpikeStreamApplication ssApp  ) 
 

Constructor.

Definition at line 63 of file SpikeStreamMainWindow.cpp.

References about(), acceleratorKeyPressed(), archiveDBInterface, archiveManager, archiveWidget, clearDatabases(), connectionWidget, defaultFileLocation, deviceDBInterface, ArchiveWidget::getArchiveManager(), SimulationWidget::getSimulationManager(), importConnectionMatrix(), keyboardAccelerator, layerWidget, loadDatabases(), managePatterns(), manageProbes(), networkDBInterface, networkViewer, networkViewerProperties, patternDBInterface, reloadDevices(), reloadEverything(), reloadPatterns(), saveDatabases(), LayerWidget::setConnectionWidget(), SimulationManager::setMaxNeurDataLoadTime_sec(), ArchiveWidget::setMonitorArea(), SimulationWidget::setMonitorArea(), NetworkViewer::setNetworkViewerProperties(), simulationManager, simulationWidget, spikeStreamApplication, spikeStrMainWin, tabWidget, and workingDirectory.

SpikeStreamMainWindow::~SpikeStreamMainWindow  ) 
 

Destructor.

Definition at line 381 of file SpikeStreamMainWindow.cpp.

References archiveDBInterface, archiveManager, SimulationManager::destroySimulation(), deviceDBInterface, SimulationManager::isInitialised(), ArchiveManager::isRunning(), networkDBInterface, patternDBInterface, simulationManager, and ArchiveManager::stopArchive().

SpikeStreamMainWindow::SpikeStreamMainWindow const SpikeStreamMainWindow  )  [private]
 

Declare copy constructor private so it cannot be used inadvertently.


Member Function Documentation

void SpikeStreamMainWindow::about  )  [private, slot]
 

Displays brief information about the application.

Definition at line 483 of file SpikeStreamMainWindow.cpp.

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::acceleratorKeyPressed int  acceleratorID  )  [private, slot]
 

Definition at line 487 of file SpikeStreamMainWindow.cpp.

References archiveWidget, ArchiveWidget::hideOpenWindows(), SimulationWidget::hideOpenWindows(), keyboardAccelerator, ArchiveWidget::showOpenWindows(), SimulationWidget::showOpenWindows(), simulationWidget, and tabWidget.

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::clearDatabases  )  [private, slot]
 

Empties all databases except the Neuron, Synapse and Probe types. Useful when an error has led to out of date information in one of the tables. However all data will be lost if this method is called.

Definition at line 522 of file SpikeStreamMainWindow.cpp.

References archiveDBInterface, archiveWidget, deviceDBInterface, SimulationManager::isInitialised(), ArchiveManager::isRunning(), networkDBInterface, patternDBInterface, reloadEverything(), and ArchiveWidget::unloadArchive().

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::closeEvent QCloseEvent *  ce  )  [private, slot]
 

Called when window is closed. This is needed to invoke destructor of neuronapplication Could run a check on whether the user really wants to quit. However, this is not needed at present since everthing is stored in the database.

Definition at line 685 of file SpikeStreamMainWindow.cpp.

References SimulationManager::isInitialised(), and simulationManager.

NetworkViewer * SpikeStreamMainWindow::getNetworkViewer  ) 
 

Returns a reference to the network viewer.

Definition at line 417 of file SpikeStreamMainWindow.cpp.

References networkViewer.

Referenced by ConnectionWidget::createConnections(), ConnectionWidget::deleteConnections(), LayerWidget::deleteLayer(), ConnectionWidget::deleteLayerConnections(), LayerWidget::editLayerProperties(), LayerWidget::newLayer(), LayerWidget::tableClicked(), ConnectionWidget::tableClicked(), LayerWidget::tableHeaderClicked(), and ConnectionWidget::tableHeaderClicked().

void SpikeStreamMainWindow::importConnectionMatrix  )  [private, slot]
 

Loads a neuron group and associated connections from a file. This should be a comma separated matrix of connection weights.

Definition at line 699 of file SpikeStreamMainWindow.cpp.

References archiveWidget, defaultFileLocation, SimulationManager::isInitialised(), ArchiveManager::isRunning(), ConnectionMatrixLoader::loadConnectionMatrix(), networkDBInterface, reloadEverything(), and ArchiveWidget::unloadArchive().

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::loadDatabases  )  [private, slot]
 

Loads databases from a file selected by the user. Launches database manager, which allows user to select which database to load.

Definition at line 743 of file SpikeStreamMainWindow.cpp.

References archiveDBInterface, archiveWidget, defaultFileLocation, deviceDBInterface, SimulationManager::isInitialised(), ArchiveManager::isRunning(), networkDBInterface, patternDBInterface, reloadEverything(), and ArchiveWidget::unloadArchive().

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::managePatterns  )  [private, slot]
 

Launches the pattern manager, which is used to load and delete patterns from the database.

Definition at line 791 of file SpikeStreamMainWindow.cpp.

References patternDBInterface.

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::manageProbes  )  [private, slot]
 

Launches a probe manager, which enables the user to add or remove probes.

Definition at line 799 of file SpikeStreamMainWindow.cpp.

References networkDBInterface.

Referenced by SpikeStreamMainWindow().

SpikeStreamMainWindow SpikeStreamMainWindow::operator= const SpikeStreamMainWindow  )  [private]
 

Declare assignment private so it cannot be used inadvertently.

void SpikeStreamMainWindow::reloadConnectionDetails  ) 
 

Reloads just the details about the connections assuming that the connection groups have remained the same.

Definition at line 424 of file SpikeStreamMainWindow.cpp.

References networkViewerProperties, and NetworkViewerProperties::reloadConnectionDetails().

Referenced by SimulationWidget::checkViewWeightsSaved(), and SimulationWidget::checkWeightsSaveState().

void SpikeStreamMainWindow::reloadConnections  ) 
 

Reloads connections after a class has made changes to the database.

Definition at line 431 of file SpikeStreamMainWindow.cpp.

References networkViewerProperties, SimulationWidget::reloadConnectionGroups(), NetworkViewerProperties::reloadConnections(), and simulationWidget.

Referenced by ConnectionWidget::createConnections(), ConnectionWidget::deleteConnections(), and LayerWidget::deleteLayer().

void SpikeStreamMainWindow::reloadDevices  )  [private, slot]
 

Menu item triggers this, which reloads the device table in the simulation widget.

Definition at line 807 of file SpikeStreamMainWindow.cpp.

References SimulationWidget::reloadDevices(), and simulationWidget.

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::reloadEverything  )  [private, slot]
 

Reloads neuron groups and connections from the database.

Definition at line 814 of file SpikeStreamMainWindow.cpp.

References connectionWidget, layerWidget, networkViewer, networkViewerProperties, SimulationWidget::reloadConnectionGroups(), NetworkViewerProperties::reloadConnections(), ConnectionWidget::reloadConnections(), NetworkViewer::reloadEverything(), NetworkViewerProperties::reloadNeuronGroups(), SimulationWidget::reloadNeuronGroups(), LayerWidget::reloadNeuronGroups(), and simulationWidget.

Referenced by clearDatabases(), importConnectionMatrix(), loadDatabases(), and SpikeStreamMainWindow().

void SpikeStreamMainWindow::reloadNeuronGroups  ) 
 

Reloads neurons after a change has been made to the database.

Definition at line 438 of file SpikeStreamMainWindow.cpp.

References connectionWidget, networkViewerProperties, ConnectionWidget::reloadConnections(), SimulationWidget::reloadNeuronGroups(), NetworkViewerProperties::reloadNeuronGroups(), and simulationWidget.

Referenced by LayerWidget::deleteLayer(), LayerWidget::editLayerProperties(), and LayerWidget::newLayer().

void SpikeStreamMainWindow::reloadPatterns  )  [slot]
 

Reloads patterns after they have been added or deleted.

Definition at line 849 of file SpikeStreamMainWindow.cpp.

References SimulationWidget::reloadPatterns(), and simulationWidget.

Referenced by PatternDialog::addPattern(), PatternDialog::deletePattern(), and SpikeStreamMainWindow().

void SpikeStreamMainWindow::saveDatabases  )  [private, slot]
 

Saves databases Allows user to choose file and then launches database manager so that user can choose which databases to save.

Definition at line 857 of file SpikeStreamMainWindow.cpp.

References archiveDBInterface, defaultFileLocation, deviceDBInterface, networkDBInterface, and patternDBInterface.

Referenced by SpikeStreamMainWindow().

void SpikeStreamMainWindow::setFromNeuronID unsigned int  neurGrpID,
unsigned int  fromNeurNum
 

When viewing individual neurons this method sets the from neuron number in the Simulation Widget, which can be used to fire a neuron or select a neuron for monitoring during a simulation.

Definition at line 449 of file SpikeStreamMainWindow.cpp.

References SimulationWidget::setFromNeuronID(), and simulationWidget.

Referenced by NetworkViewerProperties::setFirstSingleNeuronNumber().

void SpikeStreamMainWindow::setSplashScreenMessage QString   ) 
 

void SpikeStreamMainWindow::setToNeuronID unsigned int  toNeurNum  ) 
 

When viewing individual neurons this method sets the to neuron number in the Simulation Widget, which can be used to select a synapse for monitoring during a simulation.

Definition at line 457 of file SpikeStreamMainWindow.cpp.

References SimulationWidget::setToNeuronID(), and simulationWidget.

Referenced by NetworkViewerProperties::setSecondSingleNeuronNumber().

void SpikeStreamMainWindow::simulationDestroyed  ) 
 

When simulation is destroyed this passes this information on to other widgets.

Definition at line 464 of file SpikeStreamMainWindow.cpp.

References connectionWidget, layerWidget, LayerWidget::simulationDestroyed(), and ConnectionWidget::simulationDestroyed().

Referenced by SimulationWidget::initialiseButtonToggled().

void SpikeStreamMainWindow::simulationInitialised  ) 
 

When simulation is initialised this passes this information on to other widgets.

Definition at line 472 of file SpikeStreamMainWindow.cpp.

References connectionWidget, layerWidget, LayerWidget::simulationInitialised(), and ConnectionWidget::simulationInitialised().

Referenced by SimulationWidget::initialiseButtonToggled().


Member Data Documentation

DBInterface* SpikeStreamMainWindow::archiveDBInterface [private]
 

Definition at line 107 of file SpikeStreamMainWindow.h.

Referenced by clearDatabases(), loadDatabases(), saveDatabases(), SpikeStreamMainWindow(), and ~SpikeStreamMainWindow().

ArchiveManager* SpikeStreamMainWindow::archiveManager [private]
 

Definition at line 113 of file SpikeStreamMainWindow.h.

Referenced by SpikeStreamMainWindow(), and ~SpikeStreamMainWindow().

ArchiveWidget* SpikeStreamMainWindow::archiveWidget [private]
 

Definition at line 119 of file SpikeStreamMainWindow.h.

Referenced by acceleratorKeyPressed(), clearDatabases(), importConnectionMatrix(), loadDatabases(), and SpikeStreamMainWindow().

ConnectionWidget* SpikeStreamMainWindow::connectionWidget [private]
 

Definition at line 117 of file SpikeStreamMainWindow.h.

Referenced by reloadEverything(), reloadNeuronGroups(), simulationDestroyed(), simulationInitialised(), and SpikeStreamMainWindow().

QString SpikeStreamMainWindow::defaultFileLocation [private]
 

Default location for looking for image files, scripts, etc.

Definition at line 124 of file SpikeStreamMainWindow.h.

Referenced by importConnectionMatrix(), loadDatabases(), saveDatabases(), and SpikeStreamMainWindow().

DBInterface* SpikeStreamMainWindow::deviceDBInterface [private]
 

Definition at line 109 of file SpikeStreamMainWindow.h.

Referenced by clearDatabases(), loadDatabases(), saveDatabases(), SpikeStreamMainWindow(), and ~SpikeStreamMainWindow().

QAccel* SpikeStreamMainWindow::keyboardAccelerator [private]
 

Definition at line 121 of file SpikeStreamMainWindow.h.

Referenced by acceleratorKeyPressed(), and SpikeStreamMainWindow().

LayerWidget* SpikeStreamMainWindow::layerWidget [private]
 

Definition at line 118 of file SpikeStreamMainWindow.h.

Referenced by reloadEverything(), simulationDestroyed(), simulationInitialised(), and SpikeStreamMainWindow().

DBInterface* SpikeStreamMainWindow::networkDBInterface [private]
 

Definition at line 106 of file SpikeStreamMainWindow.h.

Referenced by clearDatabases(), importConnectionMatrix(), loadDatabases(), manageProbes(), saveDatabases(), SpikeStreamMainWindow(), and ~SpikeStreamMainWindow().

NetworkViewer* SpikeStreamMainWindow::networkViewer [private]
 

Definition at line 114 of file SpikeStreamMainWindow.h.

Referenced by getNetworkViewer(), reloadEverything(), and SpikeStreamMainWindow().

NetworkViewerProperties* SpikeStreamMainWindow::networkViewerProperties [private]
 

Definition at line 115 of file SpikeStreamMainWindow.h.

Referenced by reloadConnectionDetails(), reloadConnections(), reloadEverything(), reloadNeuronGroups(), and SpikeStreamMainWindow().

DBInterface* SpikeStreamMainWindow::patternDBInterface [private]
 

Definition at line 108 of file SpikeStreamMainWindow.h.

Referenced by clearDatabases(), loadDatabases(), managePatterns(), saveDatabases(), SpikeStreamMainWindow(), and ~SpikeStreamMainWindow().

SimulationManager* SpikeStreamMainWindow::simulationManager [private]
 

Definition at line 112 of file SpikeStreamMainWindow.h.

Referenced by closeEvent(), SpikeStreamMainWindow(), and ~SpikeStreamMainWindow().

SimulationWidget* SpikeStreamMainWindow::simulationWidget [private]
 

Definition at line 116 of file SpikeStreamMainWindow.h.

Referenced by acceleratorKeyPressed(), reloadConnections(), reloadDevices(), reloadEverything(), reloadNeuronGroups(), reloadPatterns(), setFromNeuronID(), setToNeuronID(), and SpikeStreamMainWindow().

SpikeStreamApplication * SpikeStreamMainWindow::spikeStreamApplication [static]
 

Static reference to the QApplication to control rendering, lock global mutexes, etc.

Definition at line 78 of file SpikeStreamMainWindow.h.

Referenced by NeuronMonitor::addGraph(), MonitorDataPlotter::addGraph(), ArchiveManager::ArchiveManager(), ArchiveWidget::ArchiveWidget(), NeuronMonitor::closeEvent(), ConnectionManager::ConnectionManager(), ConnectionWidget::deleteConnections(), LayerWidget::deleteLayer(), PatternDialog::deletePattern(), NetworkDataXmlHandler::endElement(), ArchiveManager::fastForwardArchive(), MonitorArea::MonitorArea(), NetworkMonitor::NetworkMonitor(), NetworkViewer::NetworkViewer(), ArchiveManager::playArchive(), NeuronMonitor::plotData(), MonitorDataPlotter::plotData(), ArchiveManager::rewindArchive(), ArchiveManager::run(), MonitorDataPlotter::setUpGraphs(), MonitorDataPlotter::showDialog(), SimulationManager::SimulationManager(), SimulationWidget::SimulationWidget(), SpikeStreamMainWindow(), ArchiveManager::stepArchive(), and MonitorDataPlotter::stopMonitoring().

SpikeStreamMainWindow * SpikeStreamMainWindow::spikeStrMainWin [static]
 

Static reference to the main application to invoke global methods to reload neuron groups etc.

Definition at line 74 of file SpikeStreamMainWindow.h.

Referenced by PatternDialog::addPattern(), SimulationWidget::checkViewWeightsSaved(), SimulationWidget::checkWeightsSaveState(), ConnectionWidget::ConnectionWidget(), ConnectionWidget::createConnections(), ConnectionWidget::deleteConnections(), LayerWidget::deleteLayer(), ConnectionWidget::deleteLayerConnections(), PatternDialog::deletePattern(), LayerWidget::editLayerProperties(), SimulationWidget::initialiseButtonToggled(), LayerWidget::newLayer(), NetworkViewerProperties::setFirstSingleNeuronNumber(), NetworkViewerProperties::setSecondSingleNeuronNumber(), SpikeStreamMainWindow(), LayerWidget::tableClicked(), ConnectionWidget::tableClicked(), LayerWidget::tableHeaderClicked(), and ConnectionWidget::tableHeaderClicked().

QTabWidget* SpikeStreamMainWindow::tabWidget [private]
 

Definition at line 120 of file SpikeStreamMainWindow.h.

Referenced by acceleratorKeyPressed(), and SpikeStreamMainWindow().

QString SpikeStreamMainWindow::workingDirectory = "" [static]
 

Root directory of the application set once and used by other classes to load files etc.

Definition at line 82 of file SpikeStreamMainWindow.h.

Referenced by PatternDialog::addPattern(), ArchiveWidget::ArchiveWidget(), ConnectionWidget::ConnectionWidget(), DatabaseManager::getAvailableDatabases(), SimulationWidget::initialiseButtonToggled(), LayerWidget::LayerWidget(), DatabaseManager::loadDatabase(), NeuronParametersDialog::NeuronParametersDialog(), DatabaseManager::saveDatabase(), SimulationWidget::SimulationWidget(), SpikeStreamMainWindow(), and SynapseParametersDialog::SynapseParametersDialog().


The documentation for this class was generated from the following files:
Generated on Mon Sep 3 22:29:05 2007 for SpikeStream Application by  doxygen 1.4.4