Example #1
0
static void DOT_CancelProc(ButtoN b)
{
  DOTStartDataPtr sdata;
  sdata=(DOTStartDataPtr)GetObjectExtra(ParentWindow(b));
  Remove(ParentWindow(b));
  Show(sdata->hStart);
}
Example #2
0
// Delete CEikScrollBar instance and replace it with actual arrow head scroll bar
void CEikCbaScrollBarFrame::SwitchToArrowHeadScrollBarL()
	{
	delete(iV.iBar);
	iV.iBar = 0;
	iV.iExternalScrollBarAttached=EFalse;
	iV.iBar = new(ELeave) CAknArrowHeadScrollBar(ParentWindow());
	iV.iBar->ConstructL(NULL,ParentWindow(),CAknScrollBar::EVertical,KLongEnoughToCauseComponentsToBeCreated,0);
	}
Example #3
0
static void ApplyParams (ButtoN b)
{
  WindoW  w;
  XOSPtr  xosp;

  SeqScrollDataPtr ssdp;

  w = ParentWindow (b);
  if ((ssdp = (SeqScrollDataPtr) GetObjectExtra (w)) != NULL)
  {
    if ((xosp = (XOSPtr) GetObjectExtra (b)) != NULL)
    {
      if (xosp->ddp != NULL)
      {
        xosp->ddp->windowsize = (Int4) ssdp->curval;
        ssdp = ssdp->next;
        xosp->ddp->percent = (FloatHi) ssdp->curval;
        xosp->ddp->level = (Int4) ssdp->curval;
        ssdp = ssdp->next;
        xosp->ddp->minwin = (Int4) ssdp->curval;
        ssdp = ssdp->next;
        xosp->ddp->linker = (Int4) ssdp->curval;
      }
    }
  }
  return;
}
Example #4
0
static void DOT_ButtontoNetwork(ButtoN b){
  
  Remove(ParentWindow(b));
 /*  if (!(igvp=IG_NewMainDataPtr())) */
/*     return; */
/*   IG_GetFromNetwork(igvp); */
}
Example #5
0
static void AcceptParamProc (ButtoN b)
{
  ApplyParams (b);
  CloseParamWindowProc (ParentWindow (b));
  ClearWindowFlag (b);
  return;
}
Example #6
0
static void DrawGraph (PaneL p)
{
  XISPtr  xisp;
  WindoW  w;
  RecT    r;
  Int4    len;

  w = ParentWindow (p);
  if ((xisp = (XISPtr) GetObjectExtra (w)) == NULL)
    return;

  len = xisp->sgp->numval;

  xisp->Xscale = len / xisp->Xaxislen;
  if ((len % xisp->Xaxislen) != 0)
    (xisp->Xscale)++;

  ObjectRect (p, &r);
  xisp->dr.left   = r.left;
  xisp->dr.top    = r.top;
  xisp->dr.right  = r.right;
  xisp->dr.bottom = r.bottom - (Int2) (xisp->Ypostlen);
  DrawGraphToPanel (xisp->sgp, xisp->Xscale, xisp->Yscale,
                    xisp->Yaxislen, &(xisp->dr), 1,
                    xisp->sgp->numval);
  return;
}
Example #7
0
static void CloseAboutPanelProc (PaneL p, PoinT pt)

