Exemplo n.º 1
0
void LoadInfo::init()
{
    QVBoxLayout *vb = new QVBoxLayout( this );

    QString cpuInfo = getCpuInfo();
    if ( !cpuInfo.isNull() )
        vb->addWidget( new QLabel( cpuInfo, this ) );
    vb->addWidget( new Load( this ), 100 );

    QHBoxLayout *hb = new QHBoxLayout;
    vb->addLayout(hb);
    QLabel *l = new QLabel( this );
    l->setPixmap( makeLabel( Qt::red ) );
    hb->addWidget( l );
    l = new QLabel(tr("Application CPU (%)"), this );
    hb->addWidget( l );
    hb->addStretch(20);

    hb = new QHBoxLayout;
    vb->addLayout(hb);
    l = new QLabel( this );
    l->setPixmap( makeLabel( Qt::green ) );
    hb->addWidget( l, 1 );
    l = new QLabel(tr("System CPU (%)"), this );
    hb->addWidget( l );
    hb->addStretch(20);
    vb->addStretch(50);
}
Exemplo n.º 2
0
void StmtAssembler::visitWhile(While* p) {
  LabelPair labels;
  int ix = scope->nextIx();
  labels.first = makeLabel("While_body", ix);
  labels.second = makeLabel("While_end", ix);
  std::string cond_label = makeLabel("While_cond", ix);

  stream << cond_label << ":" << std::endl;

  ExprAssembler expr_ass(scope, env, stream);
  expr_ass.labelStack.push(&labels);

  p->expr_->accept(&expr_ass);
  stackLimit = std::max(stackLimit, expr_ass.stackLimit);

  stream << labels.first << ":" << std::endl;

  Core::BlockScope::PtrType new_scope(new Core::BlockScope(scope));
  StmtAssembler body_ass(new_scope, env, stream);
  p->stmt_->accept(&body_ass);
  stackLimit = std::max(stackLimit, body_ass.stackLimit);

  stream << "  goto " << cond_label << std::endl;
  stream << labels.second << ":" << std::endl;

};
Exemplo n.º 3
0
void StmtAssembler::visitCondElse(CondElse* p) {
  LabelPair labels;
  int ix = scope->nextIx();
  labels.first = makeLabel("CondElse_true", ix);
  labels.second = makeLabel("CondElse_false", ix);
  std::string end_label = makeLabel("CondElse_end", ix);

  ExprAssembler expr_ass(scope, env, stream);
  expr_ass.labelStack.push(&labels);
  p->expr_->accept(&expr_ass);
  stackLimit = std::max(stackLimit, expr_ass.stackLimit);

  stream << labels.first << ":" << std::endl;

  Core::BlockScope::PtrType true_scope(new Core::BlockScope(scope));
  StmtAssembler true_checker(true_scope, env, stream);
  p->stmt_1->accept(&true_checker);
  stackLimit = std::max(stackLimit, true_checker.stackLimit);

  stream << "  goto " << end_label << std::endl;
  stream << labels.second << ":" << std::endl;

  Core::BlockScope::PtrType false_scope(new Core::BlockScope(scope));
  StmtAssembler false_checker(false_scope, env, stream);
  p->stmt_2->accept(&false_checker);
  stackLimit = std::max(stackLimit, false_checker.stackLimit);

  stream << end_label << ":" << std::endl;
  stream << "  nop" << std::endl;
};
Exemplo n.º 4
0
TAC_NODE* createWHILE(TAC_NODE* code0, TAC_NODE* code1) {
	HASH_NODE* loopLabelBegin;
	loopLabelBegin = makeLabel();

	HASH_NODE* loopLabelEnd;
	loopLabelEnd = makeLabel();

	return joinTacs(joinTacs(joinTacs(joinTacs(joinTacs(createTacNode(TAC_LABEL, loopLabelBegin, NULL, NULL), code0), createTacNode(TAC_IFZ, NULL, code0->result, loopLabelEnd)), code1), createTacNode(TAC_JUMP, NULL, loopLabelBegin, NULL)), createTacNode(TAC_LABEL, loopLabelEnd, NULL, NULL));

}
Exemplo n.º 5
0
void ExprAssembler::eval(Expr* e) {
  LabelPair labels;
  int ix = scope->nextIx();
  labels.first = makeLabel("ExpVal_true", ix);
  labels.second = makeLabel("ExpVal_false", ix);
  std::string end_lab = makeLabel("ExpVal_end", ix);

  labelStack.push(&labels);
  e->accept(this);
  if (labelStack.size() == 0 || labelStack.top() != &labels) {
    instBool(stream, labels, end_lab);
  } else labelStack.pop();
};
Exemplo n.º 6
0
TAC_NODE* createIF_ELSE(TAC_NODE* code0, TAC_NODE* code1, TAC_NODE* code2) {
	HASH_NODE* labelElse;
	labelElse = makeLabel();

	HASH_NODE* labelEndIfElse;
	labelEndIfElse = makeLabel();

	TAC_NODE* ifBlock = joinTacs(joinTacs(joinTacs(code0, createTacNode(TAC_IFZ, NULL, code0->result, labelElse)), code1),createTacNode(TAC_JUMP, labelEndIfElse, NULL, NULL));

	TAC_NODE* elseBlock = joinTacs(joinTacs(createTacNode(TAC_LABEL, labelElse, NULL, NULL), code2), createTacNode(TAC_LABEL, labelEndIfElse, NULL, NULL));

	return joinTacs(ifBlock, elseBlock);
}
Exemplo n.º 7
0
void ExprAssembler::visitEOr(EOr* p) {
  LabelPair* target = nextLabelPair();
  LabelPair lab_e1, lab_e2;
  std::string e2_comp;
  int ix = scope->nextIx();

  e2_comp = makeLabel("EOR_snd", ix);
  lab_e1.first = target->first;
  lab_e1.second = e2_comp;
  lab_e2.first = target->first;
  lab_e2.second = target->second;

  labelStack.push(&lab_e2);
  labelStack.push(&lab_e1);
  p->expr_1->accept(this);
  stream << e2_comp << ":" << std::endl;
  p->expr_2->accept(this);


  Core::AbstractType::PtrType v1, v2;
  v2 = evalStack.top();
  evalStack.pop();
  v1 = evalStack.top();
  evalStack.pop();
  push(BinaryOpEval(v1, v2, p, this).result);
};
Exemplo n.º 8
0
LoadInfo::LoadInfo( QWidget *parent, const char *name, WFlags f )
    : QWidget( parent, name, f )
{
    QVBoxLayout *vb = new QVBoxLayout( this, 6 );

    QString cpuInfo = getCpuInfo();
    if ( !cpuInfo.isNull() )
	vb->addWidget( new QLabel( cpuInfo, this ) );
    vb->addWidget( new Load( this ), 100 );
    QLabel *l = new QLabel( this );
    l->setPixmap( makeLabel( red, tr("Application CPU usage (%)") ) );
    vb->addWidget( l, 1 );
    l = new QLabel( this );
    l->setPixmap( makeLabel( green, tr("System CPU usage (%)") ) );
    vb->addWidget( l, 1 );
    vb->addStretch(50);

    QWhatsThis::add( this, tr( "This page shows how much this device's processor is being used." ) );
}
Exemplo n.º 9
0
/**
 * Insert a nop to serve as a target of the backwards branch of a while-statement
 *
 * @param instList a list of instructions
 * @param symtab a symbol table
 * @return the label for the backwards branch target
 */
