📄 sumprefwinc.c
字号:
wlist[2] = datePosTF; wlist[3] = NULL; wlist[4] = dateMinTF; wlist[5] = NULL; wlist[6] = dateMaxTF; wlist[7] = NULL; wlist[8] = dateTitleTF; fieldRC->AddChildren(wlist, 9); wlist[0] = lineTB; wlist[1] = NULL; wlist[2] = linePosTF; wlist[3] = NULL; wlist[4] = lineMinTF; wlist[5] = NULL; wlist[6] = lineMaxTF; wlist[7] = NULL; wlist[8] = lineTitleTF; fieldRC->AddChildren(wlist, 9); wlist[0] = byteTB; wlist[1] = NULL; wlist[2] = bytePosTF; wlist[3] = NULL; wlist[4] = byteMinTF; wlist[5] = NULL; wlist[6] = byteMaxTF; wlist[7] = NULL; wlist[8] = byteTitleTF; fieldRC->AddChildren(wlist, 9);//// Center all the rows// fieldRC->SetRowAlignment(XmALIGNMENT_CENTER);//// Leave the heights alone in all rows except the first// fieldRC->SetRowHeightAdjust(RcADJUST_NONE); fieldRC->SetRowHeightAdjust(0, RcADJUST_EQUAL);//// Don't allow the rows to be resized// fieldRC->SetRowResize(False); fieldRC->Defer(False);//// Create dateFormatForm hierarchy//// dateFormatForm// Label dateFormatLabel// TextField dateFormatTF// args.Reset(); args.TopAttachment(XmATTACH_FORM); args.LeftAttachment(XmATTACH_FORM); args.RightAttachment(XmATTACH_NONE); args.BottomAttachment(XmATTACH_FORM); Widget dateFormatLabel = XmCreateLabel(dateFormatForm, "dateFormatLabel", ARGS); args.LeftAttachment(XmATTACH_WIDGET, dateFormatLabel); args.RightAttachment(XmATTACH_FORM); dateFormatTF = CreateTextField(dateFormatForm, "dateFormatTF", ARGS); XtManageChild(dateFormatLabel); XtManageChild(dateFormatTF); wlist[0] = *fieldRC; wlist[1] = iconTB; wlist[2] = dateFormatForm; XtManageChildren(wlist, 3); // appForm children HandleHelp();//// Initialize values// SumPrefC *prefs = ishApp->sumPrefs; SumFieldC::SumFieldType t = SumFieldC::MSG_NUM; int c = prefs->sumColumn[t]; SumFieldC *f = &prefs->sumFieldList[c]; XmToggleButtonSetState(numberTB, f->show, False); XmTextFieldSetString(numberPosTF, StringOf(f->pos)); XmTextFieldSetString(numberMinTF, FieldOf(f->min)); XmTextFieldSetString(numberMaxTF, FieldOf(f->max)); XmTextFieldSetString(numberTitleTF, f->title); t = SumFieldC::STATUS; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; XmToggleButtonSetState(statusTB, f->show, False); XmTextFieldSetString(statusPosTF, StringOf(f->pos)); XmTextFieldSetString(statusMinTF, FieldOf(f->min)); XmTextFieldSetString(statusMaxTF, FieldOf(f->max)); XmTextFieldSetString(statusTitleTF, f->title); t = SumFieldC::FROM; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; XmToggleButtonSetState(senderTB, f->show, False); XmTextFieldSetString(senderPosTF, StringOf(f->pos)); XmTextFieldSetString(senderMinTF, FieldOf(f->min)); XmTextFieldSetString(senderMaxTF, FieldOf(f->max)); XmTextFieldSetString(senderTitleTF, f->title); t = SumFieldC::SUBJECT; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; XmToggleButtonSetState(subjectTB, f->show, False); XmTextFieldSetString(subjectPosTF, StringOf(f->pos)); XmTextFieldSetString(subjectMinTF, FieldOf(f->min)); XmTextFieldSetString(subjectMaxTF, FieldOf(f->max)); XmTextFieldSetString(subjectTitleTF, f->title); t = SumFieldC::DATE; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; XmToggleButtonSetState(dateTB, f->show, False); XmTextFieldSetString(datePosTF, StringOf(f->pos)); XmTextFieldSetString(dateMinTF, FieldOf(f->min)); XmTextFieldSetString(dateMaxTF, FieldOf(f->max)); XmTextFieldSetString(dateTitleTF, f->title); t = SumFieldC::LINES; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; XmToggleButtonSetState(lineTB, f->show, False); XmTextFieldSetString(linePosTF, StringOf(f->pos)); XmTextFieldSetString(lineMinTF, FieldOf(f->min)); XmTextFieldSetString(lineMaxTF, FieldOf(f->max)); XmTextFieldSetString(lineTitleTF, f->title); t = SumFieldC::BYTES; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; XmToggleButtonSetState(byteTB, f->show, False); XmTextFieldSetString(bytePosTF, StringOf(f->pos)); XmTextFieldSetString(byteMinTF, FieldOf(f->min)); XmTextFieldSetString(byteMaxTF, FieldOf(f->max)); XmTextFieldSetString(byteTitleTF, f->title); XmToggleButtonSetState(iconTB, prefs->showPixmaps, False); XmTextFieldSetString(dateFormatTF, prefs->dateFormat);} // End constructor/*--------------------------------------------------------------- * Method to display window settings */voidSumPrefWinC::Show(){ SumPrefC *prefs = ishApp->sumPrefs; FieldViewC& view = ishApp->mainWin->FieldView();//// Update widths that may have changed// SumFieldC::SumFieldType t = SumFieldC::MSG_NUM; int c = prefs->sumColumn[t]; SumFieldC *f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(numberMinTF, FieldOf(f->min)); XmTextFieldSetString(numberMaxTF, FieldOf(f->max)); t = SumFieldC::STATUS; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(statusMinTF, FieldOf(f->min)); XmTextFieldSetString(statusMaxTF, FieldOf(f->max)); t = SumFieldC::FROM; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(senderMinTF, FieldOf(f->min)); XmTextFieldSetString(senderMaxTF, FieldOf(f->max)); t = SumFieldC::SUBJECT; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(subjectMinTF, FieldOf(f->min)); XmTextFieldSetString(subjectMaxTF, FieldOf(f->max)); t = SumFieldC::DATE; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(dateMinTF, FieldOf(f->min)); XmTextFieldSetString(dateMaxTF, FieldOf(f->max)); t = SumFieldC::LINES; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(lineMinTF, FieldOf(f->min)); XmTextFieldSetString(lineMaxTF, FieldOf(f->max)); t = SumFieldC::BYTES; c = prefs->sumColumn[t]; f = &prefs->sumFieldList[c]; f->min = view.ColumnMinWidth(c); f->max = view.ColumnMaxWidth(c); XmTextFieldSetString(byteMinTF, FieldOf(f->min)); XmTextFieldSetString(byteMaxTF, FieldOf(f->max)); OptWinC::Show();} // End Show/*--------------------------------------------------------------- * Method to apply settings */BooleanSumPrefWinC::Apply(){ SumPrefC *prefs = ishApp->sumPrefs; BusyCursor(True);//// Initialize the field structures// SumFieldC::SumFieldType t = SumFieldC::MSG_NUM; SumFieldC *f = &prefs->sumFieldList[t]; f->Set(t, numberTB, numberPosTF, numberMinTF, numberMaxTF, numberTitleTF); t = SumFieldC::STATUS; f = &prefs->sumFieldList[t]; f->Set(t, statusTB, statusPosTF, statusMinTF, statusMaxTF, statusTitleTF); t = SumFieldC::FROM; f = &prefs->sumFieldList[t]; f->Set(t, senderTB, senderPosTF, senderMinTF, senderMaxTF, senderTitleTF); t = SumFieldC::SUBJECT; f = &prefs->sumFieldList[t]; f->Set(t, subjectTB, subjectPosTF, subjectMinTF, subjectMaxTF, subjectTitleTF); t = SumFieldC::DATE; f = &prefs->sumFieldList[t]; f->Set(t, dateTB, datePosTF, dateMinTF, dateMaxTF, dateTitleTF); t = SumFieldC::LINES; f = &prefs->sumFieldList[t]; f->Set(t, lineTB, linePosTF, lineMinTF, lineMaxTF, lineTitleTF); t = SumFieldC::BYTES; f = &prefs->sumFieldList[t]; f->Set(t, byteTB, bytePosTF, byteMinTF, byteMaxTF, byteTitleTF); Boolean showPixmaps = XmToggleButtonGetState(iconTB);//// Make sure at least one field is selected// Boolean fieldVis = showPixmaps; for (int i=0; !fieldVis && i<SumFieldC::SUMMARY_FIELD_COUNT; i++) { f = &prefs->sumFieldList[i]; if ( f->show ) fieldVis = True; } if ( !fieldVis ) { StringC errmsg = "You must select at least one field to be displayed."; PopupMessage(errmsg); return False; }//// Put fields in order// prefs->SortFields(); prefs->showPixmaps = showPixmaps; char *cs = XmTextFieldGetString(dateFormatTF); prefs->dateFormat = cs; XtFree(cs);//// Update main and trash windows// ishApp->mainWin->UpdateFields(); if ( prefs->showPixmaps ) ishApp->mainWin->FieldView().ShowPixmaps(); else ishApp->mainWin->FieldView().HidePixmaps(); if ( ishApp->undelWin ) { UndelWinC *uw = ishApp->undelWin; uw->UpdateFields(); if ( prefs->showPixmaps ) uw->fieldView->ShowPixmaps(); else uw->fieldView->HidePixmaps(); } prefs->WriteDatabase();//// Write to file if necessary// if ( applyAll ) prefs->WriteFile(); BusyCursor(False); return True;} // End Apply
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -