Lines Matching refs:scrn

29 /* scrn.c -- management of scrns. */
107 Scrn scrn)
109 ButtonBox buttonbox = scrn->viewbuttons;
123 Scrn scrn)
125 ButtonBox buttonbox = scrn->viewbuttons;
136 Scrn scrn,
142 ButtonBox buttonbox = scrn->mainbuttons;
153 /* Menus are created as children of the Paned widget of the scrn in order
162 scrn->widget, args, n);
170 callbacks[0].closure = (XtPointer) scrn;
192 static void MakeTocAndView(Scrn scrn)
207 scrn->mainbuttons = BBoxCreate(scrn, "menuBox");
208 scrn->folderlabel = CreateTitleBar(scrn, "folderTitlebar");
209 scrn->folderbuttons = BBoxCreate(scrn, "folders");
210 scrn->toclabel = CreateTitleBar(scrn, "tocTitlebar");
211 scrn->tocwidget = CreateTextSW(scrn, "toc", args, XtNumber(args));
213 scrn->miscbuttons = BBoxCreate(scrn, "commandBox");
214 scrn->viewlabel = CreateTitleBar(scrn, "viewTitlebar");
215 scrn->viewwidget = CreateTextSW(scrn, "view", args, (Cardinal) 0);
219 buttonbox = scrn->mainbuttons;
224 MakeCommandMenu(scrn, mbd);
229 buttonbox = scrn->folderbuttons;
248 BBoxAddButton(scrn->miscbuttons, name, commandWidgetClass, True);
253 static void MakeView(Scrn scrn)
255 scrn->viewlabel = CreateTitleBar(scrn, "viewTitlebar");
256 scrn->viewwidget = CreateTextSW(scrn, "view", (ArgList)NULL, (Cardinal)0);
257 scrn->viewbuttons = BBoxCreate(scrn, "viewButtons");
258 FillViewButtons(scrn);
262 static void MakeComp(Scrn scrn)
264 scrn->viewlabel = CreateTitleBar(scrn, "composeTitlebar");
265 scrn->viewwidget = CreateTextSW(scrn, "comp", (ArgList)NULL, (Cardinal)0);
266 scrn->viewbuttons = BBoxCreate(scrn, "compButtons");
267 FillCompButtons(scrn);
271 /* Create a scrn of the given type. */
276 Scrn scrn;
298 scrn = scrnList[numScrns - 1] = XtNew(ScrnRec);
299 bzero((char *)scrn, sizeof(ScrnRec));
300 scrn->kind = kind;
301 if (numScrns == 1) scrn->parent = toplevel;
302 else scrn->parent = XtCreatePopupShell(
305 XtAugmentTranslations(scrn->parent,
307 scrn->widget =
308 XtCreateManagedWidget(progName, panedWidgetClass, scrn->parent,
312 case STtocAndView: MakeTocAndView(scrn); break;
313 case STview: MakeView(scrn); break;
314 case STcomp: MakeComp(scrn); break;
323 XtRealizeWidget(scrn->parent);
328 BBoxLockSize(scrn->mainbuttons);
329 BBoxLockSize(scrn->folderbuttons);
330 theight = GetHeight(scrn->tocwidget) + GetHeight(scrn->viewwidget);
332 XawPanedGetMinMax((Widget) scrn->tocwidget, &min, &max);
333 XawPanedSetMinMax((Widget) scrn->tocwidget, theight, theight);
334 XawPanedSetMinMax((Widget) scrn->tocwidget, min, max);
335 if (scrn->miscbuttons)
336 BBoxLockSize(scrn->miscbuttons);
344 XtSetArg(args[0], XtNtranslations, &(scrn->edit_translations));
345 XtGetValues(scrn->viewwidget, args, (Cardinal) 1);
346 XtInstallAllAccelerators(scrn->widget, scrn->widget);
348 XtInstallAllAccelerators(scrn->tocwidget, scrn->widget);
349 XtInstallAllAccelerators(scrn->viewwidget, scrn->widget);
350 XtSetArg(args[0], XtNtranslations, &(scrn->read_translations));
351 XtGetValues(scrn->viewwidget, args, (Cardinal) 1);
354 BBoxLockSize(scrn->viewbuttons);
358 BBoxLockSize(scrn->viewbuttons);
359 XtInstallAllAccelerators(scrn->viewwidget, scrn->widget);
360 XtSetKeyboardFocus(scrn->parent, scrn->viewwidget);
367 InitBusyCursor(scrn);
368 XDefineCursor(XtDisplay(scrn->parent), XtWindow(scrn->parent),
370 (void) XSetWMProtocols(XtDisplay(scrn->parent), XtWindow(scrn->parent),
373 scrn->mapped = False;
374 return scrn;
385 Scrn scrn;
386 scrn = CreateNewScrn(STcomp);
387 scrn->assocmsg = (Msg)NULL;
388 return scrn;
391 void ScreenSetAssocMsg(Scrn scrn, Msg msg)
393 scrn->assocmsg = msg;
398 void DestroyScrn(Scrn scrn)
400 if (scrn->mapped) {
401 scrn->mapped = False;
402 XtPopdown(scrn->parent);
403 TocSetScrn((Toc) NULL, scrn);
404 MsgSetScrnForce((Msg) NULL, scrn);
410 void MapScrn(Scrn scrn)
412 if (!scrn->mapped) {
413 XtPopup(scrn->parent, XtGrabNone);
414 scrn->mapped = True;
452 void EnableProperButtons(Scrn scrn)
457 if (scrn) {
458 switch (scrn->kind) {
461 (scrn->mainbuttons, MenuBoxButtons[XMH_TOC].button_name);
462 value = TocCanIncorporate(scrn->toc);
466 (scrn->mainbuttons, MenuBoxButtons[XMH_SEQUENCE].button_name);
467 value = TocHasSequences(scrn->toc);
474 (scrn->mainbuttons, MenuBoxButtons[XMH_VIEW].button_name);
475 value = (scrn->msg != NULL && !MsgGetEditable(scrn->msg));
478 scrn->msg != NULL && !value);
481 value = (scrn->msg != NULL && !MsgGetEditable(scrn->msg));
482 SetButton(scrn->viewbuttons, "edit", value);
483 SetButton(scrn->viewbuttons, "save", scrn->msg != NULL && !value);
486 if (scrn->msg != NULL) {
487 changed = MsgChanged(scrn->msg);
488 reapable = MsgGetReapable(scrn->msg);
489 SetButton(scrn->viewbuttons, "send", changed || !reapable);
490 SetButton(scrn->viewbuttons, "save", changed || reapable);
491 SetButton(scrn->viewbuttons, "insert",
492 scrn->assocmsg != NULL ? True : False);
495 MsgSetCallOnChange(scrn->msg, EnableCallback,
496 (XtPointer) scrn);
498 MsgSetCallOnChange(scrn->msg, (XtCallbackProc) NULL,
502 BBoxDisable( BBoxFindButtonNamed(scrn->viewbuttons, "send"));
503 BBoxDisable( BBoxFindButtonNamed(scrn->viewbuttons, "save"));
504 BBoxDisable( BBoxFindButtonNamed(scrn->viewbuttons, "insert"));