int emitWhileLoopLandingPad(DList instList,SymTable symtab) {
	char label[20];
	makeLabel(label);

	char *inst = nssave(2,label,":\tnop");

	dlinkAppend(instList,dlinkNodeAlloc(inst));

	return SymIndex(symtab,label);
}
Exemplo n.º 10
0
TAC *tacIfThen(TAC **code) {
    TAC *nIf, *target;
    HASH_NODE *label = makeLabel();
    /* ifz tac */
    nIf = tacCreate(TAC_IFZ, label, code[0]?code[0]->res:NULL, NULL);
    /* ifz false target */
    target = tacCreate(TAC_LABEL, label, NULL, NULL);

    return tacMultiJoin(4, code[0], nIf, code[1], target);
}
Exemplo n.º 11
0
TAC *tacWhile(TAC **code) {
    TAC *tacExp = code[0];
    TAC *tacCmd = code[1];

    // label before test expression
    HASH_NODE *labelPrev = makeLabel();
    TAC *tacPrev = tacCreate(TAC_LABEL, labelPrev, NULL, NULL);

    // label after while command
    HASH_NODE *labelNext = makeLabel();
    TAC *tacNext = tacCreate(TAC_LABEL, labelNext, NULL, NULL);
    
    // while conditional jump
    TAC *tacIfz = tacCreate(TAC_IFZ, labelNext, tacExp?tacExp->res:NULL, NULL);

    // jump back to test expression after command
    TAC *tacJmp = tacCreate(TAC_JUMP, labelPrev, NULL, NULL);

    return tacMultiJoin(6, tacPrev, tacExp, tacIfz, tacCmd, tacJmp, tacNext);
}
Exemplo n.º 12
0
/**
 * Insert a test to enter a while loop. If the test is false, branch to a label after the loop.
 *
 * @param instList a list of instructions
 * @param symtab a symbol table
 * @param regIndex a symbol table index for the register holding the result of the test expression of a while-statement
 * @return a symbol table index for the label at the end of the while-loop
 */
