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

📄 mainwinp.c

📁 linux下的E_MAIL客户端源码
💻 C
📖 第 1 页 / 共 5 页
字号:
//    CascadeButton	msgPUSaveCB//    PulldownMenu	msgPUSavePD//       PushButton	   msgPUSavePB//       PushButton	   msgPUSavePatPB//       PushButton	   msgPUSaveRecentCB//       PushButton	   msgPUSaveQuickCB//       PushButton	   msgPUSaveSelPB//       PushButton	   msgPUSaveToPB//       PushButton	   msgPUSaveToFilePB//    PushButton	msgPUPrintPB//    PushButton	msgPUPipePB//    Separator		msgPUSep2//    CascadeButton	msgPUReplyCB//    PulldownMenu	msgPUReplyPD//       PushButton	   msgPUReplyPB//       PushButton	   msgPUReplyIncPB//       PushButton	   msgPUReplyAllPB//       PushButton	   msgPUReplyAllIncPB//    PushButton	msgPUForwardPB//    PushButton	msgPUForward822PB//    PushButton	msgPUResendPB//    Separator		msgPUSep3//    PushButton	msgPUDelPB//    PushButton	msgPUUndelPB//    CascadeButton	msgPUStatCB//   msgPU = XmCreatePopupMenu(msgVBox->ClipWin(), "msgPU", 0,0);   msgPULabel          = XmCreateLabel        (msgPU, "msgPULabel",        0,0);   msgPUReadPB         = XmCreatePushButton   (msgPU, "msgPUReadPB",       0,0);   Widget msgPUSaveCB  = XmCreateCascadeButton(msgPU, "msgPUSaveCB",       0,0);   msgPUPrintPB        = XmCreatePushButton   (msgPU, "msgPUPrintPB",      0,0);   msgPUPipePB         = XmCreatePushButton   (msgPU, "msgPUPipePB",       0,0);   Widget msgPUSep1    = XmCreateSeparator    (msgPU, "msgPUSep1",         0,0);   Widget msgPUReplyCB = XmCreateCascadeButton(msgPU, "msgPUReplyCB",      0,0);   msgPUForwardPB      = XmCreatePushButton   (msgPU, "msgPUForwardPB",    0,0);   msgPUForward822PB   = XmCreatePushButton   (msgPU, "msgPUForward822PB", 0,0);   msgPUResendPB       = XmCreatePushButton   (msgPU, "msgPUResendPB",     0,0);   Widget msgPUSep2    = XmCreateSeparator    (msgPU, "msgPUSep2",         0,0);   msgPUDelPB          = XmCreatePushButton   (msgPU, "msgPUDelPB",        0,0);   msgPUUndelPB        = XmCreatePushButton   (msgPU, "msgPUUndelPB",      0,0);   Widget msgPUStatCB  = XmCreateCascadeButton(msgPU, "msgPUStatCB",       0,0);   wcount = 0;   wlist[wcount++] = msgPULabel;   wlist[wcount++] = msgPUReadPB;   wlist[wcount++] = msgPUSaveCB;   wlist[wcount++] = msgPUPrintPB;   wlist[wcount++] = msgPUPipePB;   wlist[wcount++] = msgPUSep1;   wlist[wcount++] = msgPUReplyCB;   wlist[wcount++] = msgPUForwardPB;   wlist[wcount++] = msgPUForward822PB;   wlist[wcount++] = msgPUResendPB;   wlist[wcount++] = msgPUSep2;   wlist[wcount++] = msgPUDelPB;   wlist[wcount++] = msgPUUndelPB;   wlist[wcount++] = msgPUStatCB;   XtManageChildren(wlist, wcount);   XtSetSensitive(msgPUUndelPB, False);   Widget msgPUReplyPD = XmCreatePulldownMenu(msgPU, "msgPUReplyPD", 0,0);   msgPUReplyPB    = XmCreatePushButton(msgPUReplyPD, "msgPUReplyPB",      0,0);   msgPUReplyIncPB = XmCreatePushButton(msgPUReplyPD, "msgPUReplyIncPB",   0,0);   msgPUReplyAllPB = XmCreatePushButton(msgPUReplyPD, "msgPUReplyAllPB",   0,0);   msgPUReplyAllIncPB   		   = XmCreatePushButton(msgPUReplyPD, "msgPUReplyAllIncPB",0,0);   wlist[0] = msgPUReplyPB;   wlist[1] = msgPUReplyIncPB;   wlist[2] = msgPUReplyAllPB;   wlist[3] = msgPUReplyAllIncPB;   XtManageChildren(wlist, 4);	// msgPUReplyPD children   Widget msgPUSavePD = XmCreatePulldownMenu(msgPU, "msgPUSavePD", 0,0);   msgPUSavePB       = XmCreatePushButton(msgPUSavePD, "msgPUSavePB",      0,0);   msgPUSavePatPB    = XmCreatePushButton(msgPUSavePD, "msgPUSavePatPB",   0,0);   msgPUSaveRecentCB =      XmCreateCascadeButton(msgPUSavePD, "msgPUSaveRecentCB",0,0);   msgPUSaveRecentPD =      XmCreatePulldownMenu(msgPUSavePD, "msgPUSaveRecentPD", 0,0);//// Add a data structure and a pulldown menu for the quick function//   QuickInfoT	*cbData = new QuickInfoT;   if ( (!ishApp->appPrefs->usingImap) ||	(!ishApp->folderPrefs->UsingLocal()) )       cbData->dir = ishApp->appPrefs->FolderDir();   else       cbData->dir = "";   cbData->menu = XmCreatePulldownMenu(msgPUSavePD, "quickPD", 0,0);   cbData->menuTime = 0;   args.Reset();   args.UserData(cbData);   args.SubMenuId(cbData->menu);   msgPUSaveQuickCB =      XmCreateCascadeButton(msgPUSavePD, "msgPUSaveQuickCB", ARGS);   msgPUSaveSelPB    = XmCreatePushButton(msgPUSavePD, "msgPUSaveSelPB",   0,0);   msgPUSaveToPB     = XmCreatePushButton(msgPUSavePD, "msgPUSaveToPB",    0,0);   msgPUSaveToFilePB = XmCreatePushButton(msgPUSavePD, "msgPUSaveToFilePB",0,0);   wcount = 0;   wlist[wcount++] = msgPUSavePB;   wlist[wcount++] = msgPUSavePatPB;   wlist[wcount++] = msgPUSaveRecentCB;   wlist[wcount++] = msgPUSaveQuickCB;   wlist[wcount++] = msgPUSaveSelPB;   wlist[wcount++] = msgPUSaveToPB;   wlist[wcount++] = msgPUSaveToFilePB;   XtManageChildren(wlist, wcount);	// msgPUSavePD children//// Create msgPUStatPD hierarchy//// msgPUStatPD//    PushButton	   msgPUMarkReadPB//    PushButton	   msgPUMarkUnreadPB//    PushButton	   msgPUMarkNewPB//    CascadeButton	   msgPUStatSetCB//    PulldownMenu	   msgPUStatSetPD//       PushButton	      msgPUSetSavedPB//       PushButton	      msgPUSetRepliedPB//       PushButton	      msgPUSetForwardedPB//       PushButton	      msgPUSetResentPB//       PushButton	      msgPUSetPrintedPB//       PushButton	      msgPUSetFilteredPB//    CascadeButton	   msgPUStatClearCB//    PulldownMenu	   msgPUStatClearPD//       PushButton	      msgPUClearAllPB//       PushButton	      msgPUClearSavedPB//       PushButton	      msgPUClearRepliedPB//       PushButton	      msgPUClearForwardedPB//       PushButton	      msgPUClearResentPB//       PushButton	      msgPUClearPrintedPB//       PushButton	      msgPUClearFilteredPB//   Widget      msgPUStatPD = XmCreatePulldownMenu(msgPU, "msgPUStatPD", 0,0),      msgPUMarkReadPB = XmCreatePushButton(msgPUStatPD, "msgPUMarkReadPB", 0,0),      msgPUMarkUnreadPB =          XmCreatePushButton(msgPUStatPD, "msgPUMarkUnreadPB",0,0),      msgPUMarkNewPB = XmCreatePushButton(msgPUStatPD, "msgPUMarkNewPB", 0,0),      msgPUStatSetCB = XmCreateCascadeButton(msgPUStatPD, "msgPUStatSetCB",0,0),      msgPUStatClearCB =         XmCreateCascadeButton(msgPUStatPD, "msgPUStatClearCB", 0,0);   wlist[0] = msgPUMarkReadPB;   wlist[1] = msgPUMarkUnreadPB;   wlist[2] = msgPUMarkNewPB;   wlist[3] = msgPUStatSetCB;   wlist[4] = msgPUStatClearCB;   XtManageChildren(wlist, 5);	// msgPUStatPD children   Widget      msgPUStatSetPD = XmCreatePulldownMenu(msgPUStatPD, "msgPUStatSetPD", 0,0),      msgPUSetSavedPB =         XmCreatePushButton(msgPUStatSetPD, "msgPUSetSavedPB", 0,0),      msgPUSetRepliedPB =         XmCreatePushButton(msgPUStatSetPD, "msgPUSetRepliedPB",0,0),      msgPUSetForwardedPB =	 XmCreatePushButton(msgPUStatSetPD, "msgPUSetForwardedPB", 0,0),      msgPUSetResentPB =         XmCreatePushButton(msgPUStatSetPD, "msgPUSetResentPB", 0,0),      msgPUSetPrintedPB =         XmCreatePushButton(msgPUStatSetPD, "msgPUSetPrintedPB",0,0),      msgPUSetFilteredPB =         XmCreatePushButton(msgPUStatSetPD, "msgPUSetFilteredPB", 0,0);   wlist[0] = msgPUSetSavedPB;   wlist[1] = msgPUSetRepliedPB;   wlist[2] = msgPUSetForwardedPB;   wlist[3] = msgPUSetResentPB;   wlist[4] = msgPUSetPrintedPB;   wlist[5] = msgPUSetFilteredPB;   XtManageChildren(wlist, 6);	// msgPUStatSetPD children   Widget      msgPUStatClearPD =         XmCreatePulldownMenu(msgPUStatPD, "msgPUStatClearPD", 0,0),      msgPUClearAllPB =         XmCreatePushButton(msgPUStatClearPD, "msgPUClearAllPB", 0,0),      msgPUClearSavedPB =         XmCreatePushButton(msgPUStatClearPD, "msgPUClearSavedPB", 0,0),      msgPUClearRepliedPB =         XmCreatePushButton(msgPUStatClearPD, "msgPUClearRepliedPB", 0,0),      msgPUClearForwardedPB =	 XmCreatePushButton(msgPUStatClearPD, "msgPUClearForwardedPB", 0,0),      msgPUClearResentPB =         XmCreatePushButton(msgPUStatClearPD, "msgPUClearResentPB", 0,0),      msgPUClearPrintedPB =         XmCreatePushButton(msgPUStatClearPD, "msgPUClearPrintedPB", 0,0),      msgPUClearFilteredPB =         XmCreatePushButton(msgPUStatClearPD, "msgPUClearFilteredPB", 0,0);   wlist[0] = msgPUClearAllPB;   wlist[1] = msgPUClearSavedPB;   wlist[2] = msgPUClearRepliedPB;   wlist[3] = msgPUClearForwardedPB;   wlist[4] = msgPUClearResentPB;   wlist[5] = msgPUClearPrintedPB;   wlist[6] = msgPUClearFilteredPB;   XtManageChildren(wlist, 7);	// msgPUStatClearPD children   XtVaSetValues(msgPUSaveCB,       XmNsubMenuId, msgPUSavePD,       NULL);   XtVaSetValues(msgPUSaveRecentCB, XmNsubMenuId, msgPUSaveRecentPD, NULL);   XtVaSetValues(msgPUReplyCB,      XmNsubMenuId, msgPUReplyPD,      NULL);   XtVaSetValues(msgPUStatCB,       XmNsubMenuId, msgPUStatPD,       NULL);   XtVaSetValues(msgPUStatSetCB,    XmNsubMenuId, msgPUStatSetPD,    NULL);   XtVaSetValues(msgPUStatClearCB,  XmNsubMenuId, msgPUStatClearPD,  NULL);   //AddCascading(msgPUSaveRecentCB, PrepareRecentMenu,      this);   AddCascading(msgPUSaveQuickCB,  PreparePUSaveQuickMenu, this);   AddActivate(msgPUReadPB,           DoMsgPURead,           this);   AddActivate(msgPUSavePB,           DoMsgPUSave,           this);   AddActivate(msgPUSavePatPB,        DoMsgPUSavePat,        this);   AddActivate(msgPUSaveSelPB,        DoMsgPUSaveSel,        this);   AddActivate(msgPUSaveToPB,         DoMsgPUSaveTo,         this);   AddActivate(msgPUSaveToFilePB,     DoMsgPUSaveToFile,     this);   AddActivate(msgPUPrintPB,          DoMsgPUPrint,          this);   AddActivate(msgPUPipePB,           DoMsgPUPipe,           this);   AddActivate(msgPUReplyPB,          DoMsgPUReply,          this);   AddActivate(msgPUReplyIncPB,       DoMsgPUReplyInc,       this);   AddActivate(msgPUReplyAllPB,       DoMsgPUReplyAll,       this);   AddActivate(msgPUReplyAllIncPB,    DoMsgPUReplyAllInc,    this);   AddActivate(msgPUForwardPB,        DoMsgPUForward,        this);   AddActivate(msgPUForward822PB,     DoMsgPUForward822,     this);   AddActivate(msgPUResendPB,         DoMsgPUResend,         this);   AddActivate(msgPUDelPB,            DoMsgPUDel,            this);   AddActivate(msgPUUndelPB,          DoMsgPUUndel,          this);   AddActivate(msgPUMarkReadPB,       DoMsgPUMarkRead,       this);   AddActivate(msgPUMarkUnreadPB,     DoMsgPUMarkUnread,     this);   AddActivate(msgPUMarkNewPB,        DoMsgPUMarkNew,        this);   AddActivate(msgPUSetSavedPB,       DoMsgPUSetSaved,       this);   AddActivate(msgPUSetRepliedPB,     DoMsgPUSetReplied,     this);   AddActivate(msgPUSetForwardedPB,   DoMsgPUSetForwarded,   this);   AddActivate(msgPUSetResentPB,      DoMsgPUSetResent,      this);   AddActivate(msgPUSetPrintedPB,     DoMsgPUSetPrinted,     this);   AddActivate(msgPUSetFilteredPB,    DoMsgPUSetFiltered,    this);   AddActivate(msgPUClearAllPB,       DoMsgPUClearAll,       this);   AddActivate(msgPUClearSavedPB,     DoMsgPUClearSaved,     this);   AddActivate(msgPUClearRepliedPB,   DoMsgPUClearReplied,   this);   AddActivate(msgPUClearForwardedPB, DoMsgPUClearForwarded, this);   AddActivate(msgPUClearResentPB,    DoMsgPUClearResent,    this);   AddActivate(msgPUClearPrintedPB,   DoMsgPUClearPrinted,   this);   AddActivate(msgPUClearFilteredPB,  DoMsgPUClearFiltered,  this);} // End BuildMsgPopupMenu/*--------------------------------------------------------------- *  Method to build the widgets in the folder popup menu */voidMainWinP::BuildFolderPopupMenu(){   Widget	wlist[8];//// Create folderPU hierarchy//// folderPU//    Label		folderPULabel//    Separator		folderPUSep//    PushButton	folderPUActPB//    PushButton	folderPUSavePB//    PushButton	folderPUReadPB//    PushButton	folderPUClosePB//    PushButton	folderPUDelPB//   folderPU = XmCreatePopupMenu(folderVBox->ClipWin(), "folderPU", 0,0);   folderPULabel   = XmCreateLabel     (folderPU, "folderPULabel",   0,0);   folderPUActPB   = XmCreatePushButton(folderPU, "folderPUActPB",   0,0);   folderPUSavePB  = XmCreatePushButton(folderPU, "folderPUSavePB",  0,0);   folderPUReadPB  = XmCreatePushButton(folderPU, "folderPUReadPB",  0,0);   folderPUClosePB = XmCreatePushButton(folderPU, "folderPUClosePB", 0,0);   folderPUDelPB   = XmCreatePushButton(folderPU, "folderPUDelPB",   0,0);   wlist[0] = folderPULabel;   wlist[1] = folderPUActPB;   wlist[2] = folderPUSavePB;   wlist[3] = folderPUReadPB;   wlist[4] = folderPUClosePB;   wlist[5] = folderPUDelPB;   XtManageChildren(wlist, 6);   XtSetSensitive(folderPUSavePB, False);   XtSetSensitive(folderPUDelPB,  False);   AddActivate(folderPUActPB,   DoFolderPUAct,   this);   AddActivate(folderPUSavePB,  DoFolderPUSave,  this);   AddActivate(folderPUReadPB,  DoFolderPURead,  this);   AddActivate(folderPUClosePB, DoFolderPUClose, this);   AddActivate(folderPUDelPB,   DoFolderPUDel,   this);} // End BuildFolderPopupMenu/*------------------------------------------------------------------------ * Method to build the menus of recent folders. */voidMainWinP::BuildRecentFolderMenus(){//// Unmanage existing buttons//   WidgetList	wlist;   Cardinal	wcount;   XtVaGetValues(msgSaveRecentPD, XmNnumChildren, &wcount, XmNchildren, &wlist,   		 NULL);   //if ( wcount > 0 ) XtUnmanageChildren(wlist, wcount);   WidgetList	pwlist;   Cardinal	pwcount;   XtVaGetValues(msgPUSaveRecentPD, XmNnumChildren, &pwcount, XmNchildren,   		 &pwlist, NULL);   //if ( pwcount > 0 ) XtUnmanageChildren(pwlist, pwcount);   WidgetList	fwlist;   Cardinal	fwcount;   XtVaGetValues(folderOpenRecentPD, XmNnumChildren, &fwcount, XmNchildren,   		 &fwlist, NULL);   //if ( fwcount > 0 ) XtUnmanageChildren(fwlist, fwcount);//// Create new buttons//   WArgList	args;   WXmString	wstr;   u_int	count = ishApp->appPrefs->recentFolders.size();   int i=0; for (i=0; i<count; i++) {      StringC	*label = ishApp->appPrefs->recentFolders[i];      wstr = (char*)*label;      args.LabelString(wstr);//// Create a button in the menu bar message menu.  Re-use one if possible//      Widget	pb;      if ( i < wcount ) {	 pb = wlist[i];	 XtSetValues(pb, ARGS);      }      else {	 pb = XmCreatePushButton(msgSaveRecentPD, "recentPB", ARGS);	 XtAddCallback(pb, XmNactivateCallback,		       (XtCallbackProc)DoMsgSaveToButton, this);      }      XtManageChild(pb);//// Create a button in the message popup menu.  Re-use one if possible.//      if ( i < pwcount ) {	 pb = pwlist[i];	 XtSetValues(pb, ARGS);      }      else {	 pb = XmCreatePushButton(msgPUSaveRecentPD, "recentPB", ARGS);	 XtAddCallback(pb, XmNactivateCallback,		       (XtCallbackProc)DoMsgPUSaveToButton, this);      }      XtManageChild(pb);//// Create a button in the folder menu.  Re-use one if possible.//      if ( i < fwcount ) {	 pb = fwlist[i];	 XtSetValues(pb, ARGS);      }      else {	 pb = XmCreatePushButton(folderOpenRecentPD, "recentPB", ARGS);	 XtAddCallback(pb, XmNactivateCallback,		       (XtCallbackProc)DoFolderOpenButton, this);      }

⌨️ 快捷键说明

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