Esempio n. 1
0
void
ShowNavButtons(unsigned char* backTitle, unsigned char* nextTitle)
{
    Boolean bDefault = true;
    	
	gControls->backB = GetNewControl( rBackBtn, gWPtr);
	gControls->nextB = GetNewControl( rNextBtn, gWPtr);

	if( gControls->backB != NULL)
	{
		SetControlTitle( gControls->backB, backTitle); 
		ShowControl( gControls->backB);

		if (gCurrWin==kWelcomeID || gCurrWin==kSetupTypeID)
			HiliteControl(gControls->backB, kDisableControl);
	}
	
	if ( gControls->nextB != NULL)
	{
		SetControlTitle( gControls->nextB, nextTitle);
		ShowControl( gControls->nextB);

        SetControlData(gControls->nextB, kControlNoPart, 
            kControlPushButtonDefaultTag, sizeof(bDefault),(Ptr) &bDefault);
	}
	
    ShowCancelButton();
}
Esempio n. 2
0
void
SetupPauseResumeButtons(void)
{
    Str255 pPauseLabel, pResumeLabel;
    
    /* rename labels to pause/resume */
    if (gControls->backB)
    {
    	GetResourcedString(pPauseLabel, rInstList, sPauseBtn);
        SetControlTitle(gControls->backB, pPauseLabel); 
        ShowControl(gControls->backB);
    }
    
    if (gControls->nextB)
    {
	    GetResourcedString(pResumeLabel, rInstList, sResumeBtn);
        SetControlTitle(gControls->nextB, pResumeLabel); 
        ShowControl(gControls->nextB);    
    }
    
    /* disable cancel button */
    if (gControls->cancelB)
        HiliteControl(gControls->cancelB, kDisableControl);
        
    /* disable pause button  */
    if (gControls->nextB)
        HiliteControl(gControls->nextB, kDisableControl);   
    
    /* enable resume button */
    if (gControls->backB)
        HiliteControl(gControls->backB, kEnableControl);    

    gControls->state = eDownloading;
}
Esempio n. 3
0
File: draw.c Progetto: docwhat/cwimp
void ShowButtons(Int show) {
  ShowControl(btn_Roll, (Boolean)show);
  if( show && GetFlag(flag_CanStay) ) {
    ShowControl(btn_Stay, true);
  } else {
    ShowControl(btn_Stay, false);
  }
}
Esempio n. 4
0
File: ugView.c Progetto: rolk/ug
static int CreateApplicationWindow (AWindowRecord *wr, char *fname, short h, short v, short dh, short dv)
{
  Rect r;
  GrafPtr myPort;
  PaletteHandle myPalette;
  char name[80];

  /* init AWindowRecord */
  wr->theWindow = (WindowPtr) wr;

  /* read in resources */
  if (GetNewCWindow(appWinId,(Ptr)wr,(WindowPtr) -1)==NULL)
  {
    return(1);
  }
  myPalette = GetNewPalette(defaultPaletteId);
  SetPalette(wr->theWindow,myPalette,false);

  /* move and size window */
  myPort = (GrafPtr) wr->theWindow;
  SetPort(myPort);
  MoveWindow(wr->theWindow,h,v,false);
  SizeWindow(wr->theWindow,dh+15,dv+15,false);
  strcpy(name,fname);
  SetWTitle(wr->theWindow,c2pstr(name));
  ShowWindow(wr->theWindow);
  SelectWindow(wr->theWindow);
  DrawGrowIcon(wr->theWindow);
  r = myPort->portRect;

  TextFont(kFontIDMonaco);

  /* get the scroll bars */
  wr->vScrollBar = GetNewControl(vScrollBarId,wr->theWindow);
  wr->hScrollBar = GetNewControl(hScrollBarId,wr->theWindow);

  /* set correct size of the scroll bars */
  MoveControl(wr->vScrollBar,r.right-15,-1);
  SizeControl(wr->vScrollBar,16,r.bottom-13);
  SetControlMinimum(wr->vScrollBar,0);
  SetControlMaximum(wr->vScrollBar,0);
  SetControlValue(wr->vScrollBar,0);
  ShowControl(wr->vScrollBar);
  MoveControl(wr->hScrollBar,-1,r.bottom-15);
  SizeControl(wr->hScrollBar,r.right-13,16);
  SetControlMinimum(wr->hScrollBar,0);
  SetControlMaximum(wr->hScrollBar,0);
  SetControlValue(wr->hScrollBar,0);
  ShowControl(wr->hScrollBar);
  DrawControls(wr->theWindow);

  SetRect(&(wr->usableRect),0,0,dh,dv);

  return(0);
}
Esempio n. 5
0
void
ShowLicenseWin(void)
{
	Str255 		accept;
	Str255 		decline;
	Rect 		sbRect;
	int 		sbWidth;
	
	GrafPtr	oldPort;
	GetPort(&oldPort);
	
	SetPort(gWPtr);

	gCurrWin = kLicenseID; 
	/* gControls->lw = (LicWin *) NewPtrClear(sizeof(LicWin)); */
	
	GetResourcedString(accept, rInstList, sAcceptBtn);
	GetResourcedString(decline, rInstList, sDeclineBtn);
	
	gControls->lw->scrollBar = GetNewControl( rLicScrollBar, gWPtr);
	gControls->lw->licBox = GetNewControl( rLicBox, gWPtr);

	if(gControls->lw->scrollBar && gControls->lw->licBox)
	{
		HLock( (Handle) gControls->lw->scrollBar);
		sbRect = (*(gControls->lw->licBox))->contrlRect;
				
		sbWidth = (*(gControls->lw->scrollBar))->contrlRect.right -
				  (*(gControls->lw->scrollBar))->contrlRect.left;
		
		(*(gControls->lw->scrollBar))->contrlRect.right = sbRect.right + kScrollBarPad;
		(*(gControls->lw->scrollBar))->contrlRect.left = sbRect.right + kScrollBarPad - 
														 sbWidth;
		(*(gControls->lw->scrollBar))->contrlRect.top = sbRect.top - kScrollBarPad;
		(*(gControls->lw->scrollBar))->contrlRect.bottom = sbRect.bottom + kScrollBarPad;
		HUnlock( (Handle) gControls->lw->scrollBar);
	}
	else
	{
		ErrorHandler(eParam, nil);
		return;
	}
	InitLicTxt();

	ShowNavButtons( decline, accept);
	ShowControl( gControls->lw->scrollBar);
	ShowControl( gControls->lw->licBox);
	ShowTxt();
	InitScrollBar( gControls->lw->scrollBar);
	ShowLogo(false);
	
	SetPort(oldPort);
}
Esempio n. 6
0
void CEffectsTab::OnSharpenCancel()
{
    if (!DoCommand(_T("Sharpen"), _T("-3")))
        return;

    EnableControl(IDC_SHARPEN, true);
    ShowControl(IDC_SHARPEN_APPLY, SW_HIDE);
    ShowControl(IDC_SHARPEN_CANCEL, SW_HIDE);

    m_SharpenSlider.SetPos(0);
    m_SharpenSlider.EnableWindow(false);
}
// ---------------------------------------------------------------------------
// 
// -----------
void bToolPrintArea::pop_kind_action(WindowRef wd){
ControlRef	c;
ControlID	cid={kPrintAreaSignature,0};
int			k;

	put_area(wd);

	cid.id=kPrintAreaPopKindID;
	GetControlByID(wd,&cid,&c);
	k=GetControl32BitValue(c);
	switch(k){
		case kPrintAreaPopKindMenuGeo:
			set_as_geo(wd);
			cid.id=kPrintAreaFrameCustomSizeID;
			GetControlByID(wd,&cid,&c);
			ShowControl(c);
			cid.id=kPrintAreaFrameStandardSizeID;
			GetControlByID(wd,&cid,&c);
			HideControl(c);
			break;
		case kPrintAreaPopKindMenuPix:
			set_as_pix(wd);
			cid.id=kPrintAreaFrameCustomSizeID;
			GetControlByID(wd,&cid,&c);
			ShowControl(c);
			cid.id=kPrintAreaFrameStandardSizeID;
			GetControlByID(wd,&cid,&c);
			HideControl(c);
			break;
		case kPrintAreaPopKindMenuCustom:
			set_as_ppsz(wd);
			cid.id=kPrintAreaFrameCustomSizeID;
			GetControlByID(wd,&cid,&c);
			ShowControl(c);
			cid.id=kPrintAreaFrameStandardSizeID;
			GetControlByID(wd,&cid,&c);
			HideControl(c);
			break;
		case kPrintAreaPopKindMenuStandard:
			cid.id=kPrintAreaFrameCustomSizeID;
			GetControlByID(wd,&cid,&c);
			HideControl(c);
			cid.id=kPrintAreaFrameStandardSizeID;
			GetControlByID(wd,&cid,&c);
			ShowControl(c);
			
			cid.id=kPrintAreaPopSizeID;
			GetControlByID(wd,&cid,&c);
			SetControl32BitValue(c,_pprkind);
			break;
	}
	_sizekind=k;
}
Esempio n. 8
0
void CEffectsTab::OnEdgesCancel()
{
    if (!DoCommand(_T("Edges"), _T("-3")))
        return;

    EnableControl(IDC_EDGES, true);
    ShowControl(IDC_EDGES_APPLY, SW_HIDE);
    ShowControl(IDC_EDGES_CANCEL, SW_HIDE);

    m_EdgesSlider.SetPos(0);
    m_EdgesSlider.EnableWindow(false);
}
Esempio n. 9
0
void CEffectsTab::OnSmoothCancel()
{
    if (!DoCommand(_T("Smooth"), _T("-3")))
        return;

    EnableControl(IDC_SMOOTH, true);
    ShowControl(IDC_SMOOTH_APPLY, SW_HIDE);
    ShowControl(IDC_SMOOTH_CANCEL, SW_HIDE);

    m_SmoothSlider.SetPos(0);
    m_SmoothSlider.EnableWindow(false);
}
Esempio n. 10
0
void CEffectsTab::OnSharpen()
{
    if (!DoCommand(_T("Sharpen"), _T("-1")))
        return;

    EnableControl(IDC_SHARPEN, false);
    ShowControl(IDC_SHARPEN_APPLY, SW_SHOW);
    ShowControl(IDC_SHARPEN_CANCEL, SW_SHOW);

    m_SharpenSlider.SetPos(0);
    m_SharpenSlider.EnableWindow(true);
    m_iLastValue = -1;
}
Esempio n. 11
0
File: draw.c Progetto: docwhat/cwimp
void DrawRollButton() {
  if( stor.currplayer < 0 ) {
    ShowControl( btn_Roll, 1 );
    CtlSetLabel( GetObjectPtr(btn_Roll), StartString );
  } else {
    if( IsAI( stor.currplayer ) ) {
      ShowControl( btn_Roll, 0 );
    } else {
      ShowControl( btn_Roll, 1 );
      CtlSetLabel( GetObjectPtr(btn_Roll), RollString );
    }
  }
}
Esempio n. 12
0
void CEffectsTab::OnEdges()
{
    if (!DoCommand(_T("Edges"), _T("-1")))
        return;

    EnableControl(IDC_EDGES, false);
    ShowControl(IDC_EDGES_APPLY, SW_SHOW);
    ShowControl(IDC_EDGES_CANCEL, SW_SHOW);

    m_EdgesSlider.SetPos(0);
    m_EdgesSlider.EnableWindow(true);
    m_iLastValue = -1;
}
Esempio n. 13
0
void CEffectsTab::OnSmooth()
{
    if (!DoCommand(_T("Smooth"), _T("-1")))
        return;

    EnableControl(IDC_SMOOTH, false);
    ShowControl(IDC_SMOOTH_APPLY, SW_SHOW);
    ShowControl(IDC_SMOOTH_CANCEL, SW_SHOW);

    m_SmoothSlider.SetPos(0);
    m_SmoothSlider.EnableWindow(true);
    m_iLastValue = -1;
}
Esempio n. 14
0
static void window_adjust_scrollbars(WindowRef windowRef)
{
    IMAGE *img;
    Rect   portRect;

    img = (IMAGE*)GetWRefCon(windowRef);
    GetWindowPortBounds(windowRef,&portRect);

    /* Move the crollbars to the edges of the window */
    HideControl(img->scrollbarVertRef);
    HideControl(img->scrollbarHorizRef);

    MoveControl(img->scrollbarVertRef,portRect.right - kScrollBarWidth,
                portRect.top - 1);
    MoveControl(img->scrollbarHorizRef,portRect.left - 1,
                portRect.bottom - kScrollBarWidth);

    SizeControl(img->scrollbarVertRef,kScrollBarWidth + 1,
                portRect.bottom - portRect.top - kScrollBarWidth + 1);
    SizeControl(img->scrollbarHorizRef, portRect.right - portRect.left - kScrollBarWidth + 1,
                kScrollBarWidth + 1);

    /* Adjust the scroll position showing */
    if (img->pixmapHdl)
    {
        PixMap *pixmap = *(img->pixmapHdl);
        int visibleHeight = portRect.bottom - portRect.top - kScrollBarWidth;
        int visibleWidth = portRect.right - portRect.left - kScrollBarWidth;

        if (pixmap->bounds.bottom > visibleHeight)
        {
            SetControl32BitMaximum(img->scrollbarVertRef,
                                   pixmap->bounds.bottom - visibleHeight);
            SetControlViewSize(img->scrollbarVertRef,visibleHeight);
        }
        else
            SetControlMaximum(img->scrollbarVertRef, 0);

        if (pixmap->bounds.right > visibleWidth)
        {
            SetControl32BitMaximum(img->scrollbarHorizRef,
                                   pixmap->bounds.right - visibleWidth);
            SetControlViewSize(img->scrollbarHorizRef, visibleWidth);
        }
        else
            SetControlMaximum(img->scrollbarHorizRef, 0);
    }

    ShowControl(img->scrollbarVertRef);
    ShowControl(img->scrollbarHorizRef);
}
Esempio n. 15
0
/* set the controls in the TextEdit window correctly
 */
