📄 sendwinp.c
字号:
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 + -