{
  WindoW  w;

  w = ParentWindow (p);
  Remove (w);
}
Example #8
0
/*******************************************************************************

  Function : DDV_InvalRegion()
  
  Purpose : invalidate a specific region of DDV panel

  Note : disp_from,disp_to,disp_row are display coordinates. 
         disp_from,disp_to are zero-based. 
         disp_row is one-based  
		 
  Return value : the sequence 

*******************************************************************************/
extern void DDV_InvalRegion(PaneL hWndDDV,UnDViewerGraphDataPtr GrData,
		Int4 disp_from,Int4 disp_to,Int4 disp_row,Boolean IsSelect)
{
DdvMainPtr dmp;
RecT       rcP,rc;
Int2       from_x,to_x,from_y,to_y;
WindoW     temport;

	dmp = (DdvMainPtr) GetObjectExtra(hWndDDV);
	if (dmp==NULL) return;

	/*convert disp coord to pixel positions*/
		/*left of the first letter in the range*/
	from_x=(Int2)((disp_from-GrData->udv_hscrl.ScrollPos)*GrData->udv_font.ColWidth);
		/*right of the last letter in the range*/
	to_x=(Int2)((disp_to-GrData->udv_hscrl.ScrollPos+1)*GrData->udv_font.ColWidth);
		/*just above the row*/
	from_y=(Int2)((disp_row-GrData->udv_vscrl.ScrollPos-1)*GrData->udv_font.LineHeight);
		/*just below the row*/
	to_y=(Int2)(from_y+2*GrData->udv_font.LineHeight);

	/*adjust the values according to the PaneL RecT position*/
		/*panel size*/
    temport=SavePort(ParentWindow(hWndDDV));
    Select(hWndDDV);
	ObjectRect(hWndDDV,&rcP);
	InsetRect(&rcP,4,4);
		/*drawing region:*/
	DDV_AdjustDrawingRect(&rcP,&(GrData->udv_font),dmp);
	
	rcP.left+=GrData->udv_panel.cxName+GrData->udv_scale.cxLeftScale;
	rcP.top+=3*GrData->udv_panel.cyScale/2;
	from_x+=rcP.left-1;
	to_x+=rcP.left;
	from_y+=rcP.top+1;
	to_y+=rcP.top;

	rc.left=from_x-2;
	rc.top=from_y-2;
	rc.right=to_x+2;
	rc.bottom=to_y+2;

	/*InvalRect(&rc);*/
	/*DDV_DrawPanelContent_H (hWndDDV,dmp,&rc,IsSelect);*/

	if (!IsSelect){
		/*printf("invalRect\n");*/
		InvalRect(&rc);
	}
	else{
		DDV_DrawPanelContent_H (hWndDDV,dmp,&rc,IsSelect);
	}
/*	Update();*/
    RestorePort(temport);
}
Example #9
0
void CEikCbaScrollBarFrame::ConstructL()
	{
    iV.iBar = 0;
    iV.iExternalScrollBarAttached=EFalse;
    
    // We construct CEikScrollBar instance here, because it doesn't create bitmaps -> faster 
    // and save RAM. If CBAs are really needed, then we replace CEikScrollBar with  
    // CAknArrowHeadScrollBar instance at SwitchArrowHeadScrollBarL method.
    iV.iBar = new(ELeave) CEikScrollBar();
    iV.iBar->ConstructL(NULL,ParentWindow(),CAknScrollBar::EVertical,KLongEnoughToCauseComponentsToBeCreated,0);
	}
Example #10
0
static void AsnBinCancelProc (ButtoN b)
{
    WindoW w;
    VSMReadBinStrPtr vrp;
    
    w = ParentWindow(b);
    vrp = (VSMReadBinStrPtr) GetWindowExtra(w);
    vrp->do_it = FALSE;
    Remove(w);
    vrp->window_done = TRUE;
    return;    
}
Example #11
0
static void AsnBinAcceptProc (ButtoN b)
{
    WindoW w;
    VSMReadBinStrPtr vrp;
    
    w = ParentWindow(b);
    vrp = (VSMReadBinStrPtr) GetWindowExtra(w);
    vrp->do_it = TRUE;
    vrp->the_type = GetValue(vrp->p);
    Remove(w);
    vrp->window_done = TRUE;
    return;    
}
Example #12
0
/*******************************************************************************

  Function : DDV_ConfigNetwork()
  
  Purpose : call the Entrez Network COnfiguration Dialog Box
  
  Return value : none 

*******************************************************************************/
static void DDV_ConfigNetwork(IteM i)
{
DdvMainWinPtr      dmwp;
WindoW             hParent;

	/*get main data block*/
	hParent=(WindoW)ParentWindow(i);
	if (!hParent) return;
	dmwp=(DdvMainWinPtr)GetObjectExtra(hParent);

    if (dmwp->UseNetwork) ShowNetConfigForm(NULL,
        NULL, DDV_ConfigAccepted, DDV_ConfigCancelled, DDV_ConfigTurnedOff, TRUE);
    else ShowNetConfigForm(NULL, NULL, DDV_ConfigAccepted, DDV_ConfigCancelled,
                      DDV_ConfigTurnedOff, FALSE);
}
Example #13
0
static void DOT_CheckSA(ButtoN b)
{
  DOTStartDataPtr sdata;
  
  sdata=(DOTStartDataPtr)GetObjectExtra(ParentWindow(b));
  if (!sdata) return;
  if(GetStatus(sdata->seqa)){
    Disable(sdata->entrez);
    Enable(sdata->file);
    SetStatus(sdata->dot, FALSE);
    SetStatus(sdata->reg_blast, FALSE);
    SetStatus(sdata->auto_blast, FALSE);
  }
  else{
    Disable(sdata->file);
  }
}
Example #14
0
static void SetGIProc (ButtoN b)
{
  TexT     pc;
  XOSPtr   xosp;
  Char     buf[16];

  if ((pc = (TexT) GetObjectExtra (b)) != NULL)
  {
    if ((xosp = (XOSPtr) GetObjectExtra (pc)) != NULL)
    {
      GetTitle (pc, buf, sizeof (buf));
      xosp->gi = atol (buf);
      xosp->filename = (CharPtr) MemFree (xosp->filename);
    }
  }
  CloseGIWindowProc (ParentWindow (b));
  return;
}
Example #15
0
long Document :: Activate(wActivateMsg m)
{
	char	buf[500], *cp;

	if (m.fActive())
	{
		wMdiDesktop *	desk = (wMdiDesktop *)ParentWindow();

		bString str = desk->GetCaption();
		strcpy(buf, str);
		if ((cp = strchr(buf, '-')) != NULL)
			*(cp-1) = 0;

		strcat(buf, " - ");
		strcat(buf, GetCaption());
		desk->SetCaption(buf);
	}
	return FALSE;
}
Example #16
0
static void ApplyParams (ButtoN b)
{
  WindoW  w;
  XOSPtr  xosp;

  SeqScrollDataPtr ssdp;

  if ((xosp = (XOSPtr) GetObjectExtra (b)) != NULL)
  {
    w = ParentWindow (b);
    if ((ssdp = (SeqScrollDataPtr) GetObjectExtra (w)) != NULL)
    {
      xosp->cutoff = (Int4) ssdp->curval;
      ssdp = ssdp->next;
      xosp->window = (Int4) ssdp->curval;
    }
  }
  return;
}
Example #17
0
static void AboutMoreProc (ButtoN b)

