/* initialize a premade window as a TextEdit window with options */ void NATEinit(na_win *winp, long flags, short docwidth, Ptr data, long len) { Rect rtemp, vtemp; winp->flags = (winp->flags & ~NATE_FLAGS) | flags; if (!docwidth) docwidth = DOCWIDTH; teinfo->docwidth = docwidth; rtemp = winp->pwin->portRect; rtemp.top += teinfo->topoff; vtemp = rtemp; if (!(flags & NATE_NOHSCROLL)) { vtemp.right = vtemp.left + docwidth; } if (!(flags & NATE_READONLY)) { winp->keyp = NATEkeyp; } if (!(flags & NATE_NOMOUSE)) { winp->mousep = NATEmousep; winp->idlep = NATEidlep; } winp->menup = NATEmenup; winp->activep = NATEactivep; winp->updatep = NATEupdatep; winp->ctrlp = NATEctrlp; winp->closep = NATEclosep; winp->cursorRgn = NewRgn(); teinfo->vctrl = teinfo->hctrl = NULL; TEAutoView(true, teinfo->hTE = TENew(&vtemp, &rtemp)); if (len > 0 && data != (Ptr) NULL) { TESetText(data, len, teinfo->hTE); TESetSelect(0, 0, teinfo->hTE); } teinfo->lheight = (*teinfo->hTE)->lineHeight; }
static PyObject *TEObj_TESetText(TEObject *_self, PyObject *_args) { PyObject *_res = NULL; char *text__in__; long text__len__; int text__in_len__; #ifndef TESetText PyMac_PRECHECK(TESetText); #endif if (!PyArg_ParseTuple(_args, "s#", &text__in__, &text__in_len__)) return NULL; text__len__ = text__in_len__; TESetText(text__in__, text__len__, _self->ob_itself); Py_INCREF(Py_None); _res = Py_None; return _res; }
void ProgressMsgInit() { Rect r; if (gControls->tw->allProgressMsg) { HLock((Handle)gControls->tw->allProgressMsg); SetRect(&r, (*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); TESetText("", 0, gControls->tw->allProgressMsg); EraseRect(&r); } bProgMsgInit = true; return; }
void AddUpdateLongDesc(int row) { Rect viewRect; HLock((Handle)gControls->aw->compDescBox); SetRect(&viewRect, (*gControls->aw->compDescBox)->contrlRect.left, (*gControls->aw->compDescBox)->contrlRect.top, (*gControls->aw->compDescBox)->contrlRect.right, (*gControls->aw->compDescBox)->contrlRect.bottom); HUnlock((Handle)gControls->aw->compDescBox); viewRect.top += kInterWidgetPad; SetRect(&viewRect, viewRect.left + kTxtRectPad, viewRect.top + kTxtRectPad, viewRect.right - kTxtRectPad, viewRect.bottom - kTxtRectPad); EraseRect(&viewRect); HLock(gControls->cfg->comp[rowToComp[row]].longDesc); TESetText( *gControls->cfg->comp[rowToComp[row]].longDesc, strlen(*gControls->cfg->comp[rowToComp[row]].longDesc), gControls->aw->compDescTxt ); TEUpdate( &viewRect, gControls->aw->compDescTxt ); HUnlock(gControls->cfg->comp[rowToComp[row]].longDesc); }
void ShowTerminalWin(void) { Str255 next, back; Handle rectH; Rect viewRect; short reserr; MenuHandle popupMenu; PopupPrivateData ** pvtDataHdl; unsigned char * currMenuItem; short i, vRefNum; long cwdDirID, dirID; Boolean isDir = false; Str255 pModulesDir; OSErr err = noErr; GrafPtr oldPort; GetPort(&oldPort); if (gWPtr != NULL) { SetPort(gWPtr); gCurrWin = kTerminalID; /* gControls->tw = (TermWin*) NewPtrClear(sizeof(TermWin)); */ GetResourcedString(next, rInstList, sInstallBtn); GetResourcedString(back, rInstList, sBackBtn); // malloc and get control rectH = Get1Resource('RECT', rStartMsgBox); reserr = ResError(); if (reserr == noErr && rectH != NULL) { viewRect = (Rect) **((Rect **)rectH); ReleaseResource(rectH); } else { ErrorHandler(reserr, nil); return; } gControls->tw->siteSelector = NULL; gControls->tw->saveBitsCheckbox = NULL; gControls->tw->startMsgBox = viewRect; gControls->tw->startMsg = TENew(&viewRect, &viewRect); if (gControls->tw->startMsg == NULL) { ErrorHandler(eMem, nil); return; } // save bits after download and install /* get the "Installer Modules" relative subdir */ ERR_CHECK(GetCWD(&cwdDirID, &vRefNum)); GetIndString(pModulesDir, rStringList, sInstModules); GetDirectoryID(vRefNum, cwdDirID, pModulesDir, &dirID, &isDir); if (isDir) { if (!ExistArchives(vRefNum, dirID)) // going to download { if (gControls->cfg->numSites > 0) { // download settings groupbox Str255 dlSettingsGBTitle; gControls->tw->dlSettingsGB = GetNewControl(rDLSettingsGB, gWPtr); if (gControls->tw->dlSettingsGB) { GetResourcedString(dlSettingsGBTitle, rInstList, sDLSettings); SetControlTitle(gControls->tw->dlSettingsGB, dlSettingsGBTitle); ShowControl(gControls->tw->dlSettingsGB); } // site selector label Str255 siteSelMsgStr; gControls->tw->siteSelMsg = GetNewControl(rSiteSelMsg, gWPtr); if (gControls->tw->siteSelMsg) { GetResourcedString(siteSelMsgStr, rInstList, sSiteSelMsg); SetControlData(gControls->tw->siteSelMsg, kControlNoPart, kControlStaticTextTextTag, siteSelMsgStr[0], (Ptr)&siteSelMsgStr[1]); ShowControl(gControls->tw->siteSelMsg); } // site selector gControls->tw->siteSelector = GetNewControl( rSiteSelector, gWPtr ); if (!gControls->tw->siteSelector) { ErrorHandler(eMem, nil); return; } // populate popup button menus HLock((Handle)gControls->tw->siteSelector); pvtDataHdl = (PopupPrivateData **) (*(gControls->tw->siteSelector))->contrlData; HLock((Handle)pvtDataHdl); popupMenu = (MenuHandle) (**pvtDataHdl).mHandle; for (i=0; i<gControls->cfg->numSites; i++) { HLock(gControls->cfg->site[i].desc); currMenuItem = CToPascal(*gControls->cfg->site[i].desc); HUnlock(gControls->cfg->site[i].desc); InsertMenuItem( popupMenu, currMenuItem, i ); } HUnlock((Handle)pvtDataHdl); HUnlock((Handle)gControls->tw->siteSelector); SetControlMaximum(gControls->tw->siteSelector, gControls->cfg->numSites); SetControlValue(gControls->tw->siteSelector, gControls->opt->siteChoice); ShowControl(gControls->tw->siteSelector); } // show check box and message gControls->tw->saveBitsCheckbox = GetNewControl( rSaveCheckbox, gWPtr ); if (!gControls->tw->saveBitsCheckbox) { ErrorHandler(eMem, nil); return; } if (gControls->opt->saveBits) SetControlValue(gControls->tw->saveBitsCheckbox, 1); ShowControl(gControls->tw->saveBitsCheckbox); // get rect for save bits message rectH = Get1Resource('RECT', rSaveBitsMsgBox); reserr = ResError(); if (reserr == noErr && rectH != NULL) { gControls->tw->saveBitsMsgBox = (Rect) **((Rect **)rectH); DisposeHandle(rectH); } else { ErrorHandler(reserr, nil); return; } // get text edit record for save bits message gControls->tw->saveBitsMsg = TENew(&gControls->tw->saveBitsMsgBox, &gControls->tw->saveBitsMsgBox ); if (gControls->tw->saveBitsMsg == NULL) { ErrorHandler(eMem, nil); return; } HLock(gControls->cfg->saveBitsMsg); TESetText(*gControls->cfg->saveBitsMsg, strlen(*gControls->cfg->saveBitsMsg), gControls->tw->saveBitsMsg); HUnlock(gControls->cfg->saveBitsMsg); // show save bits msg TEUpdate(&gControls->tw->saveBitsMsgBox, gControls->tw->saveBitsMsg); // proxy settings button gControls->tw->proxySettingsBtn = GetNewControl(rProxySettgBtn, gWPtr); if (!gControls->tw->proxySettingsBtn) { ErrorHandler(eMem, nil); return; } Str255 proxySettingsTitle; GetResourcedString(proxySettingsTitle, rInstList, sProxySettings); SetControlTitle(gControls->tw->proxySettingsBtn, proxySettingsTitle); ShowControl(gControls->tw->proxySettingsBtn); } } // populate control HLock(gControls->cfg->startMsg); TESetText(*gControls->cfg->startMsg, strlen(*gControls->cfg->startMsg), gControls->tw->startMsg); HUnlock(gControls->cfg->startMsg); // show controls TEUpdate(&viewRect, gControls->tw->startMsg); ShowNavButtons( back, next ); } SetPort(oldPort); }
void xpicbProgress(const char* msg, PRInt32 val, PRInt32 max) { Boolean indeterminateFlag = false; Rect r; Str255 installingStr, fileStr, ofStr; char *valStr, *maxStr, *leaf; StringPtr pleaf = nil; long last; GrafPtr oldPort; GetPort(&oldPort); if (gWPtr) { SetPort(gWPtr); if (gControls->tw->xpiProgressBar) { if (!bProgMsgInit) ProgressMsgInit(); if (max!=0 && !bMaxDiscovered) { SetControlData(gControls->tw->xpiProgressBar, kControlNoPart, kControlProgressBarIndeterminateTag, sizeof(indeterminateFlag), (Ptr) &indeterminateFlag); SetControlMaximum(gControls->tw->xpiProgressBar, max); if (gControls->tw->allProgressBar) SetControlValue(gControls->tw->allProgressBar, GetControlValue(gControls->tw->allProgressBar)+1); bMaxDiscovered = true; } else if (!bMaxDiscovered) { if (gWPtr) IdleControls(gWPtr); if (gControls->tw->xpiProgressMsg) { HLock((Handle)gControls->tw->xpiProgressMsg); SetRect(&r, (*gControls->tw->xpiProgressMsg)->viewRect.left, (*gControls->tw->xpiProgressMsg)->viewRect.top, (*gControls->tw->xpiProgressMsg)->viewRect.right, (*gControls->tw->xpiProgressMsg)->viewRect.bottom ); HUnlock((Handle)gControls->tw->xpiProgressMsg); if (msg) { EraseRect(&r); GetResourcedString(installingStr, rInstList, sProcessing); leaf = strrchr(msg, ':'); if (leaf) { pleaf = CToPascal(leaf+1); pstrcat(installingStr, pleaf); } else { installingStr[0] = 1; installingStr[1] = ' '; } last = installingStr[0] + 1; if (last > 255) last = 255; installingStr[last] = 0; if (installingStr[0] > 0) TESetText(&installingStr[1], installingStr[0], gControls->tw->xpiProgressMsg); TEUpdate(&r, gControls->tw->xpiProgressMsg); if (pleaf) DisposePtr((Ptr) pleaf); } } } if (bMaxDiscovered) { SetControlValue(gControls->tw->xpiProgressBar, val); if (gControls->tw->xpiProgressMsg) { GetResourcedString(installingStr, rInstList, sProcessing); GetResourcedString(fileStr, rInstList, sFileSp); GetResourcedString(ofStr, rInstList, sSpOfSp); HLock((Handle)gControls->tw->xpiProgressMsg); SetRect(&r, (*gControls->tw->xpiProgressMsg)->viewRect.left, (*gControls->tw->xpiProgressMsg)->viewRect.top, (*gControls->tw->xpiProgressMsg)->viewRect.right, (*gControls->tw->xpiProgressMsg)->viewRect.bottom ); HUnlock((Handle)gControls->tw->xpiProgressMsg); valStr = ltoa(val); maxStr = ltoa(max); EraseRect(&r); if (valStr && maxStr) { TESetText(&installingStr[1], installingStr[0], gControls->tw->xpiProgressMsg); TEInsert(&fileStr[1], fileStr[0], gControls->tw->xpiProgressMsg); TEInsert(valStr, strlen(valStr), gControls->tw->xpiProgressMsg); TEInsert(&ofStr[1], ofStr[0], gControls->tw->xpiProgressMsg); TEInsert(maxStr, strlen(maxStr), gControls->tw->xpiProgressMsg); TEUpdate(&r, gControls->tw->xpiProgressMsg); } if (valStr) free(valStr); if (maxStr) free(maxStr); } } } } SetPort(oldPort); return; }