void NATEsetscroll(na_win *winp, Boolean moved, Rect *hrect, Rect *vrect)
{
	short		vmax, vvalue, hmax, hvalue;
	TEPtr		te = *teinfo->hTE;
	ControlHandle	vctrl, hctrl;
		

	vmax = te->nLines + (*(*te->hText + te->teLength - 1) == '\015' ? 1 : 0)
		- (te->viewRect.bottom - te->viewRect.top) / teinfo->lheight;
	hmax = (short) teinfo->docwidth - (te->viewRect.right - te->viewRect.left);
	if (vmax < 0) vmax = 0;
	if (hmax < 0) hmax = 0;
	vvalue = (te->viewRect.top - te->destRect.top) / teinfo->lheight;
	hvalue = te->viewRect.left - te->destRect.left;
	if (!(winp->flags & NATE_NOVSCROLL)) {
		if (teinfo->vctrl == (ControlHandle) NULL) {
			teinfo->vctrl = NewControl(winp->pwin, vrect, "\p", true, vvalue, 0, vmax,
				scrollBarProc, 0);
			if (winp->pwin != FrontWindow()) HiliteControl(teinfo->vctrl, 255);
		} else {
			if (vvalue < 0) vvalue = 0;
			if (vvalue > vmax) vvalue = vmax;
			SetCtlMax(vctrl = teinfo->vctrl, vmax);
			SetCtlValue(vctrl, vvalue);
			if (moved) {
				MoveControl(vctrl, vrect->left, vrect->top);
				SizeControl(vctrl, vrect->right - vrect->left,
					vrect->bottom - vrect->top);
				ShowControl(vctrl);
			}
		}
	}
	if (!(winp->flags & NATE_NOHSCROLL)) {
		if (teinfo->hctrl == (ControlHandle) NULL) {
			teinfo->hctrl = NewControl(winp->pwin, hrect, "\p", true, hvalue, 0, hmax,
				scrollBarProc, 0);
			if (winp->pwin != FrontWindow()) HiliteControl(teinfo->hctrl, 255);
		} else {
			if (hvalue < 0) hvalue = 0;
			if (hvalue > hmax) hvalue = hmax;
			SetCtlMax(hctrl = teinfo->hctrl, hmax);
			SetCtlValue(hctrl, hvalue);
			if (moved) {
				MoveControl(hctrl, hrect->left, hrect->top);
				SizeControl(hctrl, hrect->right - hrect->left,
					hrect->bottom - hrect->top);
				ShowControl(hctrl);
			}
		}
	}
}
Esempio n. 16
0
File: draw.c Progetto: docwhat/cwimp
/*
 * This should probably go in game.c
 */
