コード例 #1
0
ファイル: ptalign.c プロジェクト: DanIverson/OpenVnmrJ
main (int argc, char *argv[])
{
  int done;
  int status;
  char buffer[256];
  char responce[256];
  char *bptr;
  char *cmdline;
  int buflen = 1;
  int firstentry = 1;
  int chars;
  char cmdchar;
 
  if (argc < 2)
  {
    fprintf(stdout,"usage:  %s <devicename> (i.e. /dev/term/b)\n", argv[0]);
    exit(1);
  }

  verbose = 0;

  /* initialize Serial port to Gilson */
  Portfd = initPort(argv[1],PATIENT_TABLE);
 
  /* need this info for isocenter calcualtions */
  SoftLimits();

  if (argc > 2)
  {
     cmdchar = argv[2][0];
     /* printf("2nd arg: '%s'\n",argv[2]); */
     if (cmdchar != '-')
     {
	status = 0;
        switch( toupper(cmdchar) )
        {
	   case 'M':
        	MoveAxis(&(argv[2][1]));
        	/* get status and clear up error bits */
        	Send_Cmd(statusCmd, responce);
                XYPos(X_AXIS);
                XYPos(Y_AXIS);
		break;
	  case 'X':
                XYPos(X_AXIS);
		break;

	  case 'Y':
                XYPos(Y_AXIS);
		break;

	  case 'S':
                Status();
		break;

	  default:
		status = -1;
		break;
		
        }
  	fflush(stdout);
	return(status);
     }
     else if (strcmp(argv[2],"-debug") == 0)
     {
       verbose = 1;
     }
  }
 
  if (verbose)
    fprintf(stdout,"Init Device: %s\n",argv[1]);
 
  if (verbose)
     PrintSet();

/*
  fprintf(stdout,"%lf %lf %lf %lf %lf %lf %lf %lf \n",xyMinMax[0],xyMinMax[1],
		xyMinMax[2],xyMinMax[3],xyMinMax[4],xyMinMax[5],
		MaxXYSpeed[0],MaxXYSpeed[1]);
*/

  fflush(stdout);


  done = 1;
  while (done)
  {
    if (verbose)
    {
      fprintf(stdout,"M)ove Axis (MX+100,MY-100), S)tatus \n");
      fprintf(stdout,"\nCmds:  ");
    }
    else if (buflen)
    {
      if (!firstentry)
        fprintf(stdout,"Cmds:\n");   /* The GUI expects this prompt, verbatim */
      else
	 firstentry = 0;
    }
/**********/

    fflush(stdout);
    bptr = gets(buffer);
    buflen = strlen(buffer);
    if (bptr == NULL)
      break;
    switch( toupper(buffer[0]) )
    {
        case 'M':
                MoveAxis(&buffer[1]);
                break;
 
        case 'S':
                Status();
                break;
        case 'X':
                XYPos(X_AXIS);
                break;
        case 'Y':
                XYPos(Y_AXIS);
                break;
   
        case 'Q':
                done = 0;
                return;
                break;
    }
  }

}
コード例 #2
0
ファイル: KVCanvas.cpp プロジェクト: GiuseppePast/kaliveda
//________________________________________________________________
Bool_t KVCanvas::HandleKey(Int_t , Int_t py)
{
   // Handle keys

//    Info("HandleKey","key pressed : %d %d",px,py);

   TObject* obj = 0;
   TIter next(GetListOfPrimitives());

   if (!fEnabledShortcuts) return kTRUE;

   if (fSelected->InheritsFrom("TFrame")) fSelected = FindHisto();
   if (fSelected->InheritsFrom("TH2"))    fSelected = FindHisto();
   if (!fSelected) return kTRUE;

   switch ((EKeySym)py) {
      case kKey_F1:
         break;

      case kKey_F2:
         break;

      case kKey_F3:
         break;

      case kKey_F4:
         break;

      case kKey_F5:
         break;

      case kKey_F6:
         break;

      case kKey_F7:
         break;

      case kKey_F8:
         break;

      case kKey_F9:
         SetLogx(!fLogx);
         Modified();
         Update();
         break;

      case kKey_F10:
         SetLogy(!fLogy);
         Modified();
         Update();
         break;

      case kKey_F11:
         SetLogz(!fLogz);
         Modified();
         Update();
         break;

      case kKey_F12:
         if (fSelected->InheritsFrom("TH1")) {
            gPad->cd();
            ((TH1*)fSelected)->GetXaxis()->UnZoom();
            ((TH1*)fSelected)->GetYaxis()->UnZoom();
            Modified();
            Update();
         } else if (fSelected->InheritsFrom("TAxis")) {
            ((TAxis*)fSelected)->UnZoom();
            Modified();
            Update();
         }
         break;

      case kKey_a:
         break;

      case kKey_b:
         break;

      case kKey_c:
         if (gCopyObject) {
            gCopyObject->Delete();
            gCopyObject = 0;
         }
         if (fSelected) gCopyObject = fSelected->Clone();
//        gCopyObject = fSelected;
         break;

      case kKey_d:
         if (fSelected->InheritsFrom("TF1")) {
            TH1* hh = 0;
            if ((hh = FindHisto())) hh->GetListOfFunctions()->Remove(fSelected);
         } else GetListOfPrimitives()->Remove(fSelected);
         Modified();
         Update();
         break;

      case kKey_e:
         GetCanvasImp()->ShowEditor(!GetCanvasImp()->HasEditor());
         break;

      case kKey_f:
         if (fSelected->InheritsFrom("TH1"))((TH1*)fSelected)->FitPanel();
         break;

      case kKey_g:
         if (GetGridx() && GetGridy()) {
            SetGrid(0, 0);
            while ((obj = next())) {
               if (obj->InheritsFrom(TPad::Class())) {
                  ((TPad*)obj)->SetGrid(0, 0);
               }
            }
         } else {
            SetGrid();
            while ((obj = next())) {
               if (obj->InheritsFrom(TPad::Class())) {
                  ((TPad*)obj)->SetGrid();
               }
            }
         }
         Modified();
         Update();
         break;

      case kKey_i:
         ShowShortcutsInfos();
         break;

      case kKey_j:
         fJPressed = kTRUE;
         return kTRUE;
         break;

      case kKey_l:
         if (fSelected->InheritsFrom("TH2"))         SetLogz(!fLogz);
         else if (fSelected->InheritsFrom("TH1"))    SetLogy(!fLogy);
         Modified();
         Update();
         break;

      case kKey_n:
         if (fSelected->InheritsFrom("TH1")) {
            ((TH1*)fSelected)->Sumw2();
            ((TH1*)fSelected)->Scale(1. / ((TH1*)fSelected)->Integral());
         }
         Modified();
         Update();
         break;

      case kKey_p:
         fPPressed = kTRUE;
         return kTRUE;
         break;

//    case kKey_q:
//        Close();
//        return kTRUE;
//        break;

      case kKey_r:
         if (ExpandFunctionRange()) {
            Modified();
            Update();
         }
         break;

      case kKey_s:
         SaveCanvasAs();
         break;

      case kKey_t:
         break;

      case kKey_u:
         Modified();
         Update();
         break;

      case kKey_v:
         if (gCopyObject) {
            cd();
            Modified();
            Update();
            TString option = "";
            if (FindHisto()) option += "same";
            gCopyObject->Draw(option.Data());
            Modified();
            Update();
            gCopyObject = 0;
         }
         break;

      case kKey_w:
         fAgeOfEmpire = !fAgeOfEmpire;
         break;

      case kKey_x:
         if (fPPressed && fSelected->InheritsFrom("TH2")) ProfileX((TH2*)fSelected);
         if (fJPressed && fSelected->InheritsFrom("TH2")) ProjectionX((TH2*)fSelected);
         if (!fPPressed && !fJPressed) {
            gCopyObject = fSelected;
            GetListOfPrimitives()->Remove(gCopyObject);
            Modified();
            Update();
         }
         break;

      case kKey_y:
         if (fPPressed && fSelected->InheritsFrom("TH2")) ProfileY((TH2*)fSelected);
         if (fJPressed && fSelected->InheritsFrom("TH2")) ProjectionY((TH2*)fSelected);
         break;

      case kKey_Left:
         if (fSelected->InheritsFrom("TAxis"))    MoveAxis((TAxis*)fSelected, -1);
         else if (fSelected->InheritsFrom("TH1")) MoveAxis(FindHisto()->GetXaxis(), -1);
         break;

      case kKey_Down:
         if (fSelected->InheritsFrom("TAxis"))    MoveAxis((TAxis*)fSelected, -1);
         else if (fSelected->InheritsFrom("TH1")) MoveAxis(FindHisto()->GetYaxis(), -1);
         break;

      case kKey_Right:
         if (fSelected->InheritsFrom("TAxis"))    MoveAxis((TAxis*)fSelected, 1);
         else if (fSelected->InheritsFrom("TH1")) MoveAxis(FindHisto()->GetXaxis(), 1);
         break;

      case kKey_Up:
         if (fSelected->InheritsFrom("TAxis"))    MoveAxis((TAxis*)fSelected, 1);
         else if (fSelected->InheritsFrom("TH1")) MoveAxis(FindHisto()->GetYaxis(), 1);
         break;

      case kKey_Plus:
         if (fSelected->InheritsFrom("TH2")) {
            ((TH2*)fSelected)->SetMinimum(((TH1*)fSelected)->GetMinimum() + 1);
            Modified();
            Update();
         } else if (fSelected->InheritsFrom("TF1")) {
            ((TF1*)fSelected)->SetNpx(((TF1*)fSelected)->GetNpx() + 50);
            Modified();
            Update();
         } else if (fSelected->InheritsFrom("TH1")) {
            TObject* obj = 0;
            TIter it(((TH1*)fSelected)->GetListOfFunctions());
            while ((obj = it())) {
               ((TF1*)obj)->SetNpx(((TF1*)obj)->GetNpx() + 50);
            }
            Modified();
            Update();
         }
         break;

      case kKey_Minus:
         if (fSelected->InheritsFrom("TH2")) {
            if (((TH1*)fSelected)->GetMinimum() > 0)((TH2*)fSelected)->SetMinimum(((TH1*)fSelected)->GetMinimum() - 1);
            Modified();
            Update();
         } else if (fSelected->InheritsFrom("TF1")) {
            ((TF1*)fSelected)->SetNpx(((TF1*)fSelected)->GetNpx() - 50);
            Modified();
            Update();
         } else if (fSelected->InheritsFrom("TH1")) {
            TObject* obj = 0;
            TIter it(((TH1*)fSelected)->GetListOfFunctions());
            while ((obj = it()))((TF1*)obj)->SetNpx(((TF1*)obj)->GetNpx() - 50);
            Modified();
            Update();
         }
         break;

      case kKey_Space:
         break;

      default:
         fPPressed = kFALSE;
         fJPressed = kFALSE;
         return kTRUE;
   }
   fPPressed = kFALSE;
   fJPressed = kFALSE;
   return kTRUE;
}