{
  DoC      d;
  CharPtr  info;
  WindoW   w;

  Remove (ParentWindow (b));
  w = ModalWindow (-50, -33, -1, -1, StdCloseWindowProc);
  d = DocumentPanel (w, 30 * stdCharWidth, 16 * stdLineHeight);
  b = PushButton (w, "Done", StdCancelButtonProc);
  AlignObjects (ALIGN_CENTER, (HANDLE) d, (HANDLE) b, NULL);
  RealizeWindow (w);
  info = EntrezDetailedInfo ();
  if (info == NULL) {
    info = "No detailed information available\n";
  }
  AppendText (d, info, NULL, NULL, programFont);
  Show (w);
  Select (w);
}
Example #18
0
static void ApplyParams (ButtoN b)
{
  WindoW  w;
  XOSPtr  xosp;

  SeqScrollDataPtr ssdp;

  if ((xosp = (XOSPtr) GetObjectExtra (b)) != NULL)
  {
    w = ParentWindow (b);
    if ((ssdp = (SeqScrollDataPtr) GetObjectExtra (w)) != NULL)
    {
      xosp->xdeltaval = (Int4) ssdp->curval;
      ssdp = ssdp->next;
      xosp->ydeltaval = (Int4) ssdp->curval;
    }
    xosp->treestyle = (Int4) GetValue (xosp->gstyle);
    xosp->treestyle -= 1;
  }
  return;
}
Example #19
0
extern void DOT_readExisting(ButtoN b)
{
  WindoW  w;
  GrouP   g, g2, c;
  Char    szAppName  [10]={"D-Viewer"};
  DOTStartDataPtr sdata;

  sdata=(DOTStartDataPtr)GetObjectExtra(ParentWindow(b));
  if (!sdata) return;
  Hide(sdata->hStart);
  w = MovableModalWindow (-50, -33, -10, -10, "Local File", NULL);
  SetObjectExtra(w, (Pointer)sdata, NULL);
 if (w==NULL) return;
  g = NormalGroup(w, 1, 3, "File name:",  systemFont, NULL);
  SetGroupMargins(g, 10, 10);
  SetGroupSpacing(g, 10, 20);  
  g2=HiddenGroup(g, 2, 2, NULL);
  sdata->id1 = DialogText(g2,"",25, NULL);
  b = PushButton(g2, " browse...", DOT_OpenBrowse1Proc);
  SetObjectExtra (b, (Pointer) sdata, NULL);
  if (!GetStatus(sdata->seqa)){
    sdata->id2 = DialogText(g2,"",25, NULL);
    b = PushButton(g2, " browse...", DOT_OpenBrowse2Proc);
    SetObjectExtra (b, (Pointer) sdata, NULL);
    if (GetStatus(sdata->dot))
      DOT_SetupDotParameters(g, sdata, TRUE);
    else if (GetStatus(sdata->auto_blast))
      DOT_SetupDotParameters(g, sdata, FALSE);
    else 
      DOT_SetupBlastParameters(g, sdata);
  }
  c = HiddenGroup (g, 4, 0, NULL);
  DefaultButton(c, "OK",  DOT_OpenAcceptProc);
  PushButton(c, "Cancel",  DOT_CancelProc);
  Select(w);
  Show(w);
}
Example #20
0
static void DOT_GetFromNetwork(ButtoN b)
{
  WindoW  w;
  GrouP   g, c;
  Char    szAppName  [10]={"D-Viewer"};
  DOTStartDataPtr sdata;

  sdata=(DOTStartDataPtr)GetObjectExtra(ParentWindow(b));
  if (!sdata) return;
  Hide(sdata->hStart);
  w = MovableModalWindow (-50, -33, -10, -10, "Download From NCBI", NULL);
  SetObjectExtra(w, (Pointer)sdata, NULL);
  if (w==NULL) return;
  SetGroupSpacing (w, 10, 10);
  /*accesion*/
  g = NormalGroup (w, 1, 4, "Entrez GI or Accession", systemFont,NULL);
  sdata->id1=DialogText (g, "", 10, NULL);
  sdata->id2=DialogText (g, "", 10, NULL);
  SetObjectExtra(w, (Pointer)sdata, NULL);
  if (GetStatus(sdata->dot))
    DOT_SetupDotParameters(g, sdata, TRUE);
  else if (GetStatus(sdata->auto_blast))
    DOT_SetupDotParameters(g, sdata, FALSE);
  else if (GetStatus(sdata->reg_blast))
    DOT_SetupBlastParameters(g, sdata);
  c = HiddenGroup (g, 4, 0, NULL);
  SetGroupMargins(c, 10, 10);
  SetGroupSpacing (c, 10, 20);
  DefaultButton (c, "Retrieve", DOT_AcceptNetworkProc);
  PushButton (c, "Cancel", DOT_CancelProc);
  AlignObjects (ALIGN_CENTER, (HANDLE) g, (HANDLE) c, NULL);
  RealizeWindow (w);
  Show (w);
  Select (w);
  Update ();
}
Example #21
0
static void DOT_AcceptNetworkProc(ButtoN b)
{
  DOTStartDataPtr sdata;
  WindoW          w;
  Char            str1[50]={""}, str2[50]={""};
  BioseqPtr       qbsp=NULL, sbsp=NULL;
  SeqEntryPtr     qsep, ssep;
  Uint2           entityID1, entityID2;
  Int2            rtn=0;
  DOTMainDataPtr  mip;
  SeqLocPtr       slp1=NULL, slp2=NULL;

  w=ParentWindow(b);  
  Hide(w);
  sdata=(DOTStartDataPtr)GetObjectExtra(w);
  GetTitle(sdata->id1, str1, sizeof(str1));
  GetTitle(sdata->id2, str2, sizeof(str2));
  if (StringHasNoText (str1) || StringHasNoText(str2)) {
    Message (MSG_ERROR, "enter GI or Accession number");
    Show (w);
    Select (w);
    Select (sdata->id1);
    return;
  }

  qbsp = DOT_FetchBioseqGivenString(str1, &rtn);
  sbsp = DOT_FetchBioseqGivenString(str2, &rtn);

  if (rtn <0 || !qbsp || !sbsp){
    DOT_RespondtoFetch(rtn, w, sdata);
    return;
  }
  
  DOT_RunRequest(w, qbsp, sbsp, sdata);
  
}
Example #22
0
EXPORT_C void CEikScrollBarFrame::CreateDoubleSpanScrollBarsL(TBool aWindowOwning, TBool aRemote, TBool aVertical, TBool aHorizontal)
    {
    if (!TAknDoubleSpanScrollBarModel::ModelIsSupported())
        {
        return;
        }

    // This method should not delete the old scrollbars before it is sure that new 
    // one has been succesfully created. Create a temp variable here.
    SBarData newVerticalScrollBar;
    newVerticalScrollBar.iBar = NULL;
    newVerticalScrollBar.iExternalScrollBarAttached = EFalse;
    newVerticalScrollBar.iVisibility = iV.iVisibility;

    SBarData newHorizontalScrollBar;
    newHorizontalScrollBar.iBar = NULL;
    newHorizontalScrollBar.iExternalScrollBarAttached = EFalse;
    if (iExtension)
        newHorizontalScrollBar.iVisibility = iExtension->iH.iVisibility;

    if (aRemote && iExtension && iExtension->iParentWindow)
        {
        // try getting scrollbarframe from parent using mop supply mechanism
        CEikScrollBarFrame* sbf = iExtension->iParentWindow->MopGetObject(sbf);
        if (sbf)
            {
            newVerticalScrollBar.iBar = sbf->VerticalScrollBar();
            newVerticalScrollBar.iExternalScrollBarAttached = ETrue;
            
            newHorizontalScrollBar.iBar = sbf->HorizontalScrollBar();
            newHorizontalScrollBar.iExternalScrollBarAttached = ETrue;
            
            TInt err1 = KErrNone;
            TInt err2 = KErrNone;
            if (newVerticalScrollBar.iBar)
                {
                TRAP(err1, newVerticalScrollBar.iBar->AddExternalFrameL(this));
                }

            if (newHorizontalScrollBar.iBar)
                {
                TRAP(err2, newHorizontalScrollBar.iBar->AddExternalFrameL(this));
                }
            
            if (err1 || err2)
	            {
	            newVerticalScrollBar.iExternalScrollBarAttached = EFalse;
	            newVerticalScrollBar.iBar = NULL;
	            newHorizontalScrollBar.iExternalScrollBarAttached = EFalse;
	            newHorizontalScrollBar.iBar = NULL;
	            }

            User::LeaveIfError(err1);
            User::LeaveIfError(err2);

            if (TypeOfVScrollBar() == EDoubleSpan)
                {
                if( AknLayoutUtils::PenEnabled() )
                    {
	    			// Correction. Giving null reference as parameter screws up the model values
                    newVerticalScrollBar.iModel = TAknDoubleSpanScrollBarModel();
                    }
                else
                    {
                    newVerticalScrollBar.iModel = TAknDoubleSpanScrollBarModel(0);
                    }
                }

            if (TypeOfHScrollBar() == EDoubleSpan)
                {
                if( AknLayoutUtils::PenEnabled() )
                    {
                    // Correction. Giving null reference as parameter screws up the model values
                    newHorizontalScrollBar.iModel = TAknDoubleSpanScrollBarModel();
                    }
                else
                    {
                    newHorizontalScrollBar.iModel = TAknDoubleSpanScrollBarModel(0);
                    }
                }

            }
        else
            {
            User::Leave(KErrNotFound);
            }
        }
    else
        {
        // Create new vertical AknDoubleSpanScrollBar
        newVerticalScrollBar.iBar = 0;
        newVerticalScrollBar.iExternalScrollBarAttached=EFalse;
        
        CAknDoubleSpanScrollBar* verticalScrollBar = NULL;

        MEikScrollBarObserver* observer = NULL;

        if(AknLayoutUtils::PenEnabled())
            {
            if(iExtension)
                {
                observer = iExtension->iScrollBarObserver;
                }
            }

        TInt scrollBarFlags = 
            ( ( iScrollBarFrameFlags & EEnableNudgeButtons ) ? 
                CEikScrollBar::EEnableNudgeButtons : 0 ) |
            ( ( iScrollBarFrameFlags & EDisableExpandedTouchArea ) ? 
                CEikScrollBar::EDisableExpandedTouchArea : 0 );
                
        if (aVertical)
            {
            verticalScrollBar = new(ELeave) CAknDoubleSpanScrollBar(ParentWindow());            
            CleanupStack::PushL(verticalScrollBar);
            verticalScrollBar->ConstructL(
                aWindowOwning, observer ,ParentWindow(),
                CAknScrollBar::EVertical,
                KLongEnoughToCauseComponentsToBeCreated,
                scrollBarFlags );
            CleanupStack::Pop(); // verticalScrollBar
            }
        newVerticalScrollBar.iBar = verticalScrollBar;
        if( AknLayoutUtils::PenEnabled() )
            {
            // Correction. Giving null reference as parameter screws up the model values
            newVerticalScrollBar.iModel = TAknDoubleSpanScrollBarModel();
            }
        else
            {
            newVerticalScrollBar.iModel = TAknDoubleSpanScrollBarModel(0);
            }

        // Create new horizontal AknDoubleSpanScrollBar
        newHorizontalScrollBar.iBar = 0;
        newHorizontalScrollBar.iExternalScrollBarAttached=EFalse;
        CAknDoubleSpanScrollBar* horizontalScrollBar = NULL;
       
        if (aHorizontal)
            {
            horizontalScrollBar = new(ELeave) CAknDoubleSpanScrollBar(ParentWindow());
            CleanupStack::PushL(horizontalScrollBar);
            horizontalScrollBar->ConstructL(
                aWindowOwning, observer ,ParentWindow(),
                CAknScrollBar::EHorizontal,
                KLongEnoughToCauseComponentsToBeCreated,
                scrollBarFlags );
            CleanupStack::Pop(); // horizontalScrollBar
            }
        newHorizontalScrollBar.iBar = horizontalScrollBar;        
        if( AknLayoutUtils::PenEnabled() )
            {
            // Correction. Giving null reference as parameter screws up the model values
            newHorizontalScrollBar.iModel = TAknDoubleSpanScrollBarModel();
            }
        else
            {
            newHorizontalScrollBar.iModel = TAknDoubleSpanScrollBarModel(0);
            }
        }

    TBool oldVerticalScrollbarExists = EFalse;
    TBool oldHorizontalScrollbarExists = EFalse;

    if (iV.iBar)
        oldVerticalScrollbarExists = ETrue;

    if (iExtension && iExtension->iH.iBar)
        oldHorizontalScrollbarExists = ETrue;

    
    if (oldVerticalScrollbarExists || oldHorizontalScrollbarExists)
        {
        // Remove old scroll bar
        DeleteScrollBars();
        }
    
    iV = newVerticalScrollBar;
    
    if (iExtension)
        iExtension->iH = newHorizontalScrollBar;

    }
