示例#1
0
void MultiLayer::mousePressEvent(QMouseEvent *e) {
  int margin = 5;
  QPoint pos = canvas->mapFromParent(e->pos());
  // iterate backwards, so layers on top are preferred for selection
  QList<QWidget *>::iterator i = graphsList.end();
  while (i != graphsList.begin()) {
    --i;
    QRect igeo = (*i)->frameGeometry();
    igeo.addCoords(-margin, -margin, margin, margin);
    if (igeo.contains(pos)) {
      if (e->modifiers() & Qt::ShiftModifier) {
        if (d_layers_selector)
          d_layers_selector->add(*i);
        else {
          d_layers_selector = new SelectionMoveResizer(*i);
          connect(d_layers_selector, SIGNAL(targetsChanged()), this,
                  SIGNAL(modifiedPlot()));
        }
      } else {
        setActiveGraph((Graph *)(*i));
        active_graph->raise();
        if (!d_layers_selector) {
          d_layers_selector = new SelectionMoveResizer(*i);
          connect(d_layers_selector, SIGNAL(targetsChanged()), this,
                  SIGNAL(modifiedPlot()));
        }
      }
      return;
    }
  }
  if (d_layers_selector) delete d_layers_selector;
}
示例#2
0
void TrainingSet::addNoiseToTargets(double a)
{
	vector<vector<double> > lt = targets;

	addNoiseToTargets(-a, a);

	if(lt != targets){
		emit targetsChanged(targets);
		emit targetsChanged(lt, targets);
	}
}
示例#3
0
void TrainingSet::setTargets(const vector<vector<int> > &targets)
{
	vector<vector<int> > lt = ANNFrameworkFunctions::toInt(this->targets);
//	const vector<int> *dTarget = targets.data();
//	targetSize = dTarget->size();
	this->targets = ANNFrameworkFunctions::toDouble(targets);

	if(lt != targets){
		emit targetsChanged(targets);
		emit targetsChanged(lt, targets);
	}
}
示例#4
0
void TrainingSet::setTargets(const vector<vector<double> > &targets)
{
	vector<vector<double> > lt = this->targets;
//	const vector<double> *dTarget = targets.data();
//	targetSize = dTarget->size();
	this->targets = targets;

	if(lt != targets){
		emit targetsChanged(targets);
		emit targetsChanged(lt, targets);
	}
}
示例#5
0
void TrainingSet::addNoiseToTargets(double min, double max)
{
	size_t sPatterns = getPatternCount();
	vector<vector<double> > lt = targets;

	for(size_t i = 0; i < sPatterns; i++){
		targets[i] = ANNFrameworkFunctions::addNoise(targets[i], min, max);
	}

	if(lt != targets){
		emit targetsChanged(targets);
		emit targetsChanged(lt, targets);
	}
}
示例#6
0
void TrainingSet::addNoiseToAll(double a)
{
	vector<vector<double> >
			li = inputs,
			lt = targets;

	addNoiseToAll(-a, a);

	if(li != inputs){
		emit inputsChanged(inputs);
		emit inputsChanged(li, inputs);
	}

	if(lt != targets){
		emit targetsChanged(targets);
		emit targetsChanged(lt, targets);
	}
}
示例#7
0
void LegendWidget::mousePressEvent (QMouseEvent *)
{
    if (d_selector){
        delete d_selector;
		d_selector = NULL;
	}

  (dynamic_cast<Graph *>(d_plot->parent()))->activateGraph();
  (dynamic_cast<Graph *>(d_plot->parent()))->deselectMarker();

    d_selector = new SelectionMoveResizer(this);
  connect(d_selector, SIGNAL(targetsChanged()), dynamic_cast<Graph*>(d_plot->parent()), SIGNAL(modifiedGraph()));
  (dynamic_cast<Graph *>(d_plot->parent()))->setSelectedText(this);
}
示例#8
0
void LegendWidget::setSelected(bool on)
{
	if (on){
		if (d_selector)
			return;
		else {
			d_selector = new SelectionMoveResizer(this);
      connect(d_selector, SIGNAL(targetsChanged()), dynamic_cast<Graph*>(d_plot->parent()), SIGNAL(modifiedGraph()));
      (dynamic_cast<Graph *>(d_plot->parent()))->setSelectedText(this);
		}
	} else if (d_selector){
		d_selector->close();
		d_selector = NULL;
    (dynamic_cast<Graph *>(d_plot->parent()))->setSelectedText(NULL);
	}
}
示例#9
0
void QUmlProfileApplicationObject::removeTarget(QObject *target)
{
    qmodelingelementproperty_cast<QUmlProfileApplication *>(this)->removeTarget(qmodelingelementproperty_cast<QUmlElement *>(target));
    emit targetsChanged(this->targets());
}
示例#10
0
void TrainingSet::normalize(NormalizationType no)
{
	size_t sPatterns = getPatternCount();
	size_t sInputs = getInputSize();
	size_t sTargets = getTargetSize();
	double mean;
	double stddv;
	double nor;
	vector<vector<double> >
			li = inputs,
			lt = targets;

	for(size_t p = 0; p < sPatterns; p++){
		mean = ANNFrameworkFunctions::getMean(inputs[p]);
		stddv = ANNFrameworkFunctions::getStandardDeviation(inputs[p]);
		for(size_t i = 0; i < sInputs; i++){
			nor = (inputs[p][i] - mean)/stddv;
			switch(no){
				case ITrainingSet::BipolarAutoThreshold:
					break;
				case ITrainingSet::UnipolarAutoThreshold:
					break;
				case ITrainingSet::Nothing:
					break;
				case ITrainingSet::BipolarFixedThreshold:
					break;
				case ITrainingSet::UnipolarFixedThreshold:
					break;
				case ITrainingSet::LinearFixedRange:
					break;
				case ITrainingSet::LinearAutoRange:
					break;
				case ITrainingSet::Sigmoid:
					//NOTE: no estoy seguro de que esto sea asi
					inputs[p][i] = 1/(1 + exp(-nor));
					break;
				case ITrainingSet::Tanh:
					inputs[p][i] = (1 - exp(-nor))/(1 + exp(-nor));
					break;
				case ITrainingSet::MeanDistance:
					break;
			}

		}
		mean = ANNFrameworkFunctions::getMean(targets[p]);
		stddv = ANNFrameworkFunctions::getStandardDeviation(targets[p]);
		for(size_t t = 0; t < sTargets; t++){
			nor = (targets[p][t] - mean)/stddv;
			switch(no){
				case ITrainingSet::BipolarAutoThreshold:
					break;
				case ITrainingSet::UnipolarAutoThreshold:
					break;
				case ITrainingSet::Nothing:
					break;
				case ITrainingSet::BipolarFixedThreshold:
					break;
				case ITrainingSet::UnipolarFixedThreshold:
					break;
				case ITrainingSet::LinearFixedRange:
					break;
				case ITrainingSet::LinearAutoRange:
					break;
				case ITrainingSet::Sigmoid:
					//NOTE: no estoy seguro de que esto sea asi
					targets[p][t] = 1/(1 + exp(-nor));
					break;
				case ITrainingSet::Tanh:
					targets[p][t] = (1 - exp(-nor))/(1 + exp(-nor));
					break;
				case ITrainingSet::MeanDistance:
					break;
			}
		}
	}
	inputsNorType = no;
	targetsNorType = no;

	if(li != inputs){
		emit inputsChanged(inputs);
		emit inputsChanged(li, inputs);
	}

	if(lt != targets){
		emit targetsChanged(targets);
		emit targetsChanged(lt, targets);
	}
}
示例#11
0
PackageView::PackageView( QWidget *parent, Qt::WFlags flags )
    : QMainWindow( parent, flags )
{
    setWindowTitle( tr( "Package Manager" ));
    model = new PackageModel( this );

    connect(model, SIGNAL(targetsUpdated(QStringList)),
            this, SLOT(targetsChanged(QStringList)));
    connect(model, SIGNAL(serversUpdated(QStringList)),
            this, SLOT(serversChanged(QStringList)));
    connect(this, SIGNAL(targetChoiceChanged(QString)),
            model, SLOT(userTargetChoice(QString)));
    connect(model, SIGNAL(serverStatus(QString)),
            this, SLOT(postServerStatus(QString)));
    connect(model,  SIGNAL(newlyInstalled(QModelIndex)),
            this, SLOT(selectNewlyInstalled(QModelIndex)));

    //setup view for installed packages
    installedView = new QTreeView( this );
    installedView->setModel( model  );
    installedView->setRootIndex( model->index(InstalledIndex,0,QModelIndex()) );
    installedView->setRootIsDecorated( false );
    installedView->setFrameStyle(QFrame::NoFrame);
    connect( installedView, SIGNAL(activated(QModelIndex)),
            this, SLOT(activateItem(QModelIndex)) );
    connect( model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
            installedView, SLOT(rowsAboutToBeRemoved(QModelIndex,int,int)));
    connect( model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
            installedView, SLOT(rowsRemoved(QModelIndex,int,int)));

    //setup page for installed packages
    QWidget *installedPage = new QWidget;
    QVBoxLayout *vbInstalledPage = new QVBoxLayout( installedPage );
    vbInstalledPage->setMargin( 0 );
    vbInstalledPage->addWidget( installedView );

    //setup view for downloadable packages
    downloadView = new QTreeView( this );
    downloadView->setModel( model );
    downloadView->setRootIndex( model->index(DownloadIndex,0,QModelIndex()) );
    downloadView->setRootIsDecorated( false );
    downloadView->setFrameStyle(QFrame::NoFrame);
    connect( downloadView, SIGNAL(activated(QModelIndex)),
            this, SLOT(activateItem(QModelIndex)) );
    connect( model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
            downloadView, SLOT(rowsAboutToBeRemoved(QModelIndex,int,int)));
    connect( model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
            downloadView, SLOT(rowsRemoved(QModelIndex,int,int)));
    downloadView->setItemDelegate(new DownloadViewDelegate(this));
    installedView->setItemDelegate(new ViewDelegate(this));

    //setup page for downloadable packages
    QWidget *downloadPage = new QWidget(this);
    QVBoxLayout *vbDownloadPage = new QVBoxLayout( downloadPage );
    vbDownloadPage->setSpacing( 2 );
    vbDownloadPage->setMargin( 2 );
    vbDownloadPage->addWidget( downloadView );
    statusLabel = new QLabel( "No Server Chosen", this );
    statusLabel->setWordWrap( true );
    vbDownloadPage->addWidget( statusLabel );

    installedView->hideColumn( 1 );
    installedView->header()->hide();
    downloadView->hideColumn( 1 );
    downloadView->header()->hide();
//TODO: install to media card
     menuTarget = new QMenu( tr( "Install to" ), this );
    new PackageManagerService( this );

    tabWidget = new QTabWidget( this );
    tabWidget->addTab( installedPage, tr( "Installed" ) );
    tabWidget->addTab( downloadPage, tr( "Downloads" ) );
    setCentralWidget( tabWidget );

    KeyFilter *keyFilter = new KeyFilter(tabWidget, this);
    installedView->installEventFilter(keyFilter);
    downloadView->installEventFilter(keyFilter);

    QTimer::singleShot( 0, this, SLOT(init()) );
}