Ejemplo n.º 1
0
void FramestackWidget::parseRDBBacktraceList(char *str)
{
	QRegExp	frame_re("#(\\d+) ([^:]+):(\\d+)(:in `([^\\n]+)')?");
	int	pos = frame_re.search(str);
	
    while (pos != -1) {
		QString	method(frame_re.cap(5));
		if (method == "") {
			method = "toplevel";
		} else {
			method.append("(...)");
		}
		
		int frameNo = frame_re.cap(1).toInt();
		QString frameName = QString("T%1#%2 %3").arg(viewedThread_->threadNo()).arg(frame_re.cap(1)).arg(method);
		new FrameStackItem(viewedThread_, frameNo, QString(frame_re.cap(0)), frameName);
		
		// Tell the Variable Tree that this frame is active
		emit frameActive(frameNo, viewedThread_->threadNo(), frameName);
				
		pos += frame_re.matchedLength();
		pos = frame_re.search(str, pos);
    }
	
	if (viewedThread_ != 0) {
		viewedThread_->setOpen(true);
	}
	
	return;
}
Ejemplo n.º 2
0
void NGLScene::keyPressEvent(QKeyEvent *_event)
{
  // this method is called every time the main window recives a key event.
  // we then switch on the key value and set the camera in the NGLScene
  switch (_event->key())
  {
  // escape key to quite
  case Qt::Key_Escape : QGuiApplication::exit(EXIT_SUCCESS); break;
  // turn on wirframe rendering
  case Qt::Key_W : glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); break;
  // turn off wire frame
  case Qt::Key_S : glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); break;
  // show full screen
  case Qt::Key_F : frameActive(); break;
    // show windowed
    case Qt::Key_Space : toggleWindow(); break;
  default : break;
  }
  // finally update the NGLScene and re-draw
  //if (isExposed())
    renderLater();
}