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

📄 complexmsgfindwinc.c

📁 linux下的E_MAIL客户端源码
💻 C
📖 第 1 页 / 共 3 页
字号:
/* * $Id: ComplexMsgFindWinC.C,v 1.4 2000/08/07 11:05:16 evgeny Exp $ * * Copyright (c) 1993 HAL Computer Systems International, Ltd. *  *          HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. *                  1315 Dell Avenue *                  Campbell, CA  95008 * * Author: Greg Hilton * Contributors: Tom Lang, Frank Bieser, and others * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * http://www.gnu.org/copyleft/gpl.html * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#include <config.h>#include "ComplexMsgFindWinC.h"#include "IshAppC.h"#include "MainWinC.h"#include "MsgItemC.h"#include "AppPrefC.h"#include "ReadWinC.h"#include <hgl/WArgList.h>#include <hgl/rsrc.h>#include <hgl/RowColC.h>#include <hgl/FieldViewC.h>#include <hgl/VBoxC.h>#include <hgl/HalAppC.h>#include <hgl/TextMisc.h>#include <Xm/PushB.h>#include <Xm/TextF.h>#include <Xm/RowColumn.h>#include <Xm/ToggleB.h>#include <Xm/Label.h>/*--------------------------------------------------------------- *  Constructor */ComplexMsgFindWinC::ComplexMsgFindWinC(Widget parent) : BoolExpWinC(parent){   WArgList	args;   Widget	wlist[33];   findIndex = 0;   numOp  = MsgNumExpC::LT;   dateOp = MsgDateExpC::LT;   lineOp = MsgLineExpC::LT;   byteOp = MsgByteExpC::LT;   stat   = MSG_NEW;//// Create termForm hierarchy////   RowColC	termRC//   args.Reset();   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_FORM);   args.BottomAttachment(XmATTACH_FORM);   RowColC	*termRC = new RowColC(termForm, "termRC", ARGS);   termRC->Defer(True);//// Set up 3 columns//   termRC->SetOrientation(RcROW_MAJOR);   termRC->SetColCount(3);   termRC->SetColAlignment(XmALIGNMENT_CENTER);   termRC->SetColWidthAdjust(RcADJUST_EQUAL);   termRC->SetColWidthAdjust(2, RcADJUST_ATTACH);   termRC->SetColResize(False);   termRC->SetColResize(2, True);//// Create termRC children////   PushButton		fromPB//   Label		fromContLabel//   TextField		fromTF//   PushButton		toPB//   Label		toContLabel//   TextField		toTF//   PushButton		subjPB//   Label		subjContLabel//   TextField		subjTF//   PushButton		headPB//   Label		headContLabel//   TextField		headTF//   PushButton		bodyPB//   Label		bodyContLabel//   TextField		bodyTF//   PushButton		msgPB//   Label		msgContLabel//   TextField		msgTF//   PushButton		datePB//   OptionMenu		dateOM//   TextField		dateTF//   PushButton		statPB//   Label		statIsLabel//   OptionMenu		statOM//   PushButton		numPB//   OptionMenu		numOM//   TextField		numTF//   PushButton		linePB//   OptionMenu		lineOM//   TextField		lineTF//   PushButton		bytePB//   OptionMenu		byteOM//   TextField		byteTF//   Widget fromPB = XmCreatePushButton(*termRC, "fromPB", 0,0);   Widget fromContLabel = XmCreateLabel(*termRC, "fromContLabel", 0,0);   fromTF        = CreateTextField (*termRC, "fromTF", 0,0);   Widget toPB   = XmCreatePushButton(*termRC, "toPB",   0,0);   Widget toContLabel = XmCreateLabel(*termRC, "toContLabel", 0,0);   toTF          = CreateTextField (*termRC, "toTF",   0,0);   Widget subjPB = XmCreatePushButton(*termRC, "subjPB", 0,0);   Widget subjContLabel = XmCreateLabel(*termRC, "subjContLabel", 0,0);   subjTF        = CreateTextField (*termRC, "subjTF", 0,0);   Widget headPB = XmCreatePushButton(*termRC, "headPB", 0,0);   Widget headContLabel = XmCreateLabel(*termRC, "headContLabel", 0,0);   headTF        = CreateTextField (*termRC, "headTF", 0,0);   Widget bodyPB = XmCreatePushButton(*termRC, "bodyPB", 0,0);   Widget bodyContLabel = XmCreateLabel(*termRC, "bodyContLabel", 0,0);   bodyTF        = CreateTextField (*termRC, "bodyTF", 0,0);   Widget msgPB  = XmCreatePushButton(*termRC, "msgPB",  0,0);   Widget msgContLabel = XmCreateLabel(*termRC, "msgContLabel", 0,0);   msgTF         = CreateTextField (*termRC, "msgTF",  0,0);   Widget datePB = XmCreatePushButton(*termRC, "datePB", 0,0);   Widget dateOM = XmCreateOptionMenu(*termRC, "dateOM", 0,0);   dateTF        = CreateTextField (*termRC, "dateTF", 0,0);   Widget statPB = XmCreatePushButton(*termRC, "statPB", 0,0);   Widget statIsLabel = XmCreateLabel(*termRC, "statIsLabel", 0,0);   Widget statOM = XmCreateOptionMenu(*termRC, "statOM", 0,0);   Widget numPB  = XmCreatePushButton(*termRC, "numPB",  0,0);   Widget numOM  = XmCreateOptionMenu(*termRC, "numOM",  0,0);   numTF         = CreateTextField (*termRC, "numTF",  0,0);   Widget linePB = XmCreatePushButton(*termRC, "linePB", 0,0);   Widget lineOM = XmCreateOptionMenu(*termRC, "lineOM", 0,0);   lineTF        = CreateTextField (*termRC, "lineTF", 0,0);   Widget bytePB = XmCreatePushButton(*termRC, "bytePB", 0,0);   Widget byteOM = XmCreateOptionMenu(*termRC, "byteOM", 0,0);   byteTF        = CreateTextField (*termRC, "byteTF", 0,0);   XtAddCallback(fromPB, XmNactivateCallback, (XtCallbackProc)AddFrom,		 (XtPointer)this);   XtAddCallback(toPB, XmNactivateCallback, (XtCallbackProc)AddTo,		 (XtPointer)this);   XtAddCallback(subjPB, XmNactivateCallback, (XtCallbackProc)AddSubject,		 (XtPointer)this);   XtAddCallback(headPB, XmNactivateCallback, (XtCallbackProc)AddHead,		 (XtPointer)this);   XtAddCallback(bodyPB, XmNactivateCallback, (XtCallbackProc)AddBody,		 (XtPointer)this);   XtAddCallback(msgPB, XmNactivateCallback, (XtCallbackProc)AddMsg,		 (XtPointer)this);   XtAddCallback(datePB, XmNactivateCallback, (XtCallbackProc)AddDate,		 (XtPointer)this);   XtAddCallback(statPB, XmNactivateCallback, (XtCallbackProc)AddStatus,		 (XtPointer)this);   XtAddCallback(numPB,  XmNactivateCallback, (XtCallbackProc)AddNumber,		 (XtPointer)this);   XtAddCallback(linePB, XmNactivateCallback, (XtCallbackProc)AddLine,		 (XtPointer)this);   XtAddCallback(bytePB, XmNactivateCallback, (XtCallbackProc)AddByte,		 (XtPointer)this);   XtAddCallback(fromTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)fromPB);   XtAddCallback(toTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)toPB);   XtAddCallback(subjTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)subjPB);   XtAddCallback(headTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)headPB);   XtAddCallback(bodyTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)bodyPB);   XtAddCallback(msgTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)msgPB);   XtAddCallback(dateTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)datePB);   XtAddCallback(numTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)numPB);   XtAddCallback(lineTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)linePB);   XtAddCallback(byteTF, XmNvalueChangedCallback, (XtCallbackProc)EnablePB,		 (XtPointer)bytePB);//// Set the initial state of the push buttons//   EnablePB(fromTF, fromPB, NULL);   EnablePB(toTF,   toPB,   NULL);   EnablePB(subjTF, subjPB, NULL);   EnablePB(headTF, headPB, NULL);   EnablePB(bodyTF, bodyPB, NULL);   EnablePB(msgTF,  msgPB,  NULL);   EnablePB(dateTF, datePB, NULL);   EnablePB(numTF,  numPB,  NULL);   EnablePB(lineTF, linePB, NULL);   EnablePB(byteTF, bytePB, NULL);//// Create datePD hierarchy////    PulldowmMenu	datePD//       PushButton	   ltPB//       PushButton	   lePB//       PushButton	   eqPB//       PushButton	   gePB//       PushButton	   gtPB//       PushButton	   nePB//   Widget	datePD = XmCreatePulldownMenu(*termRC, "datePD", 0,0);   args.Reset();   args.UserData((XtPointer)MsgDateExpC::LT);   Widget ltPB = XmCreatePushButton(datePD, "ltPB", ARGS);   args.UserData((XtPointer)MsgDateExpC::LE);   Widget lePB = XmCreatePushButton(datePD, "lePB", ARGS);   args.UserData((XtPointer)MsgDateExpC::EQ);   Widget eqPB = XmCreatePushButton(datePD, "eqPB", ARGS);   args.UserData((XtPointer)MsgDateExpC::GE);   Widget gePB = XmCreatePushButton(datePD, "gePB", ARGS);   args.UserData((XtPointer)MsgDateExpC::GT);   Widget gtPB = XmCreatePushButton(datePD, "gtPB", ARGS);   args.UserData((XtPointer)MsgDateExpC::NE);   Widget nePB = XmCreatePushButton(datePD, "nePB", ARGS);   XtAddCallback(ltPB, XmNactivateCallback, (XtCallbackProc)ChangeDateOp,		 (XtPointer)this);   XtAddCallback(lePB, XmNactivateCallback, (XtCallbackProc)ChangeDateOp,		 (XtPointer)this);   XtAddCallback(eqPB, XmNactivateCallback, (XtCallbackProc)ChangeDateOp,		 (XtPointer)this);   XtAddCallback(gePB, XmNactivateCallback, (XtCallbackProc)ChangeDateOp,		 (XtPointer)this);   XtAddCallback(gtPB, XmNactivateCallback, (XtCallbackProc)ChangeDateOp,		 (XtPointer)this);   XtAddCallback(nePB, XmNactivateCallback, (XtCallbackProc)ChangeDateOp,		 (XtPointer)this);   XtVaSetValues(dateOM, XmNsubMenuId, datePD, NULL);   wlist[0] = ltPB;   wlist[1] = lePB;   wlist[2] = eqPB;   wlist[3] = gePB;   wlist[4] = gtPB;   wlist[5] = nePB;   XtManageChildren(wlist, 6);	// datePD children//// Create statPD hierarchy////    PulldowmMenu	statPD//       PushButton	   newPB//       PushButton	   readPB//       PushButton	   deletedPB//       PushButton	   savedPB//       PushButton	   repliedPB//       PushButton	   forwardedPB//       PushButton	   resentPB//       PushButton	   printedPB//       PushButton	   filteredPB//       PushButton	   mimePB//   Widget	statPD = XmCreatePulldownMenu(*termRC, "statPD", 0,0);   args.Reset();   args.UserData((XtPointer)MSG_NEW);   Widget	newPB       = XmCreatePushButton(statPD, "newPB",       ARGS);   args.UserData((XtPointer)MSG_READ);   Widget	readPB      = XmCreatePushButton(statPD, "readPB",      ARGS);   args.UserData((XtPointer)MSG_DELETED);   Widget	deletedPB   = XmCreatePushButton(statPD, "deletedPB",   ARGS);   args.UserData((XtPointer)MSG_SAVED);   Widget	savedPB     = XmCreatePushButton(statPD, "savedPB",     ARGS);   args.UserData((XtPointer)MSG_REPLIED);   Widget	repliedPB   = XmCreatePushButton(statPD, "repliedPB",   ARGS);   args.UserData((XtPointer)MSG_FORWARDED);   Widget	forwardedPB = XmCreatePushButton(statPD, "forwardedPB", ARGS);   args.UserData((XtPointer)MSG_RESENT);   Widget	resentPB    = XmCreatePushButton(statPD, "resentPB",    ARGS);   args.UserData((XtPointer)MSG_PRINTED);   Widget	printedPB   = XmCreatePushButton(statPD, "printedPB",   ARGS);   args.UserData((XtPointer)MSG_FILTERED);   Widget	filteredPB  = XmCreatePushButton(statPD, "filteredPB",  ARGS);   args.UserData((XtPointer)MSG_MIME);   Widget	mimePB      = XmCreatePushButton(statPD, "mimePB",      ARGS);   AddActivate(newPB,		ChangeStatus, this);   AddActivate(readPB,		ChangeStatus, this);   AddActivate(deletedPB,	ChangeStatus, this);   AddActivate(savedPB,		ChangeStatus, this);   AddActivate(repliedPB,	ChangeStatus, this);   AddActivate(forwardedPB,	ChangeStatus, this);   AddActivate(resentPB,	ChangeStatus, this);   AddActivate(printedPB,	ChangeStatus, this);   AddActivate(filteredPB,	ChangeStatus, this);   AddActivate(mimePB,		ChangeStatus, this);   XtVaSetValues(statOM, XmNsubMenuId, statPD, NULL);   wlist[0] = newPB;   wlist[1] = readPB;   wlist[2] = savedPB;   wlist[3] = deletedPB;   wlist[4] = repliedPB;   wlist[5] = forwardedPB;   wlist[6] = resentPB;   wlist[7] = printedPB;   wlist[8] = filteredPB;   wlist[9] = mimePB;   XtManageChildren(wlist, 10);	// statPD children//// Create numPD hierarchy////    PulldowmMenu	numPD//       PushButton	   ltPB

⌨️ 快捷键说明

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