Example #23
0
static void CloseGraphWindowButton (ButtoN b)
{
  CloseGraphWindowProc (ParentWindow (b));
  return;
}
Example #24
0
static void CancelParamProc (ButtoN b)
{
  CloseParamWindowProc (ParentWindow (b));
  ClearWindowFlag (b);
  return;
}
Example #25
0
static void EndProg (ButtoN b)
{
  CloseDustParentProc (ParentWindow (b));
  return;
}
Example #26
0
static void EndProg (ButtoN b)
{
  CloseConsignParentProc (ParentWindow (b));
  return;
}
Example #27
0
static void HideHelpForm (ButtoN b)

{
  Hide (ParentWindow (b));
}
Example #28
0
static void CloseGraphPanelProc (PaneL p, PoinT pt)
{
  CloseGraphWindowProc (ParentWindow (p));
  return;
}
void FormNoteBook :: PageSelected(wNBPageMsg m)
{
	wNoteBookPage *pw;
	static bool fReSelect = FALSE;
	static bool fFirstCall = TRUE;

	if (fFirstCall)
	{
		// This event always occurs when the first page is added to
		// a notebook.  Since we want the second page to be at the
		// top, we'll skip this event and set the top page after all
		// pages have been constructed.

		fFirstCall = FALSE;
		return;
	}

	if (fReSelect)
	{
		fReSelect = FALSE;
		return;
	}

	pw = m.CurrentTopPage();
	wFormWindow *pgWin;

	// If there is a current top page, dismiss it's form (dialog)
	//
	if (pw)
	{
		if (pw == m.NewTopPage())
			return;

		if ((pgWin = (wFormWindow *)pw->GetWindow()) != NULL)
		{
			if (!pgWin->Exit(AcFormExit, NULL))
			{
				fReSelect = TRUE;	// validation error occured
				GotoPage(pw);		// re-select current top page
				return;
			}
			pgWin->Dismiss();
			pw->SetWindow(NULL);
		}
	}

	// For a new page, find the form associated with the new page
	// and create its window.
	//
	if ((pw = m.NewTopPage()) != NULL)
	{
		if (pw->GetPageHandle() >= IdMajorSections)
		{
			// major tab was selected in section with minor tab pages
			wNoteBookPageList *pl = Pages();
			pl->Find(pw);
			if (pl->Next())		// select the page after the major tab page
				GotoPage(pl->Current());

			return;
		}
		wFormWindow **forms = ((AppWindow *)ParentWindow())->GetDataForms();
		wFormWindow *fp = forms[pw->GetPageHandle()];

		fp->FormUp(this);
		fp->ChangePosition(wPointl(0, 0));
		pw->SetWindow(fp);
		fp->Show();
		(ThisThread->HelpInstance())->SetActiveWindow(fp);
	}
}
Example #30
0
static void DOT_OpenAcceptProc(ButtoN b)
{
  DOTStartDataPtr sdata;
  WindoW          w;
  Char            str1[100]={""}, str2[100]={""};
  BioseqPtr       qbsp=NULL, sbsp=NULL;
  SeqEntryPtr     qsep=NULL, ssep=NULL;
  Uint2           entityID, entityID1, entityID2;
  SeqLocPtr       slp1=NULL, slp2=NULL;
  Pointer         dataptr=NULL;
  Uint2           datatype=0;
  SeqAlignPtr     sap=NULL;
  SeqAnnotPtr     sanp=NULL;
  DOTAlignInfoPtr alp;

  w=ParentWindow(b);  
  Hide(w);
  sdata=(DOTStartDataPtr)GetObjectExtra(w);
  GetTitle(sdata->id1, str1, sizeof(str1));
  if (!GetStatus(sdata->seqa))
    GetTitle(sdata->id2, str2, sizeof(str2));
  if (StringHasNoText (str1)) {
    if (!GetStatus(sdata->seqa) && StringHasNoText(str2)){
      Message (MSG_ERROR, "invalid filename");
      Show (w);
      Select (w);
      Select (sdata->id1);
      return;
    }
  }
  else{
      qfile = FileOpen(str1, "r");
      if (!qfile){
        Message (MSG_ERROR, "invalid filename");
        Show (w);
        Select (w);
        Select (sdata->id1);
        return;
      }
      if (GetStatus(sdata->seqa)){
        dataptr = ReadAsnFastaOrFlatFile (qfile, &datatype, &entityID, FALSE, TRUE, TRUE, TRUE);
        if (!dataptr || datatype != OBJ_SEQANNOT) goto seqa_end;
        sanp = (SeqAnnotPtr)(dataptr);
        sap = (SeqAlignPtr)(sanp->data);
        AlnMgrIndexLite(sap);
        AssignIDsInEntity(entityID, OBJ_SEQALIGN, (Pointer)sap);

        fclose(afile);
        alp=DOT_AlignInfoNew();
        alp->sap=sap;
        if (!DOT_FillAlignInfoPointer(alp)){
          goto seqa_end;
        }
        DOT_MakeMainViewer(NULL, alp);
      seqa_end:
        fclose(qfile);
        return;
      }
      sfile = FileOpen(str2, "r");
      if (!sfile){
        fclose(qfile);
        Message (MSG_ERROR, "invalid filename");
        Show (w);
        Select (w);
        Select (sdata->id1);
        return;
      }
   while ((dataptr = ReadAsnFastaOrFlatFile (qfile, &datatype, &entityID1, FALSE, FALSE, TRUE, FALSE)) != NULL)
     {
       qsep= GetTopSeqEntryForEntityID(entityID1);
       entityID1 = SeqMgrIndexFeatures(0, qsep);
       qbsp = qsep->data.ptrvalue;
     }
   
   while ((dataptr = ReadAsnFastaOrFlatFile (sfile, &datatype, &entityID2, FALSE, FALSE, TRUE, FALSE)) != NULL)
     {
       ssep= GetTopSeqEntryForEntityID(entityID2);
       entityID2 = SeqMgrIndexFeatures(0, ssep);
       sbsp = ssep->data.ptrvalue;

     }
    if (qbsp== NULL || sbsp== NULL)
    {
        Message (MSG_ERROR, "Can't read sequences");
        Show (w);
        Select (w);
        Select (sdata->id1);
        goto file_end;
    }
   if (qbsp->mol != sbsp->mol)
    {
      Message (MSG_ERROR, "Mismatched molecule types");
      Show (w);
      Select (w);
      Select (sdata->id1);
      goto file_end;
    }
   
   DOT_RunRequest(w, qbsp, sbsp, sdata);
  file_end:
      if (qfile)fclose(qfile);
      if (sfile)fclose(sfile);
      return;
  }
}