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

📄 sendwinp.c

📁 linux下的E_MAIL客户端源码
💻 C
📖 第 1 页 / 共 5 页
字号:
	 args.TopAttachment(XmATTACH_FORM);	 args.BottomAttachment(XmATTACH_POSITION, 1);	 XtSetValues(tw1, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw1, ARGS);	 XtSetValues(bw1, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 1);	 args.BottomAttachment(XmATTACH_POSITION, 2);	 XtSetValues(tw2, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw2, ARGS);	 XtSetValues(bw2, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 2);	 args.BottomAttachment(XmATTACH_POSITION, 3);	 XtSetValues(tw3, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw3, ARGS);	 XtSetValues(bw3, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 3);	 args.BottomAttachment(XmATTACH_FORM);	 XtSetValues(tw4, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw4, ARGS);	 XtSetValues(bw4, ARGS);      }      else if ( visCount == 5 ) {	 Widget	lw3 = *visLabList[2];	 Widget	tw3 = *visTexList[2];	 Widget	bw3 = *visButList[2];	 Widget	lw4 = *visLabList[3];	 Widget	tw4 = *visTexList[3];	 Widget	bw4 = *visButList[3];	 Widget	lw5 = *visLabList[4];	 Widget	tw5 = *visTexList[4];	 Widget	bw5 = *visButList[4];	 args.TopAttachment(XmATTACH_FORM);	 args.BottomAttachment(XmATTACH_POSITION, 1);	 XtSetValues(tw1, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw1, ARGS);	 XtSetValues(bw1, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 1);	 args.BottomAttachment(XmATTACH_POSITION, 2);	 XtSetValues(tw2, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw2, ARGS);	 XtSetValues(bw2, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 2);	 args.BottomAttachment(XmATTACH_POSITION, 3);	 XtSetValues(tw3, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw3, ARGS);	 XtSetValues(bw3, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 3);	 args.BottomAttachment(XmATTACH_POSITION, 4);	 XtSetValues(tw4, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw4, ARGS);	 XtSetValues(bw4, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 4);	 args.BottomAttachment(XmATTACH_FORM);	 XtSetValues(tw5, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw5, ARGS);	 XtSetValues(bw5, ARGS);      }      else {	// All six visible	 Widget	lw3 = *visLabList[2];	 Widget	tw3 = *visTexList[2];	 Widget	bw3 = *visButList[2];	 Widget	lw4 = *visLabList[3];	 Widget	tw4 = *visTexList[3];	 Widget	bw4 = *visButList[3];	 Widget	lw5 = *visLabList[4];	 Widget	tw5 = *visTexList[4];	 Widget	bw5 = *visButList[4];	 Widget	lw6 = *visLabList[5];	 Widget	tw6 = *visTexList[5];	 Widget	bw6 = *visButList[5];	 args.TopAttachment(XmATTACH_FORM);	 args.BottomAttachment(XmATTACH_POSITION, 1);	 XtSetValues(tw1, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw1, ARGS);	 XtSetValues(bw1, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 1);	 args.BottomAttachment(XmATTACH_POSITION, 2);	 XtSetValues(tw2, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw2, ARGS);	 XtSetValues(bw2, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 2);	 args.BottomAttachment(XmATTACH_POSITION, 3);	 XtSetValues(tw3, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw3, ARGS);	 XtSetValues(bw3, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 3);	 args.BottomAttachment(XmATTACH_POSITION, 4);	 XtSetValues(tw4, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw4, ARGS);	 XtSetValues(bw4, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 4);	 args.BottomAttachment(XmATTACH_POSITION, 5);	 XtSetValues(tw5, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw5, ARGS);	 XtSetValues(bw5, ARGS);	 args.TopAttachment(XmATTACH_POSITION, 5);	 args.BottomAttachment(XmATTACH_FORM);	 XtSetValues(tw6, ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(lw6, ARGS);	 XtSetValues(bw6, ARGS);      }#else      args.Reset();      for (i=0; i<visCount; i++) {	 if ( i == 0	      ) args.TopAttachment(XmATTACH_FORM);	 else			args.TopAttachment(XmATTACH_POSITION, i);	 if ( i == visCount-1 ) args.BottomAttachment(XmATTACH_FORM);	 else			args.BottomAttachment(XmATTACH_POSITION, i+1);	 XtSetValues(*visTexList[i], ARGS);	 args.BottomAttachment(XmATTACH_NONE);	 XtSetValues(*visLabList[i], ARGS);	 XtSetValues(*visButList[i], ARGS);      }#endif//// Manage the visible children//      if ( visLabList.size() > 0 ) {	 XtManageChildren(visLabList.start(), visLabList.size());	 XtManageChildren(visTexList.start(), visTexList.size());	 if ( visButList.size() > 0 )	    XtManageChildren(visButList.start(), visButList.size());      }   } // End if we can only have one header field per line//// If we can have more than one header per line, lay out the fields//   else {//// Build lists of the visible and hidden fields//      WidgetListC	visList, hidList;      visList.add(pane->toForm);      visList.add(pane->subForm);      if ( pub->ccVis    ) visList.add(pane->ccForm);      else	           hidList.add(pane->ccForm);      if ( pub->bccVis   ) visList.add(pane->bccForm);      else	           hidList.add(pane->bccForm);      if ( pub->fccVis   ) visList.add(pane->fccForm);      else	           hidList.add(pane->fccForm);      if ( pub->otherVis ) visList.add(pane->otherForm);      else	           hidList.add(pane->otherForm);      visCount = visList.size();      int	i;      for (i=0; !changed && i<visCount; i++) {	 Widget	w = *visList[i];	 if ( !XtIsManaged(w) ) changed = True;      }      u_int	hidCount = hidList.size();      for (i=0; !changed && i<hidCount; i++) {	 Widget	w = *hidList[i];	 if ( XtIsManaged(w) ) changed = True;      }      if ( !changed ) return;//// Unmanage all children//      if ( hidList.size() > 0 )	 XtUnmanageChildren(hidList.start(), hidList.size());      if ( visList.size() > 0 )	 XtUnmanageChildren(visList.start(), visList.size());      switch (visCount) {         case 2:  Place2HeaderFields(visList); break;	 case 3:  Place3HeaderFields(visList); break;	 case 4:  Place4HeaderFields(visList); break;	 case 5:  Place5HeaderFields(visList); break;	 default: Place6HeaderFields(visList); break;      }//// Manage the visible children//      XtManageChildren(visList.start(), visList.size());   } // End if we can have more that one header field per line//// Restore the width of the form//   if ( paneWd > 0 )      XtVaSetValues(pane->headForm, XmNwidth, paneWd, NULL);   XtManageChild(pane->headForm);//// Update the number of rows//   if ( rowsChanged ) {      int	rows = ishApp->compPrefs->headRows;      pane->toText->SetSize (rows, pane->toText->ColumnCount());      pane->subText->SetSize(rows, pane->subText->ColumnCount());      if ( pub->ccVis )	 pane->ccText->SetSize(rows, pane->ccText->ColumnCount());      if ( pub->bccVis )	 pane->bccText->SetSize(rows, pane->bccText->ColumnCount());      if ( pub->fccVis )	 pane->fccText->SetSize(rows, pane->fccText->ColumnCount());      if ( pub->otherVis )	 pane->otherText->SetSize(rows, pane->otherText->ColumnCount());   }//// Copy text if we've switched panes//   if ( curHeadPane && pane != curHeadPane ) {      StringC	tmpStr;      HeaderPaneT	*c = curHeadPane;      c->toText->GetString(tmpStr);      pane->toText->SetString(tmpStr);      tmpStr.Clear();      c->subText->GetString(tmpStr);      pane->subText->SetString(tmpStr);      if ( pub->ccVis ) {	 tmpStr.Clear();	 c->ccText->GetString(tmpStr);	 pane->ccText->SetString(tmpStr);      }      if ( pub->bccVis ) {	 tmpStr.Clear();	 c->bccText->GetString(tmpStr);	 pane->bccText->SetString(tmpStr);      }      if ( pub->fccVis ) {	 tmpStr.Clear();	 c->fccText->GetString(tmpStr);	 pane->fccText->SetString(tmpStr);      }      if ( pub->otherVis ) {	 tmpStr.Clear();	 c->otherText->GetString(tmpStr);	 pane->otherText->SetString(tmpStr);      }   } // End if text needs to be copied   curHeadPane = pane;   toText      = pane->toText;   subText     = pane->subText;   ccText      = pane->ccText;   bccText     = pane->bccText;   fccText     = pane->fccText;   otherText   = pane->otherText;} // End PlaceHeaderFields/*--------------------------------------------------------------- *  Routine to position 2 header fields */voidSendWinP::Place2HeaderFields(WidgetListC& visList){//// If two fields are visible, make://    1 row  of 2 or//   Widget	w1 = *visList[0];   Widget	w2 = *visList[1];   WArgList	args;   args.TopAttachment(XmATTACH_FORM);   args.LeftAttachment(XmATTACH_FORM);   args.RightAttachment(XmATTACH_POSITION, 49);   args.BottomAttachment(XmATTACH_FORM);   XtSetValues(w1, ARGS);   args.LeftAttachment(XmATTACH_POSITION, 51);   args.RightAttachment(XmATTACH_FORM);   XtSetValues(w2, ARGS);} // End Place2HeaderFields/*--------------------------------------------------------------- *  Routine to position 3 header fields */voidSendWinP::Place3HeaderFields(WidgetListC& visList){//// If three fields are visible, make://    1 row  of 3 or//    1 row  of 2 and 1 row of 1//   Widget	w1 = *visList[0];   Widget	w2 = *visList[1];   Widget	w3 = *visList[2];   WArgList	args;   if ( pub->maxFieldsPerLine == 2 ) {      args.TopAttachment(XmATTACH_FORM);      args.LeftAttachment(XmATTACH_FORM);      args.RightAttachment(XmATTACH_POSITION, 49);      args.BottomAttachment(XmATTACH_POSITION, 49);      XtSetValues(w1, ARGS);      args.LeftAttachment(XmATTACH_POSITION, 51);      args.RightAttachment(XmATTACH_FORM);      XtSetValues(w2, ARGS);      args.TopAttachment(XmATTACH_POSITION, 51);      args.LeftAttachment(XmATTACH_FORM);      args.RightAttachment(XmATTACH_FORM);      args.BottomAttachment(XmATTACH_FORM);      XtSetValues(w3, ARGS);   }   else {      args.TopAttachment(XmATTACH_FORM);      args.LeftAttachment(XmATTACH_FORM);      args.RightAttachment(XmATTACH_POSITION, 33);      args.BottomAttachment(XmATTACH_FORM);      XtSetValues(w1, ARGS);      args.LeftAttachment(XmATTACH_POSITION, 34);      args.RightAttachment(XmATTACH_POSITION, 66);      XtSetValues(w2, ARGS);      args.LeftAttachment(XmATTACH_POSITION, 67);      args.RightAttachment(XmATTACH_FORM);      XtSetValues(w3, ARGS);   }} // End Place3HeaderFields/*--------------------------------------------------------------- *  Routine to position the header fields */voidSendWinP::Place4HeaderFields(WidgetListC& visList){//// If four fields are visible, make://    1 row  of 4 or//    2 rows of 2 or//   Widget	w1 = *visList[0];   Widget	w2 = *visList[1];   Widget	w3 = *visList[2];   Widget	w4 = *visList[3];   WArgList	args;   if ( pub->maxFieldsPerLine < 4 ) {      args.TopAttachment(XmATTACH_FORM);      args.LeftAttachment(XmATTACH_FORM);      args.RightAttachment(XmATTACH_POSITION, 49);      args.BottomAttachment(XmATTACH_POSITION, 49);      XtSetValues(w1, ARGS);      args.LeftAttachment(XmATTACH_POSITION, 51);      args.RightAttachment(XmATTACH_FORM);      XtSetValues(w2, ARGS);      args.TopAttachment(XmATTACH_POSITION, 51);      args.LeftAttachment(XmATTACH_FORM);      args.RightAttach

⌨️ 快捷键说明

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