int emitWhileLoopTest(DList instList, SymTable symtab, int regIndex) {
	char label[20];
	makeLabel(label);
	char* inst = nssave(4,"\tbeq ",(char*)SymGetFieldByIndex(symtab,regIndex,SYM_NAME_FIELD),", $zero, ",label);

	dlinkAppend(instList,dlinkNodeAlloc(inst));

	freeIntegerRegister((int)SymGetFieldByIndex(symtab,regIndex,SYMTAB_REGISTER_INDEX_FIELD));

	return SymIndex(symtab,label);
}
Exemplo n.º 13
0
/**
 * Insert a branch to an ending label after the else-part of an if-statement.
 *
 * @param instList a list of instructions
 * @param symtab a symbol table
 * @param elseLabelIndex the symbol table index of the label for the beginning of the else-part of an if-statement
 * @return a symbol table index for the end label of an if-statement
 */
int emitThenBranch(DList instList, SymTable symtab, int elseLabelIndex) {
	char label[20];
	makeLabel(label);
	
	char* inst = nssave(2,"\tj ",label);

	dlinkAppend(instList, dlinkNodeAlloc(inst));

	emitEndBranchTarget(instList,symtab,elseLabelIndex);

	return SymIndex(symtab,label);
}
Exemplo n.º 14
0
static void
apply_defaults(InputConfig &input_config,
               const TCHAR *const* default_modes,
               const InputConfig::Event *default_events,
               unsigned num_default_events,
               const flat_gesture_map *default_gesture2event,
               const flat_event_map *default_key2event,
               const flat_event_map *default_gc2event,
               const flat_event_map *default_n2event,
               const flat_label *default_labels)
{
  assert(num_default_events <= InputConfig::MAX_EVENTS);

  input_config.SetDefaults();
  while (*default_modes != NULL)
    input_config.AppendMode(*default_modes++);

  input_config.events.resize(num_default_events + 1);
  std::copy(default_events, default_events + num_default_events,
            input_config.events.begin() + 1);

  while (default_gesture2event->event > 0) {
    input_config.Gesture2Event.add(default_gesture2event->data,
                                   default_gesture2event->event);
    ++default_gesture2event;
  }
  
  while (default_key2event->event > 0) {
    input_config.Key2Event[default_key2event->mode][default_key2event->key] =
      default_key2event->event;
    ++default_key2event;
  }

  while (default_gc2event->event > 0) {
    input_config.GC2Event[default_gc2event->key] =
      default_gc2event->event;
    ++default_gc2event;
  }

  while (default_n2event->event > 0) {
    input_config.N2Event[default_n2event->key] =
      default_n2event->event;
    ++default_n2event;
  }

  while (default_labels->label != NULL) {
    makeLabel(input_config,
              (InputEvents::Mode)default_labels->mode,
              default_labels->label,
              default_labels->location, default_labels->event);
    ++default_labels;
  }
}
Exemplo n.º 15
0
void ExprAssembler::visitERel(ERel* p) {
  LabelPair labels_b1, labels_b2;
  std::string b1_end, b2_end;
  int ix1 = scope->nextIx(), ix2 = scope->nextIx();

  labels_b1.first = makeLabel("B1_true", ix1);
  labels_b1.second = makeLabel("B1_false", ix1);
  b1_end = makeLabel("B1_end", ix1);

  labels_b2.first = makeLabel("B2_true", ix2);
  labels_b2.second = makeLabel("B2_false", ix2);
  b2_end = makeLabel("B2_end", ix2);

  Core::AbstractType::PtrType v1, v2;

  labelStack.push(&labels_b1);
  p->expr_1->accept(this);
  if (labelStack.size() == 0 || labelStack.top() != &labels_b1)
    instBool(stream, labels_b1, b1_end);
  else labelStack.pop();


  labelStack.push(&labels_b2);
  p->expr_2->accept(this);
  if (labelStack.size() == 0 || labelStack.top() != &labels_b2)
    instBool(stream, labels_b2, b2_end);
  else labelStack.pop();

  v2 = evalStack.top();
  evalStack.pop();
  v1 = evalStack.top();
  evalStack.pop();

  push(BinaryOpEval(v1, v2, p->relop_, this).result);
};
Exemplo n.º 16
0
TransformFourier::TransformFourier(MainWindow* mainWin) :
    Dialog(mainWin, "Fourier Transform")
{
    SetsSender::addViaDialog(this);

    setNumber = new SetComboBox();
    connect(setNumber, SIGNAL(currentIndexChanged(int)), this, SLOT(updateDialog()));

    windowLabel = makeLabel("Data Window");
    loadLabel = makeLabel("Load Result As");
    loadXLabel = makeLabel("Let result X=");
    dataTypeLabel = makeLabel("Data type");
    operationLabel = makeLabel("Perform");

    windowType = new QComboBox();
    windowType->addItem(tr("None (Rectangular)"));
    windowType->addItem(tr("Triangular"));
    windowType->addItem(tr("Hanning"));
    windowType->addItem(tr("Welch"));
    windowType->addItem(tr("Hamming"));
    windowType->addItem(tr("Blackman"));
    windowType->addItem(tr("Parsing"));

    loadType = new QComboBox();
    loadType->addItem(tr("Magnitude"));
    loadType->addItem(tr("Phase"));
    loadType->addItem(tr("Coefficients"));

    loadX = new QComboBox();
    loadX->addItem(tr("Index"));
    loadX->addItem(tr("Frequency"));
    loadX->addItem(tr("Period"));

    dataType = new QComboBox();
    dataType->addItem(tr("Real"));
    dataType->addItem(tr("Complex"));

    operation = new QComboBox();
    operation->addItem(tr("Forward FFT"));
    operation->addItem(tr("Reverse FFT"));
    operation->addItem(tr("Forward DFT"));
    operation->addItem(tr("Reverse DFT"));
    operation->addItem(tr("Window only"));

    QGridLayout* layout = new QGridLayout();
    addPair(layout, 0, makeLabel("Set"), setNumber);
    layout->setRowMinimumHeight(1, 8);
    addPair(layout, 2, operationLabel, operation);
    layout->setRowMinimumHeight(3, 2);
    addPair(layout, 4, windowLabel, windowType);
    layout->setRowMinimumHeight(5, 2);
    addPair(layout, 6, loadLabel, loadType);
    layout->setRowMinimumHeight(7, 2);
    addPair(layout, 8, loadXLabel, loadX);
    layout->setRowMinimumHeight(9, 2);
    addPair(layout, 10, dataTypeLabel, dataType);

    this->setDialogLayout(layout);
}
Exemplo n.º 17
0
TAC *tacIfThenElse(TAC **code) {
    TAC *tacExp = code[0];
    TAC *tacThen = code[1];
    TAC *tacElse = code[2];
    
    // label before else
    HASH_NODE* labelElse = makeLabel();
    TAC *tacLabelElse = tacCreate(TAC_LABEL, labelElse, NULL, NULL);

    // label after else
    HASH_NODE* labelNext = makeLabel();
    TAC *tacLabelNext = tacCreate(TAC_LABEL, labelNext, NULL, NULL);

    // ifz conditional jump
    TAC *tacIfz = tacCreate(TAC_IFZ, labelElse, tacExp?tacExp->res:NULL,
            NULL);

    // jump at end of then command
    TAC *tacJmp = tacCreate(TAC_JUMP, labelNext, NULL, NULL);
    
    return tacMultiJoin(7, tacExp, tacIfz, tacThen, tacJmp, tacLabelElse,
            tacElse, tacLabelNext);
}
Exemplo n.º 18
0
    std::unique_ptr<Labels> labels(new Labels());

    View view(256, 256);
    view.setPosition(0, 0);
    view.setZoom(0);
    view.update(false);

    struct TestLabelMesh : public LabelSet {
        void addLabel(std::unique_ptr<Label> _label) { m_labels.push_back(std::move(_label)); }
    };

    auto labelMesh = std::unique_ptr<TestLabelMesh>(new TestLabelMesh());
    auto textStyle = std::unique_ptr<TextStyle>(new TextStyle("test", nullptr, false));
    textStyle->setID(0);

    labelMesh->addLabel(makeLabel(glm::vec2{.5f,.5f}, Label::Type::point, "0"));
    labelMesh->addLabel(makeLabel(glm::vec2{1,0}, Label::Type::point, "1"));
    labelMesh->addLabel(makeLabel(glm::vec2{1,1}, Label::Type::point, "2"));

    std::shared_ptr<Tile> tile(new Tile({0,0,0}, view.getMapProjection()));
    tile->initGeometry(1);
    tile->setMesh(*textStyle.get(), std::move(labelMesh));
    tile->update(0, view);

    std::vector<std::unique_ptr<Style>> styles;
    styles.push_back(std::move(textStyle));

    std::vector<std::shared_ptr<Tile>> tiles;

    tiles.push_back(tile);
    {
Exemplo n.º 19
0
void RNAProfileAlignment::buildForest(const string &baseStr, const string &viennaStr, bool use_bp_prob)
{
	Ulong basePairCount=0,maxDepth=0,stackPtr;
	Uint baseStrLen,viennaStrLen,node,*nodeStack, *numChildrenStack, *baseposStack;

	assert(RNAFuncs::isRNAString(baseStr));

	RNAFuncs::isViennaString(viennaStr,basePairCount,maxDepth);

	baseStrLen=baseStr.length();
	viennaStrLen=viennaStr.length();

	if(baseStrLen)
		hasSequence=true;
	else
		hasSequence=false;	

	// check if base string and vienna string have the same length
	//  if(baseStr.length() > 0)
	//    if(baseStr.length() != viennaStrLen)
	//      throw RNAForestExceptionInput(RNAForestExceptionInput::Error_BaseStringAndViennaStringIncompatible);

	nodeStack=new Uint[maxDepth+1];
	numChildrenStack=new Uint[maxDepth+1];
	baseposStack=new Uint[maxDepth+1];
	memset(nodeStack,0,sizeof(Uint)*maxDepth+1);
	memset(numChildrenStack,0,sizeof(Uint)*maxDepth+1);
	memset(baseposStack,0,sizeof(Uint)*maxDepth+1);

	// fill PPForest structure
	stackPtr=0;
	node=0;
	for(Uint i=0;i<viennaStrLen;i++)
	{		
		switch(viennaStr[i])
		{
		case '.':
			// set label
			if(baseStrLen)
				makeLabel(m_lb[node],baseStr[i]);
			else
				makeLabel(m_lb[node],'B');				

			// set right brother
			if(node==size()-1)
				setRightBrotherIndex(node,0);
			else
				setRightBrotherIndex(node,node+1);

			// set num children
			setNumChildren(node,0);

			// increase stack values
			numChildrenStack[stackPtr]++;

			node++;
			break;

		case '(':
			// set label
			makeLabel(m_lb[node],'P');			

			// increase stack values
			numChildrenStack[stackPtr]++;
			baseposStack[stackPtr]=i+1;

			// push 
			stackPtr++;
			nodeStack[stackPtr]=node;
			numChildrenStack[stackPtr]=1;

			node++;

			// set label
			if(baseStrLen)
				makeLabel(m_lb[node],baseStr[i]);
			else
				makeLabel(m_lb[node],'B');

			// set right brother
			setRightBrotherIndex(node,node+1);

			// set num children
			setNumChildren(node,0);

			node++;				
			break;
		case ')':
			// set label
			if(baseStrLen)
				makeLabel(m_lb[node],baseStr[i]);
			else
				makeLabel(m_lb[node],'B');  

			// set right brother
			setRightBrotherIndex(node,0);    

			// set num children
			setNumChildren(node,0);  

			// pop
			if(node==size()-1)
				setRightBrotherIndex(nodeStack[stackPtr],0);
			else
				setRightBrotherIndex(nodeStack[stackPtr],node+1);  

			setNumChildren(nodeStack[stackPtr],numChildrenStack[stackPtr]+1);
			
			stackPtr--;

#ifdef HAVE_LIBRNA			
			// set basepair probability
			if(use_bp_prob)
			  {			    
			    m_lb[nodeStack[stackPtr]].p[ALPHA_PRO_BASEPAIR]=pr[iindx[baseposStack[stackPtr]]-(i+1)];
			    m_lb[nodeStack[stackPtr]].p[ALPHA_PRO_GAP]=1-m_lb[nodeStack[stackPtr]].p[ALPHA_PRO_BASEPAIR];
			  }			
#endif

			
			node++;
			break;							
		}		
	}	
	
	delete[] nodeStack;
	delete[] numChildrenStack;
	delete[] baseposStack;
	calcSumUpCSF();

	calcRMB();
	
	assert (m_noc[m_size-1]==0);
}
Exemplo n.º 20
0
/*
 * This dialog is designed to unify the old word, view, and graph type dialogs
 * into a cohesive whole.
 *
 */
ViewDimensions::ViewDimensions(MainWindow *parent) :
    Dialog(parent, "Dimensions", true)
{
    WorldDimProp::add(this);

    viewXMin = getUnitDoubleSpinBox();
    connect(viewXMin, SIGNAL(valueChanged(double)), this, SLOT(readjXMax()));
    viewXMax = getUnitDoubleSpinBox();
    connect(viewXMax, SIGNAL(valueChanged(double)), this, SLOT(readjXMin()));
    viewYMin = getUnitDoubleSpinBox();
    connect(viewYMin, SIGNAL(valueChanged(double)), this, SLOT(readjYMax()));
    viewYMax = getUnitDoubleSpinBox();
    connect(viewYMax, SIGNAL(valueChanged(double)), this, SLOT(readjYMin()));

    worldXMin = new QLineEdit();
    connect(worldXMin, SIGNAL(textEdited(QString)), this, SLOT(updateScale()));
    worldXMax = new QLineEdit();
    connect(worldXMax, SIGNAL(textEdited(QString)), this, SLOT(updateScale()));
    worldYMin = new QLineEdit();
    connect(worldYMin, SIGNAL(textEdited(QString)), this, SLOT(updateScale()));
    worldYMax = new QLineEdit();
    connect(worldYMax, SIGNAL(textEdited(QString)), this, SLOT(updateScale()));

    worldType = new QComboBox();
    for (int k=0;k<OPTS_LEN;k++) {
        worldType->addItem(opts[k].iname);
    }
    connect(worldType, SIGNAL(currentIndexChanged(int)), this, SLOT(updateScale()));

    viewSelect = makeButton("Rect Select", SLOT(viewRect()));
    setButtonBold(viewSelect);

    rescaleAxes = makeButton("Autoscale", SLOT(rescaleTicks()));
    setButtonBold(rescaleAxes);

    autoHook(viewXMin);
    autoHook(viewXMax);
    autoHook(viewYMin);
    autoHook(viewYMax);
    autoHook(worldXMin);
    autoHook(worldXMax);
    autoHook(worldYMin);
    autoHook(worldYMax);
    autoHook(worldType);

    QHBoxLayout* header = new QHBoxLayout();
    header->addWidget(makeLabel("Graph Type"), 0);
    header->addWidget(worldType, 0);
    header->addStretch(1);

    QGridLayout* wrldl = new QGridLayout();
    addPair(wrldl, 0, makeLabel("X Min"), worldXMin);
    addPair(wrldl, 1, makeLabel("X Max"), worldXMax);
    addPair(wrldl, 2, makeLabel("Y Min"), worldYMin);
    addPair(wrldl, 3, makeLabel("Y Max"), worldYMax);
    wrldl->setRowMinimumHeight(4, 12);
    wrldl->addWidget(rescaleAxes, 5, 0, 1, 2, Qt::AlignCenter);
    wrldl->setColumnMinimumWidth(1, 100);
    wrldl->setColumnStretch(0, 0);
    wrldl->setColumnStretch(1, 2);

    QGroupBox* wrldb = makeGroupBox("World Coords");
    wrldb->setLayout(wrldl);

    QVBoxLayout* wrld = new QVBoxLayout();
    wrld->addWidget(wrldb, 0);
    wrld->addStretch(1);

    QGridLayout* viewl = new QGridLayout();
    addPair(viewl, 0, makeLabel("X Min"), viewXMin);
    addPair(viewl, 1, makeLabel("X Max"), viewXMax);
    addPair(viewl, 2, makeLabel("Y Min"), viewYMin);
    addPair(viewl, 3, makeLabel("Y Max"), viewYMax);
    viewl->setRowMinimumHeight(4, 12);
    viewl->addWidget(viewSelect, 5, 0, 1, 2, Qt::AlignCenter);
    viewl->setColumnMinimumWidth(1, 120);
    viewl->setColumnStretch(0, 0);
    viewl->setColumnStretch(1, 2);

    QGroupBox* viewb = makeGroupBox("View Coords");
    viewb->setLayout(viewl);

    QVBoxLayout* view = new QVBoxLayout();
    view->addWidget(viewb, 0);
    view->addStretch(1);

    QHBoxLayout* bot = new QHBoxLayout();
    bot->addLayout(wrld);
    bot->addLayout(view);

    QVBoxLayout* ovr = new QVBoxLayout();
    ovr->addLayout(header);
    ovr->addStrut(12);
    ovr->addLayout(bot);

    this->setDialogLayout(ovr);
}
Exemplo n.º 21
0
static void
apply_defaults(InputConfig &input_config,
               const TCHAR *const* default_modes,
               const InputConfig::Event *default_events,
               unsigned num_default_events,
               const flat_gesture_map *default_gesture2event,
               const flat_event_map *default_key2event,
               const flat_event_map *default_gc2event,
               const flat_event_map *default_n2event,
               const flat_label *default_labels)
{
    assert(num_default_events <= InputConfig::MAX_EVENTS);

    input_config.SetDefaults();
    while (*default_modes != NULL)
        input_config.AppendMode(*default_modes++);

    input_config.events.resize(num_default_events + 1);
    std::copy_n(default_events, num_default_events,
                input_config.events.begin() + 1);

    while (default_gesture2event->event > 0) {
        input_config.Gesture2Event.Add(default_gesture2event->data,
                                       default_gesture2event->event);
        ++default_gesture2event;
    }

    while (default_key2event->event > 0) {
        unsigned key_code_idx = default_key2event->key;
        auto key_2_event = input_config.Key2Event;
#if defined(ENABLE_SDL) && (SDL_MAJOR_VERSION >= 2)
        if (default_key2event->key & SDLK_SCANCODE_MASK) {
            key_2_event = input_config.Key2EventNonChar;
            key_code_idx &= ~SDLK_SCANCODE_MASK;
        }
#endif
        key_2_event[default_key2event->mode][key_code_idx] =
            default_key2event->event;
        ++default_key2event;
    }

    while (default_gc2event->event > 0) {
        input_config.GC2Event[default_gc2event->key] =
            default_gc2event->event;
        ++default_gc2event;
    }

    while (default_n2event->event > 0) {
        input_config.N2Event[default_n2event->key] =
            default_n2event->event;
        ++default_n2event;
    }

    while (default_labels->label != NULL) {
        makeLabel(input_config,
                  (InputEvents::Mode)default_labels->mode,
                  default_labels->label,
                  default_labels->location, default_labels->event);
        ++default_labels;
    }
}
Exemplo n.º 22
0
TAC_NODE* createIF(TAC_NODE* code0, TAC_NODE* code1) {
	HASH_NODE* label;
	label = makeLabel();

	return joinTacs(joinTacs(joinTacs(code0, createTacNode(TAC_IFZ, code0->result, label, NULL)), code1), createTacNode(TAC_LABEL, label, NULL, NULL));
}