void DrawStayButton() {
    int x;

    /* No game, no brainer */
    if( stor.currplayer < 0 ) {
        ShowControl( btn_Stay, 0 );
        return;
    }

    if( stor.flash ) {
        ShowControl( btn_Stay, 0 );
        SetStatus( DS_MustClearFlash );
        return;
    }

    if( stor.YMNWTBYM ) {
        ShowControl( btn_Stay, 0 );
        SetStatus( DS_YMNWTBYM );
        return;
    }

    if( stor.scorethisturn == 0 ) {
        ShowControl( btn_Stay, 0 );
        SetStatus( 0 );
        return;
    }

    if( stor.player[stor.currplayer].score == 0 &&
            stor.scorethisturn < stor.openingroll )
    {
        ShowControl( btn_Stay, 0 );
        return;
    }

    /* If we aren't winning in last licks */
    if( stor.leader >= 0 &&
            ( stor.player[stor.leader].score > stor.currscore ) )
    {
        ShowControl( btn_Stay, 0 );
        return;
    }

    if( stor.flags & flag_Eclipse ) {
        /* Are we eclipsed? */
        for( x = 0; x < stor.numplayers; x++ ) {
            if( x == stor.currplayer ) continue;
            if( stor.player[x].score == stor.currscore ) break;
        }

        if( x != stor.numplayers ) {
            ShowControl( btn_Stay, 0 );
            SetStatus( DS_Eclipse );
            return;
        }
    }

    /* Otherwise, show it */
    ShowControl( btn_Stay, 1 );
    SetStatus( 0 );
}
Esempio n. 17
0
File: draw.c Progetto: docwhat/cwimp
void DrawTopStatusButton() {

  if( stor.leader < 0 ) {
      ShowControl( btnTopStatus, 0 );
      return;
  }

  if( stor.leader >= 0 ) {
    ShowControl( btnTopStatus, 1 );
    CtlSetLabel( GetObjectPtr(btnTopStatus), LastLicksString );
    return;
  }

}
void CTDLFindTaskExpressionListCtrl::EditCell(int nItem, int nCol)
{
	// handle new rules
	if (nItem == GetRuleCount() && nCol == ATTRIB)
		AddRule();

	CWnd* pEdit = GetEditControl(nItem, nCol);
	ASSERT (pEdit);

	if (!pEdit)
		return;

	const SEARCHPARAM& sp = m_aSearchParams[nItem];

	switch (nCol)
	{
	case ATTRIB:
	case OPERATOR:
	case ANDOR:
		ShowControl(*pEdit, nItem, nCol);
		break;

	case VALUE:
		if (sp.GetOperator() != FOP_SET && sp.GetOperator() != FOP_NOT_SET)
		{
			switch (sp.GetAttribType())
			{
			case FT_DATE:
			case FT_TIME:
				ShowControl(*pEdit, nItem, nCol);
				break;

			default:
				PrepareEdit(nItem, nCol);

				if (pEdit == &m_editBox)
					CInputListCtrl::EditCell(nItem, nCol);
				else
					ShowControl(*pEdit, nItem, nCol);
			}
		}
		break;
	}
}
Esempio n. 19
0
void
UpdateItemCount()
{
    ControlID 		controlID = { kNSLSample, kServicesCountText };
    ControlRef		control;
    Str255 		countStr;
    char                count[16];
    UInt32		itemCount;
    static UInt32	previousItemCount = 0;
    OSStatus 		err = noErr;
    
    err = GetControlByID(gMainWindow, &controlID, &control);
    if (err == noErr)
    {
        err = GetDataBrowserItemCount(gDataBrowserControl, 0, true, kDataBrowserItemAnyState, &itemCount);
        
        // Only update if the count has actually changed since last time.
        if (err == noErr && previousItemCount != itemCount)
        {        
            previousItemCount = itemCount;
            NumToString (itemCount, countStr); 
            CopyPascalStringToC(countStr, count);
            
            if (itemCount == 1)
            {
                strcat(count, " Item");
                SetControlData(control, kControlNoPart, kControlEditTextTextTag, strlen(count), count);
                ShowControl(control);
            }
            else
            {
                strcat(count, " Items");
                SetControlData(control, kControlNoPart, kControlEditTextTextTag, strlen(count), count);
                ShowControl(control);
            }
            
            DrawOneControl(control);
            DrawOneControl(gDataBrowserControl);
        }
    }
}
Esempio n. 20
0
BOOL CEffectsTab::OnInitDialog()
{
    // Initialize the resize dialog base class
    CBaseTab::OnInitDialog();

    EnableControl(IDC_SHARPEN, true);
    ShowControl(IDC_SHARPEN_APPLY, SW_HIDE);
    ShowControl(IDC_SHARPEN_CANCEL, SW_HIDE);

    m_SharpenSlider.EnableWindow(false);
    m_SharpenSlider.SetRange(0, 100);
    m_SharpenSlider.SetTicFreq(10);
    m_SharpenSlider.SetPos(0);

    EnableControl(IDC_SMOOTH, true);
    ShowControl(IDC_SMOOTH_APPLY, SW_HIDE);
    ShowControl(IDC_SMOOTH_CANCEL, SW_HIDE);

    m_SmoothSlider.EnableWindow(false);
    m_SmoothSlider.SetRange(0, 100);
    m_SmoothSlider.SetTicFreq(10);
    m_SmoothSlider.SetPos(0);

    EnableControl(IDC_EDGES, true);
    ShowControl(IDC_EDGES_APPLY, SW_HIDE);
    ShowControl(IDC_EDGES_CANCEL, SW_HIDE);

    m_EdgesSlider.EnableWindow(false);
    m_EdgesSlider.SetRange(0, 100);
    m_EdgesSlider.SetTicFreq(10);
    m_EdgesSlider.SetPos(0);

    return true;  // return true  unless you set the focus to a control
}
Esempio n. 21
0
void
setwindowicons (CWindowPeek wp)
{
  ControlHandle c;
  opendirinfo **infoh;

  infoh = (opendirinfo **) wp->refCon;
  for (c = wp->controlList; c != 0; c = (*c)->nextControl)
    {
      if (c != (*infoh)->sbar)
	{
	  setoneicon (c);
	  ShowControl (c);
	}
    }
}
Esempio n. 22
0
void
UpdateTerminalWin(void)
{
	GrafPtr	oldPort;
	int i;
	Rect	instMsgRect;
	GetPort(&oldPort);
	SetPort(gWPtr);
	
	if (!gInstallStarted)
    	TEUpdate(&gControls->tw->startMsgBox, gControls->tw->startMsg);

    if (gControls->tw->dlProgressBar)
    {
        for (i = 0; i < kNumDLFields; ++i)
        {
            if (gControls->tw->dlLabels[i])
            {
                ShowControl(gControls->tw->dlLabels[i]);
            }
        }

        // XXX   TO DO
        // update the dl TEs
    }
	else if (gControls->tw->allProgressMsg)
	{
		HLock((Handle)gControls->tw->allProgressMsg);
		SetRect(&instMsgRect, (*gControls->tw->allProgressMsg)->viewRect.left,
				(*gControls->tw->allProgressMsg)->viewRect.top,
				(*gControls->tw->allProgressMsg)->viewRect.right,
				(*gControls->tw->allProgressMsg)->viewRect.bottom );
		HUnlock((Handle)gControls->tw->allProgressMsg);
		
		TEUpdate(&instMsgRect, gControls->tw->allProgressMsg);
	}
	else
	{ 
	    if (gControls->tw->saveBitsMsg)
	    {
	        TEUpdate(&gControls->tw->saveBitsMsgBox, gControls->tw->saveBitsMsg);
	    }
	}
	
	SetPort(oldPort);
}
Esempio n. 23
0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	AUMixer3DView::SetCheckbox
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void	AUMixer3DView::SetCheckbox(OSType inSig, SInt32 inID, SInt16 inValue )
{
	WindowRef window = GetCarbonWindow();
	
	ControlID controlID;
	controlID.signature = inSig;
	controlID.id = inID;
	
	ControlRef control;
	OSStatus result = ::GetControlByID(window, &controlID, &control );

	if(result == noErr)
	{
		SetControlValue(control, int(inValue != 0 ) );
		ShowControl(control);
	}
}
Esempio n. 24
0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	AUMixer3DView::SetRenderingAlgorithmControl
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void	AUMixer3DView::SetRenderingAlgorithmControl(int inAlgorithm )
{
	WindowRef window = GetCarbonWindow();
	
	ControlID controlID;
	controlID.signature = 'algo';
	controlID.id = 0;
	
	ControlRef control;
	OSStatus result = ::GetControlByID(window, &controlID, &control );

	if(result == noErr)
	{
		SetControlValue(control, inAlgorithm+1 );
		ShowControl(control);
	}
	
}
Esempio n. 25
0
static void MoveSpotActionProc(ControlRef theControl, ControlPartCode partCode)
{
	Rect bounds;
	GetControlBounds(theControl, &bounds);
	Point thePoint;
	if (partCode == kControlButtonPart)
	{
		GetMouse(&thePoint);
		gUserH = thePoint.h;
		gUserV = thePoint.v;
		if (gUserH < bounds.left+4) gUserH = bounds.left+4;
		if (gUserH > bounds.right-4) gUserH = bounds.right-4;
		if (gUserV < bounds.top+4) gUserV = bounds.top+4;
		if (gUserV > bounds.bottom-4) gUserV = bounds.bottom-4;
		
		// the erasing/drawing management is very complex to do properly
		// unless we just Hide and Show. This technique is OK if the control
		// is not too big on the screen and the machine is fast enough to
		// prevent flicker. If not then a better tracking would require
		// clipping management and calling the User Pane Draw Proc.
		HideControl(theControl);
		ShowControl(theControl);
	}
}
Esempio n. 26
0
void
TkpDisplayMenuButton(
    ClientData clientData)        /* Information about widget. */
{
    TkMenuButton *butPtr = (TkMenuButton *) clientData;
    Tk_Window tkwin = butPtr->tkwin;
    TkWindow *  winPtr;
    Pixmap      pixmap;
    MacMenuButton * mbPtr = (MacMenuButton *) butPtr;
    GWorldPtr dstPort;
    CGrafPtr saveWorld;
    GDHandle saveDevice;
    int      hasImageOrBitmap = 0;
    int      width, height;
    int      err;
    ControlButtonGraphicAlignment theAlignment;

    Rect paneRect, cntrRect;

    butPtr->flags &= ~REDRAW_PENDING;
    if ((butPtr->tkwin == NULL) || !Tk_IsMapped(tkwin)) {
        return;
    }
    pixmap = ( Pixmap )Tk_WindowId(tkwin);
    GetGWorld(&saveWorld, &saveDevice);
    dstPort = TkMacOSXGetDrawablePort(Tk_WindowId(tkwin));
    SetGWorld(dstPort, NULL);
    TkMacOSXSetUpClippingRgn(Tk_WindowId(tkwin));

    winPtr=(TkWindow *)butPtr->tkwin;
    paneRect.left=winPtr->privatePtr->xOff;
    paneRect.top=winPtr->privatePtr->yOff;
    paneRect.right=paneRect.left+Tk_Width(butPtr->tkwin)-1;
    paneRect.bottom=paneRect.top+Tk_Height(butPtr->tkwin)-1;
    
    cntrRect=paneRect;
        
    cntrRect.left+=butPtr->inset;
    cntrRect.top+=butPtr->inset;
    cntrRect.right-=butPtr->inset;
    cntrRect.bottom-=butPtr->inset;

    if (mbPtr->userPane) {
        MenuButtonControlParams params;
        bzero(&params, sizeof(params));
        ComputeMenuButtonControlParams(butPtr, &params );
        if (bcmp(&params,&mbPtr->params,sizeof(params))) {
            if (mbPtr->userPane) {
                DisposeControl(mbPtr->userPane);
                mbPtr->userPane = NULL;
                mbPtr->control = NULL;
            }
        }
     }
     if (!mbPtr->userPane) {
         if (MenuButtonInitControl(mbPtr,&paneRect,&cntrRect ) ) {
             fprintf(stderr,"Init Control failed\n" );
             return;
         }
     }
    SetControlBounds(mbPtr->userPane,&paneRect);
    SetControlBounds(mbPtr->control,&cntrRect); 

    /*
     * We need to cache the title and its style
     */
    if (!(mbPtr->flags&2)) {
        ControlTitleParams titleParams;
        int                titleChanged;
        int                styleChanged;
        ComputeControlTitleParams(butPtr,&titleParams);
        CompareControlTitleParams(&titleParams,&mbPtr->titleParams,
            &titleChanged,&styleChanged);
        if (titleChanged) {
            CFStringRef cf;    	    
            cf = CFStringCreateWithCString(NULL,
                  titleParams.title, kCFStringEncodingUTF8);
            if (hasImageOrBitmap) {
                SetControlTitleWithCFString(mbPtr->control, cf);
            } else {
                SetMenuItemTextWithCFString(mbPtr->menuRef, 1, cf);
            }
            CFRelease(cf);
            bcopy(titleParams.title,mbPtr->titleParams.title,titleParams.len+1);
            mbPtr->titleParams.len = titleParams.len;
        }
        if ((titleChanged||styleChanged) && titleParams .len) {
            if (hasImageOrBitmap) {
                if ((err=SetControlFontStyle(mbPtr->control,&titleParams.style))!=noErr) {
                    fprintf(stderr,"SetControlFontStyle failed %d\n", err);
                    return;
                }
            }
            bcopy(&titleParams.style,&mbPtr->titleParams.style,sizeof(titleParams.style));
        }
    }
    if (butPtr->image != None) {
        Tk_SizeOfImage(butPtr->image, &width, &height);
        hasImageOrBitmap = 1;
    } else if (butPtr->bitmap != None) {
        Tk_SizeOfBitmap(butPtr->display, butPtr->bitmap, &width, &height);
        hasImageOrBitmap = 1;
    }
    if (hasImageOrBitmap) {
        mbPtr->picParams.srcRect.right = width;
        mbPtr->picParams.srcRect.bottom = height; 
        /* Set the flag to circumvent clipping and bounds problems with OS 10.0.4 */
        tkPictureIsOpen = 1;
        if (!(mbPtr->bevelButtonContent.u.picture = OpenCPicture(&mbPtr->picParams)) ) {
            fprintf(stderr,"OpenCPicture failed\n");
        }
        /*
         * TO DO - There is one case where XCopyPlane calls CopyDeepMask,
         * which does not get recorded in the picture.  So the bitmap code
         * will fail in that case.
         */
        if (butPtr->image != NULL) {
            Tk_RedrawImage(butPtr->image, 0, 0, width,
                height, pixmap, 0, 0);
        } else {   
            XCopyPlane(butPtr->display, butPtr->bitmap, pixmap, NULL, 0, 0,
                (unsigned int) width, (unsigned int) height, 0, 0, 1);
        }
        ClosePicture();
        
        tkPictureIsOpen = 0;
        if ( (err=SetControlData(mbPtr->control, kControlButtonPart,
                    kControlBevelButtonContentTag,
                    sizeof(ControlButtonContentInfo),
                    (char *) &mbPtr->bevelButtonContent)) != noErr ) {
                fprintf(stderr,"SetControlData BevelButtonContent failed, %d\n", err );
        }
        switch (butPtr->anchor) {
            case TK_ANCHOR_N:
                theAlignment = kControlBevelButtonAlignTop;
                break;
            case TK_ANCHOR_NE:
                theAlignment = kControlBevelButtonAlignTopRight;
                break;
            case TK_ANCHOR_E:
                theAlignment = kControlBevelButtonAlignRight;
                break;
            case TK_ANCHOR_SE:
                theAlignment = kControlBevelButtonAlignBottomRight;
                break;
            case TK_ANCHOR_S:
                theAlignment = kControlBevelButtonAlignBottom;
                break;
            case TK_ANCHOR_SW:
                theAlignment = kControlBevelButtonAlignBottomLeft;
                break;
            case TK_ANCHOR_W:
                theAlignment = kControlBevelButtonAlignLeft;
                break;
            case TK_ANCHOR_NW:
                theAlignment = kControlBevelButtonAlignTopLeft;
                break;
            case TK_ANCHOR_CENTER:
                theAlignment = kControlBevelButtonAlignCenter;
                break;
        }
    
        if ((err=SetControlData(mbPtr->control, kControlButtonPart,
                kControlBevelButtonGraphicAlignTag,
                sizeof(ControlButtonGraphicAlignment),
                (char *) &theAlignment)) != noErr ) {
            fprintf(stderr,"SetControlData BevelButtonGraphicAlign failed, %d\n", err );
        }
    }
    if (butPtr->flags & GOT_FOCUS) {
        HiliteControl(mbPtr->control,kControlButtonPart);
    } else {
        HiliteControl(mbPtr->control,kControlNoPart);
    }
    UpdateControlColors(mbPtr);
    if (mbPtr->flags&2) {
        ShowControl(mbPtr->control);
        ShowControl(mbPtr->userPane);
        mbPtr->flags ^= 2;
    } else {
        Draw1Control(mbPtr->userPane);
        SetControlVisibility(mbPtr->control, true, true);
    }
    if (hasImageOrBitmap) {
        KillPicture(mbPtr->bevelButtonContent.u.picture);
    }
    SetGWorld(saveWorld, saveDevice);
}
Esempio n. 27
0
void ShowTheControl ( int iControlID )
{
	ShowControl ( iControlID );
}
Esempio n. 28
0
File: draw.c Progetto: docwhat/cwimp
/*
 * This should probably go in game.c
 */    
