⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 helpreswinc.c

📁 linux下的E_MAIL客户端源码
💻 C
📖 第 1 页 / 共 4 页
字号:
      if ( data->w == w ) tmp = yes;      else	          tmp = in;   }   else if ( !data->w || !XmIsPushButton(data->w) ) {      tmp = na;   }   item->Field(HELP_FIELD, tmp);//// This is used so rarely that it isn't very useful to highlight where it is//    missing//   if ( tmp == no ) pm = red_xpm;   if ( Modified() ) pm = yellow_xpm;   item->SetPixmaps(NULL, pm);} // End UpdateItem/*----------------------------------------------------------------- * Constructor */HelpResWinC::HelpResWinC(Widget parent) : HalTopLevelC("helpResWin", parent){   win = this;   WArgList	args;   widgetList.AllowDuplicates(FALSE);   quickList.AllowDuplicates(FALSE);   contList.AllowDuplicates(FALSE);   helpList.AllowDuplicates(FALSE);   quickList2.AllowDuplicates(FALSE);   contList2.AllowDuplicates(FALSE);   helpList2.AllowDuplicates(FALSE);   curWidget = NULL;   changed   = False;   selfMod   = False;//// appForm//// Form		shortNameForm// Form		longNameForm// Separator	quickSep// Form		quickForm// Separator	contSep// Form		contForm// Separator	helpSep// Form		helpForm// Separator	cmdSep// Frame	cmdFrame// Separator	widgetSep// VBoxC	widgetBox//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_FORM);   args.BottomAttachment(XmATTACH_NONE);   Widget	shortNameForm = XmCreateForm(appForm, "shortNameForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, shortNameForm);   Widget	longNameForm = XmCreateForm(appForm, "longNameForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, longNameForm);   Widget	quickSep = XmCreateSeparator(appForm, "quickSep", ARGS);   args.TopAttachment(XmATTACH_WIDGET, quickSep);   Widget	quickForm = XmCreateForm(appForm, "quickForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, quickForm);   Widget	contSep = XmCreateSeparator(appForm, "contSep", ARGS);   args.TopAttachment(XmATTACH_WIDGET, contSep);   Widget	contForm = XmCreateForm(appForm, "contForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, contForm);   Widget	helpSep = XmCreateSeparator(appForm, "helpSep", ARGS);   args.TopAttachment(XmATTACH_WIDGET, helpSep);   Widget	helpForm = XmCreateForm(appForm, "helpForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, helpForm);   Widget	cmdSep = XmCreateSeparator(appForm, "cmdSep", ARGS);   args.TopAttachment(XmATTACH_WIDGET, cmdSep);   Widget	cmdFrame = XmCreateFrame(appForm, "cmdFrame", ARGS);   args.TopAttachment(XmATTACH_WIDGET, cmdFrame);   Widget	widgetSep = XmCreateSeparator(appForm, "widgetSep", ARGS);   args.TopAttachment(XmATTACH_WIDGET, widgetSep);   args.BottomAttachment(XmATTACH_FORM);   widgetBox = new VBoxC(appForm, "widgetBox", ARGS);   args.Reset();   args.ShadowThickness(0);   args.MarginWidth(0);   args.MarginHeight(0);   XtSetValues(cmdFrame, ARGS);//// widgetBox//// FieldViewC	widgetView//   widgetView     = new FieldViewC(widgetBox);   widgetViewType = widgetBox->AddView(*widgetView);   //widgetBox->HideStatus();//// shortNameForm//// Label	shortNameLabel// TextField	shortNameTF//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget shortNameLabel = XmCreateLabel(shortNameForm, "shortNameLabel", ARGS);   args.LeftAttachment(XmATTACH_WIDGET, shortNameLabel);   args.RightAttachment(XmATTACH_FORM);   args.Editable(False);   shortNameTF = CreateTextField(shortNameForm, "shortNameTF", ARGS);   XtManageChild(shortNameLabel);   XtManageChild(shortNameTF);//// longNameForm//// Label	longNameLabel// TextField	longNameTF// ArrowButton	longNameAB//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget longNameLabel = XmCreateLabel(longNameForm, "longNameLabel", ARGS);   args.LeftAttachment(XmATTACH_NONE);   args.RightAttachment(XmATTACH_FORM);   Widget longNameAB = XmCreateArrowButton(longNameForm, "longNameAB", ARGS);   args.LeftAttachment(XmATTACH_WIDGET, longNameLabel);   args.RightAttachment(XmATTACH_WIDGET, longNameAB);   args.Editable(False);   longNameTF = CreateTextField(longNameForm, "longNameTF", ARGS);   XtManageChild(longNameLabel);   XtManageChild(longNameAB);   XtManageChild(longNameTF);   XtAddCallback(longNameAB, XmNactivateCallback, (XtCallbackProc)DoParentLoad,   		 this);//// quickForm//// Form	quickHelpForm// Form	quickNameForm//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_FORM);   args.BottomAttachment(XmATTACH_NONE);   Widget quickHelpForm = XmCreateForm(quickForm, "quickHelpForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, quickHelpForm);   Widget quickNameForm = XmCreateForm(quickForm, "quickNameForm", ARGS);//// quickHelpForm//// Label	quickHelpLabel// TextField	quickHelpTF//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget quickHelpLabel = XmCreateLabel(quickHelpForm, "quickHelpLabel", ARGS);   args.LeftAttachment(XmATTACH_WIDGET, quickHelpLabel);   args.RightAttachment(XmATTACH_FORM);   quickHelpTF = CreateTextField(quickHelpForm, "quickHelpTF", ARGS);   XtManageChild(quickHelpLabel);   XtManageChild(quickHelpTF);//// quickNameForm//// Label	quickNameLabel// TextField	quickNameTF// PushButton	quickLoadPB//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget quickNameLabel = XmCreateLabel(quickNameForm, "quickNameLabel",   					   ARGS);   args.LeftAttachment(XmATTACH_NONE);   args.RightAttachment(XmATTACH_FORM);   quickLoadPB = XmCreatePushButton(quickNameForm,"quickLoadPB", ARGS);   XtAddCallback(quickLoadPB, XmNactivateCallback,   		 (XtCallbackProc)DoQuickLoad, this);   args.LeftAttachment(XmATTACH_WIDGET, quickNameLabel);   args.RightAttachment(XmATTACH_WIDGET, quickLoadPB);   args.Editable(False);   quickNameTF = CreateTextField(quickNameForm, "quickNameTF", ARGS);   XtManageChild(quickNameLabel);   XtManageChild(quickLoadPB);   XtManageChild(quickNameTF);   XtManageChild(quickHelpForm);   XtManageChild(quickNameForm);//// contForm//// Form	contCardForm// Form	contNameForm//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_FORM);   args.BottomAttachment(XmATTACH_NONE);   Widget contCardForm = XmCreateForm(contForm, "contCardForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, contCardForm);   Widget contNameForm = XmCreateForm(contForm, "contNameForm", ARGS);//// contCardForm//// Label	contCardLabel// TextField	contCardTF// PushButton	contCardPB//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget contCardLabel = XmCreateLabel(contCardForm, "contCardLabel", ARGS);   args.LeftAttachment(XmATTACH_NONE);   args.RightAttachment(XmATTACH_FORM);   contCardPB = XmCreatePushButton(contCardForm, "contCardPB", ARGS);   XtAddCallback(contCardPB, XmNactivateCallback,   		 (XtCallbackProc)DoContCard, this);   args.LeftAttachment(XmATTACH_WIDGET, contCardLabel);   args.RightAttachment(XmATTACH_WIDGET, contCardPB);   contCardTF = CreateTextField(contCardForm, "contCardTF", ARGS);   XtManageChild(contCardLabel);   XtManageChild(contCardPB);   XtManageChild(contCardTF);//// contNameForm//// Label	contNameLabel// TextField	contNameTF// PushButton	contLoadPB//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget contNameLabel = XmCreateLabel(contNameForm, "contNameLabel",   					   ARGS);   args.LeftAttachment(XmATTACH_NONE);   args.RightAttachment(XmATTACH_FORM);   contLoadPB = XmCreatePushButton(contNameForm,"contLoadPB", ARGS);   XtAddCallback(contLoadPB, XmNactivateCallback,   		 (XtCallbackProc)DoContLoad, this);   args.LeftAttachment(XmATTACH_WIDGET, contNameLabel);   args.RightAttachment(XmATTACH_WIDGET, contLoadPB);   args.Editable(False);   contNameTF = CreateTextField(contNameForm, "contNameTF", ARGS);   XtManageChild(contNameLabel);   XtManageChild(contLoadPB);   XtManageChild(contNameTF);   XtManageChild(contCardForm);   XtManageChild(contNameForm);//// helpForm//// Form	helpCardForm// Form	helpNameForm//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_FORM);   args.BottomAttachment(XmATTACH_NONE);   Widget helpCardForm = XmCreateForm(helpForm, "helpCardForm", ARGS);   args.TopAttachment(XmATTACH_WIDGET, helpCardForm);   Widget helpNameForm = XmCreateForm(helpForm, "helpNameForm", ARGS);//// helpCardForm//// Label	helpCardLabel// TextField	helpCardTF// PushButton	helpCardPB//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget helpCardLabel = XmCreateLabel(helpCardForm, "helpCardLabel", ARGS);   args.LeftAttachment(XmATTACH_NONE);   args.RightAttachment(XmATTACH_FORM);   helpCardPB = XmCreatePushButton(helpCardForm, "helpCardPB", ARGS);   XtAddCallback(helpCardPB, XmNactivateCallback,   		 (XtCallbackProc)DoHelpCard, this);   args.LeftAttachment(XmATTACH_WIDGET, helpCardLabel);   args.RightAttachment(XmATTACH_WIDGET, helpCardPB);   helpCardTF = CreateTextField(helpCardForm, "helpCardTF", ARGS);   XtManageChild(helpCardLabel);   XtManageChild(helpCardPB);   XtManageChild(helpCardTF);//// helpNameForm//// Label	helpNameLabel// TextField	helpNameTF// PushButton	helpLoadPB//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_NONE);   args.BottomAttachment(XmATTACH_FORM);   Widget helpNameLabel = XmCreateLabel(helpNameForm, "helpNameLabel",   					   ARGS);   args.LeftAttachment(XmATTACH_NONE);   args.RightAttachment(XmATTACH_FORM);   helpLoadPB = XmCreatePushButton(helpNameForm,"helpLoadPB", ARGS);   XtAddCallback(helpLoadPB, XmNactivateCallback,   		 (XtCallbackProc)DoHelpLoad, this);   args.LeftAttachment(XmATTACH_WIDGET, helpNameLabel);   args.RightAttachment(XmATTACH_WIDGET, helpLoadPB);   args.Editable(False);   helpNameTF = CreateTextField(helpNameForm, "helpNameTF", ARGS);   XtManageChild(helpNameLabel);   XtManageChild(helpLoadPB);   XtManageChild(helpNameTF);   XtManageChild(helpCardForm);   XtManageChild(helpNameForm);//// Add change detection callbacks//   XtAddCallback(quickHelpTF, XmNvalueChangedCallback,		 (XtCallbackProc)QuickTextChanged, this);   XtAddCallback(contCardTF, XmNvalueChangedCallback,		 (XtCallbackProc)ContTextChanged, this);   XtAddCallback(helpCardTF, XmNvalueChangedCallback,		 (XtCallbackProc)HelpTextChanged, this);//// Align labels//   Dimension	wd, max;   XtVaGetValues(shortNameLabel, XmNwidth, &max, NULL);   XtVaGetValues(longNameLabel,  XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   XtVaGetValues(quickHelpLabel, XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   XtVaGetValues(quickNameLabel, XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   XtVaGetValues(contCardLabel,  XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   XtVaGetValues(contNameLabel,  XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   XtVaGetValues(helpCardLabel,  XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   XtVaGetValues(helpNameLabel,  XmNwidth, &wd,  NULL); if ( wd>max ) max = wd;   args.Reset();   args.Width(max);   args.Resizable(False);   XtSetValues(shortNameLabel, ARGS);   XtSetValues(longNameLabel,  ARGS);   XtSetValues(quickHelpLabel, ARGS);   XtSetValues(quickNameLabel, ARGS);   XtSetValues(contCardLabel,  ARGS);   XtSetValues(contNameLabel,  ARGS);   XtSetValues(helpCardLabel,  ARGS);   XtSetValues(helpNameLabel,  ARGS);//// Align buttons//   XtVaGetValues(quickLoadPB,  XmNwidth, &max, NULL);   XtVaGetValues(contCardPB,   XmNwidth, &wd,  NULL); if (wd>max) max = wd;   XtVaGetValues(contLoadPB,   XmNwidth, &wd,  NULL); if (wd>max) max = wd;   XtVaGetValues(helpCardPB,   XmNwidth, &wd,  NULL); if (wd>max) max = wd;   XtVaGetValues(helpLoadPB,   XmNwidth, &wd,  NULL); if (wd>max) max = wd;   args.Reset();   args.Width(max);   args.Resizable(False);   XtSetValues(quickLoadPB,  ARGS);   XtSetValues(contCardPB,   ARGS);   XtSetValues(contLoadPB,   ARGS);   XtSetValues(helpCardPB,   ARGS);   XtSetValues(helpLoadPB,   ARGS);//// cmdFrame////    RowColumn		cmdRC//       Label		modLabel1//       PushButton	pickPB//       PushButton	nextPB//       PushButton	prevPB//       PushButton	resetPB//       PushButton	delPB//       Label		modLabel2//   args.Reset();   args.Orientation(XmHORIZONTAL);   args.ChildType(XmFRAME_TITLE_CHILD);   args.ChildHorizontalAlignment(XmALIGNMENT_CENTER);   args.ChildHorizontalSpacing(0);   args.ChildVerticalAlignment(XmALIGNMENT_WIDGET_TOP);   args.EntryAlignment(XmALIGNMENT_CENTER);   Widget	cmdRC = XmCreateRowColumn(cmdFrame, "cmdRC", ARGS);   modLabel1 = XmCreateLabel(cmdRC, "modLabel", 0,0);   XtManageChild(modLabel1);   Widget pickPB = XmCreatePushButton(cmdRC, "pickPB", 0,0);   XtAddCallback(pickPB, XmNactivateCallback, (XtCallbackProc)DoWidgetPick,   		 this);   XtManageChild(pickPB);   Widget nextPB = XmCreatePushButton(cmdRC, "nextPB", 0,0);   XtAddCallback(nextPB, XmNactivateCallback, (XtCallbackProc)DoWidgetNext,   		 this);   XtManageChild(nextPB);   Widget prevPB = XmCreatePushButton(cmdRC, "prevPB", 0,0);   XtAddCallback(prevPB, XmNactivateCallback, (XtCallbackProc)DoWidgetPrev,   		 this);   XtManageChild(prevPB);   Widget resetPB = XmCreatePushButton(cmdRC, "resetPB", 0,0);   XtAddCallback(resetPB, XmNactivateCallback, (XtCallbackProc)DoWidgetReset,   		 this);   XtManageChild(resetPB);#if 0   Widget delPB = XmCreatePushButton(cmdRC, "delPB", 0,0);   XtAddCallback(delPB, XmNactivateCallback, (XtCallbackProc)DoWidgetDel,   		 this);   XtManageChild(delPB);#endif   modLabel2 = XmCreateLabel(cmdRC, "modLabel", 0,0);   XtManageChild(modLabel2);   XtManageChild(cmdRC);   XtManageChild(shortNameForm);   XtManageChild(longNameForm);   XtManageChild(quickSep);   XtManageChild(quickForm);   XtManageChild(contSep);   XtManageChild(contForm);   XtManageChild(helpSep);   XtManageChild(helpForm);   XtManageChild(cmdSep);   XtManageChild(cmdFrame);   XtManageChild(widgetSep);   XtManageChild(*widgetBox);   AddButtonBox();#if 0   Widget	loadSomePB = XmCreatePushButton(buttonRC, "loadSomePB", 0,0);   XtManageChild(loadSomePB);   XtAddCallback(loadSomePB, XmNactivateCallback, (XtCallbackProc)DoLoadSome,   		 this);   Widget	loadAllPB = XmCreatePushButton(buttonRC, "loadAllPB", 0,0);   XtManageChild(loadAllPB);   XtAddCallback(loadAllPB, XmNactivateCallback, (XtCallbackProc)DoLoadAll,   		 this);#endif   Widget	savePB = XmCreatePushButton(buttonRC, "savePB", 0,0);   XtManageChild(savePB);   XtAddCallback(savePB, XmNactivateCallback, (XtCallbackProc)DoSave, this);   Widget	donePB = XmCreatePushButton(buttonRC, "donePB", 0,0);   XtManageChild(donePB);   XtAddCallback(donePB, XmNactivateCallback, (XtCallbackProc)DoDone, this);   ShowInfoMsg();   HandleHelp();   pickCursor = XCreateFontCursor(halApp->display, XC_hand1);   XtSetSensitive(quickLoadPB, False);   XtSetSensitive(contCardPB,  False);   XtSetSensitive(contLoadPB,  False);   XtSetSensitive(helpCardPB,  False);   XtSetSensitive(helpLoadPB,  False);   PixelValue(modLabel1, "yellow", &modBg);   XtVaGetValues(modLabel1, XmNbackground, &regBg, NULL);   XtAddCallback(*this, XmNpopupCallback, (XtCallbackProc)DoPopup, this);} // End constructor/*----------------------------------------------------------------- * Destructor */HelpResWinC::~HelpResWinC(){   if ( halApp->xRunning ) {      Boolean	needSave;      QuerySave(&needSave, /*cancelOk=*/False);      if ( needSave ) DoSave(NULL, this, NULL);      XFreeCursor(halApp->display, pickCursor);   }   Clear();   u_int	count = quickList.size();   int	i;   for (i=0; i<count; i++) {      ResEntryC	*ent = (ResEntryC*)quickList[i];      delete ent;   }   count = contList.size();   for (i=0; i<count; i++) {      ResEntryC	*ent = (ResEntryC*)contList[i];      delete ent;   }   count = helpList.size();   for (i=0; i<count; i++) {      ResEntryC	*ent = (ResEntryC*)helpList[i];      delete ent;   }   delete widgetBox;   delete widgetView;} // End destructor/*----------------------------------------------------------------- * Clear all widgets and modifications */voidHelpResWinC::Clear(){   VItemListC&	items = widgetBox->Items();   u_int	count = items.size();   int	i;   for (i=0; i<count; i++) delete items[i];   count = widgetList.size();   for (i=0; i<count; i++) {      WidgetRecC	*rec = (WidgetRecC*)widgetList[i];      delete rec;   }   widgetList.removeAll();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -