Example #1
0
/**
 * Adds a machine to the project.
 * @param n machine name
 * @param nb number of bits to code the states
 * @param ni number of input bits
 * @param no number of output bits
 * @param sf font used for drawing the state names
 * @param tf font used for drawing the transition names
 * @param atype arrow type (0: unfilled, 1: filled)
 */
void Project::addMachine(QString n, QString v, QString a, QString d, int type, int nb, QString onamesm, int ni, 
    QString inames, int no, QString onames,QFont sf, QFont tf, int atype, bool draw_it)
{
  machine = new Machine(this, n, v, a, d, type, nb, onamesm, ni, inames, no, onames,sf, tf, atype);
  machine->setDrawITrans(draw_it);

  connect(machine, SIGNAL(newCanvasSize(int,int)), main->getScrollView()->getDrawArea(), SLOT(resizeContentsNotSmaller(int,int)) );
  connect(main->getScrollView()->getDrawArea(), SIGNAL(updateCanvasSize(int,int, double)), machine, SLOT(updateCanvasSize(int, int, double)) );  // re-added 19/01/2015
  connect(machine, SIGNAL(repaint()), main, SLOT(repaintViewport()));

  main->updateIOView(machine);
}
Example #2
0
/// Adds machine @a m to the project
void Project::addMachine(Machine* m)
{
  if (!m)
    return;

  machine = m;
  machine->setProject(this);

  connect(machine, SIGNAL(newCanvasSize(int,int)), main->getScrollView()->getDrawArea(), SLOT(resizeContentsNotSmaller(int,int)) );
  connect(main->getScrollView()->getDrawArea(), SIGNAL(updateCanvasSize(int,int, double)), machine, SLOT(updateCanvasSize(int, int, double)) );  // re-added 19/01/2015
  connect(machine, SIGNAL(repaint()), main, SLOT(repaintViewport()));

  main->updateIOView(machine);
}