void DrawStayButton() {
  int x;
  /* By default: Show stay button, and set status to nothing */
  Boolean stay = true;
  Int status = 0;

  /* No game, no brainer */
  if( stor.currplayer < 0 ) {
    stay = false;
    goto end;
  }

  if( GetFlag( flag_FreightTrain ) ) {
    SetFlag( flag_FreightTrain, false );
    status = DS_FreightTrain;
    stay = false;
    goto end;
  }

  if( stor.flash ) {
    stay = false;
    status = DS_MustClearFlash;
    goto end;
  }

  if( stor.YMNWTBYM ) {
    stay = false;
    status = DS_YMNWTBYM;
    goto end;
  }

  if( stor.scorethisturn == 0 ) {
    stay = false;
    goto end;
  }
    
  if( stor.player[stor.currplayer].score == 0 &&
      stor.scorethisturn < stor.openingroll )
    {
      status = DS_OpeningRoll;
      stay = false;
      goto end;
    }

  /* If we aren't winning in last licks */
  if( stor.leader >= 0 &&
      ( stor.player[stor.leader].score > stor.currscore ) )
    {
      stay = false;
      goto end;
    }

  if( GetFlag( flag_Eclipse ) ) {
    /* Are we eclipsed? */
    for( x = 0; x < stor.total; x++ ) {
      if( x == stor.currplayer ) continue;
      if( stor.player[x].score == stor.currscore ) break;
    }
    
    if( x != stor.total ) {
      stay = false;
      status = DS_Eclipse;
      goto end;
    }
  }

  /* Actually do what we need to do */
 end:
  ShowControl( btn_Roll, 1 );
  ShowControl( btn_Stay, stay );
  SetFlag( flag_CanStay, stay );
  SetStatus( status );
}
Esempio n. 29
0
File: draw.c Progetto: docwhat/cwimp
Boolean DialogGetNames() {
    FormPtr prevForm, frm;
    Word hitButton;
    Boolean retVal = false;
    CharPtr text;
    Int i;
    FieldPtr fp;
    VoidPtr vPtr;
    Word oIdx;

    // Save previous form
    prevForm = FrmGetActiveForm();
    // Init new form
    frm = FrmInitForm( frmGetNames);

    // Set it
    FrmSetActiveForm(frm);

    // Set Controls
    for( i = stor.tmpplayers ; i<MaxPlayers ; i++ ) {
        fp = GetObjectPtr( fieldGetNamesPlayer[i] );
        FldSetUsable ( fp, false );
        FldEraseField( fp );
        ShowControl( fieldGetNamesLabel[i], 0 );
    }

    FrmDrawForm(frm);

    for( i=0; i < stor.tmpplayers ; i++ ) {
        SetFieldTextFromStr( fieldGetNamesPlayer[i], stor.player[i].name );
    }
    FrmSetFocus( frm, FrmGetObjectIndex(frm, fieldGetNamesPlayer[0]) );


    // Set the handler
    // FrmSetEventHandler(frm, DialogNewGameHandleEvent);

    hitButton = FrmDoDialog(frm);

    // Get Controls
    if ( hitButton == btn_OK_frmGetNames ) {

        for( i=0 ; i<stor.tmpplayers ; i++ ) {
            oIdx = FrmGetObjectIndex( frm, fieldGetNamesPlayer[i]);
            vPtr = FrmGetObjectPtr( frm, oIdx );
            text = FldGetTextPtr( vPtr );
            StrCopy( stor.player[i].name, text );

        }

        retVal = true;
    }


    // Delete the form, we're not using it
    FrmDeleteForm(frm);

    // Restore previous form.
    if (prevForm) {
        FrmSetActiveForm(prevForm);
    }

    return retVal;
}
Esempio n. 30
0
void draw_shop_graphics(bool pressed,Rect clip_area_rect)
// mode 1 - drawing dark for button press
{
	Rect area_rect,item_info_from = {11,42,24,56};
	
	Rect face_rect = {6,6,38,38};
	Rect title_rect = {15,48,42,260};
	Rect dest_rect,help_from = {85,36,101,54};
	short faces[13] = {1,1,1,42,43, 1,1,1,1,1, 44,44,44};
	
	short i,what_chosen;
	RGBColor c[7] = {{0,0,0},{0,0,32767},{0,0,14535},{0,0,26623},{0,0,59391},
	{0,40959,0},{0,24575,0}};
	Rect shopper_name = {44,6,56,260};
	short current_pos;
	
	short cur_cost,what_magic_shop,what_magic_shop_item;
	char cur_name[60];
	char cur_info_str[60];
char *cost_strs[] = {"Extremely Cheap","Very Reasonable","Pretty Average","Somewhat Pricey",
	"Expensive","Exorbitant","Utterly Ridiculous"};
	GrafPtr old_port;
	cItemRec base_item;
	
	if (overall_mode != 21) {
		return;
		}
	
	
	GetPort(&old_port);
	SetPort(talk_gworld);
	TextFont(dungeon_font_num);
	TextSize(18);
	TextFace(0);

	if (pressed) {
		ClipRect(&clip_area_rect);	
		}

	GetPortBounds(talk_gworld,&area_rect);
	FrameRect(&area_rect);
	InsetRect(&area_rect,1,1);
	tileImage(area_rect,bg_gworld,bg[12]);

	FrameRect(&shop_frame);
	
	// Place store icon
	if (!pressed) { 
		SetPort(GetWindowPort(mainPtr));
		i = faces[store_shop_type];
		draw_dialog_graphic( talk_gworld, face_rect, i, PICT_TALK, false,1);
		SetPort( talk_gworld);
	}


	// Place name of store and shopper name
	RGBForeColor(&c[3]);
	dest_rect = title_rect;
	OffsetRect(&dest_rect,1,1);
	char_port_draw_string(talk_gworld,dest_rect,store_store_name,2,18);
	OffsetRect(&dest_rect,-1,-1);
	RGBForeColor(&c[4]);
	char_port_draw_string( talk_gworld,dest_rect,store_store_name,2,18);	

	TextFont(geneva_font_num);
	TextSize(12);
	TextFace(bold);

	RGBForeColor(&c[3]);
	switch (store_shop_type) {
		case 3: sprintf(cur_name,"Healing for %s.",univ.party[current_pc].name.c_str()); break;
		case 10: sprintf(cur_name,"Mage Spells for %s.",univ.party[current_pc].name.c_str());break;
		case 11: sprintf(cur_name,"Priest Spells for %s.",univ.party[current_pc].name.c_str()); break;
		case 12: sprintf(cur_name,"Buying Alchemy.");break;
		case 4: sprintf(cur_name,"Buying Food.");break;
		default:sprintf(cur_name,"Shopping for %s.",univ.party[current_pc].name.c_str()); break;
		}
	char_port_draw_string( talk_gworld,shopper_name,cur_name,2,18);	

	// Place help and done buttons
	ForeColor(blackColor);
	GetPortBounds(dlg_buttons_gworld[3][0],&help_from);
	talk_help_rect.right = talk_help_rect.left + help_from.right - help_from.left;
	talk_help_rect.bottom = talk_help_rect.top + help_from.bottom - help_from.top;
	rect_draw_some_item(dlg_buttons_gworld[3][pressed],help_from,talk_gworld,talk_help_rect);
	GetPortBounds(dlg_buttons_gworld[11][0],&help_from);
	//talk_help_rect.right = talk_help_rect.left + help_from.right - help_from.left;
	//talk_help_rect.bottom = talk_help_rect.top + help_from.bottom - help_from.top;
	rect_draw_some_item(dlg_buttons_gworld[11][pressed],help_from,talk_gworld,shop_done_rect);
	
	if (pressed)
		RGBForeColor(&c[4]);
	else ForeColor(blackColor);
		
	// Place all the items
	for (i = 0; i < 8; i++) {
		current_pos = i + GetControlValue(shop_sbar);
		if (store_shop_items[current_pos] < 0)
			break; // theoretically, this shouldn't happen
		cur_cost = store_shop_costs[current_pos];
		what_chosen = store_shop_items[current_pos];
		switch (what_chosen / 100) {
			case 0: case 1: case 2: case 3: case 4: 
				base_item = get_stored_item(what_chosen);
				base_item.ident = true;
				draw_dialog_graphic( talk_gworld, shopping_rects[i][2],base_item.graphic_num,PICT_ITEM, false,1);
				strcpy(cur_name,base_item.full_name.c_str());
				get_item_interesting_string(base_item,cur_info_str);
				break;
			case 5:
				base_item = store_alchemy(what_chosen - 500);
				draw_dialog_graphic( talk_gworld, shopping_rects[i][2],53,PICT_ITEM, false,1);//// all graphic nums
				strcpy(cur_name,base_item.full_name.c_str());
				strcpy(cur_info_str,"");
				break;
			case 6:
				//base_item = food_types[what_chosen - 600];
				//draw_dialog_graphic( talk_gworld, shopping_rects[i][2],633, false,1);
				//strcpy(cur_name,base_item.full_name);
				//get_item_interesting_string(base_item,cur_info_str);
				break;
			case 7:
				what_chosen -= 700;
				draw_dialog_graphic( talk_gworld, shopping_rects[i][2],99,PICT_ITEM, false,1);
				strcpy(cur_name,heal_types[what_chosen]);
				strcpy(cur_info_str,"");
				break;
			case 8:
				base_item = store_mage_spells(what_chosen - 800 - 30);
				draw_dialog_graphic( talk_gworld, shopping_rects[i][2],base_item.graphic_num,PICT_ITEM, false,1);

				strcpy(cur_name,base_item.full_name.c_str());
				strcpy(cur_info_str,"");		
				break;
			case 9:
				base_item = store_priest_spells(what_chosen - 900 - 30);
				draw_dialog_graphic( talk_gworld, shopping_rects[i][2],base_item.graphic_num,PICT_ITEM, false,1);
				strcpy(cur_name,base_item.full_name.c_str());
				strcpy(cur_info_str,"");
				break;
			default:
				what_magic_shop = (what_chosen / 1000) - 1;
				what_magic_shop_item = what_chosen % 1000;
				base_item = univ.party.magic_store_items[what_magic_shop][what_magic_shop_item];
				base_item.ident = true;
				draw_dialog_graphic( talk_gworld, shopping_rects[i][2],base_item.graphic_num,PICT_ITEM, false,1);
				strcpy(cur_name,base_item.full_name.c_str());
				get_item_interesting_string(base_item,cur_info_str);
				break;
			}

		// Now draw item shopping_rects[i][7]
		// 0 - whole area, 1 - active area 2 - graphic 3 - item name
		// 4 - item cost 5 - item extra str  6 - item help button
		TextSize(12);
		char_port_draw_string( talk_gworld,shopping_rects[i][3],cur_name,0,12);
		sprintf(cur_name,"Cost: %d",cur_cost);
		char_port_draw_string( talk_gworld,shopping_rects[i][4],cur_name,0,12);
		TextSize(10);
		char_port_draw_string( talk_gworld,shopping_rects[i][5],cur_info_str,0,12);
		if ((store_shop_type != 3) && (store_shop_type != 4))
			rect_draw_some_item(invenbtn_gworld,item_info_from,talk_gworld,shopping_rects[i][6],pressed ? srcCopy : transparent);

		}

	// Finally, cost info and help strs
	TextSize(12);
	sprintf(cur_name,"Prices here are %s.",cost_strs[store_cost_mult]);
	TextSize(10);
	char_port_draw_string( talk_gworld,bottom_help_rects[0],cur_name,0,12);
	char_port_draw_string( talk_gworld,bottom_help_rects[1],"Click on item name (or type 'a'-'h') to buy.",0,12);
	char_port_draw_string( talk_gworld,bottom_help_rects[2],"Hit done button (or Esc.) to quit.",0,12);
	if ((store_shop_type != 3) && (store_shop_type != 4))
		char_port_draw_string( talk_gworld,bottom_help_rects[3],"'I' button brings up description.",0,12);
	
	
	ForeColor(blackColor);
	GetPortBounds(talk_gworld,&area_rect);
	ClipRect(&area_rect);
	SetPort(old_port);

	refresh_shopping();
	ShowControl(shop_sbar);
	Draw1Control(shop_sbar);
}