1
////////////////////////////////////////////////////////////////////////////////
3
// This file is part of Toolkit for Conceptual Modeling (TCM).
4
// (c) copyright 1995, Vrije Universiteit Amsterdam.
5
// Author: Frank Dehne (frank@cs.vu.nl).
7
// TCM is free software; you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation; either version 2 of the License, or
10
// (at your option) any later version.
12
// TCM is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
17
// You should have received a copy of the GNU General Public License
18
// along with TCM; if not, write to the Free Software
19
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21
////////////////////////////////////////////////////////////////////////////////
22
#include "editstubs.h"
23
#include "inlineeditor.h"
24
#include "promptdialog.h"
25
#include "scaledialog.h"
26
#include "replacedialog.h"
27
#include "texteditdialog.h"
28
#include "fileselectiondialog.h"
29
#include "colorchooserdialog.h"
30
#include "ntogglelistdialog.h"
31
#include "fontchooserdialog.h"
39
#include <Xm/ToggleB.h>
42
void EditStubs::HelpCB(Widget w, XtPointer cd, XtPointer) {
43
Helper::HelpTopicType tp;
44
XtVaGetValues(w, XmNuserData, &tp, 0);
45
((Helper *)cd)->Help(tp);
48
void EditStubs::LoadOKCB(Widget, XtPointer clientData, XtPointer) {
49
Document *doc = (Document *)clientData;
51
doc->GetFileSelectionDialog()->GetFileName(&fbuf);
56
void EditStubs::CancelFSCB(Widget, XtPointer clientData, XtPointer) {
57
((Document *)clientData)->SetFSDir();
60
void EditStubs::SaveAsOKCB(Widget, XtPointer clientData, XtPointer) {
61
Document *doc = (Document *)clientData;
63
doc->GetFileSelectionDialog()->GetFileName(&fbuf);
68
void EditStubs::AnnotationOKCB(Widget, XtPointer clientData, XtPointer) {
69
Document *doc = (Document *)clientData;
73
doc->GetDocAnnotationDialog()->GetTextString(&t);
74
doc->SetAnnotation(&t);
77
void EditStubs::SetModifiedCB(Widget w, XtPointer cd, XtPointer) {
78
((Document *)cd)->SetModified(XmToggleButtonGetState(w));
81
void EditStubs::SetAutoResizeCB(Widget w, XtPointer cd, XtPointer) {
82
Viewer *v = (Viewer *)cd;
83
bool s = XmToggleButtonGetState(w);
85
DrawWindow *mainwindow = v->GetMainWindow();
86
mainwindow->SetAutoResize(s);
87
Menu *menu = mainwindow->GetViewMenu();
89
Menu::SetChildToggleState(menu->GetWidget(), Menu::PULLDOWN,
94
void EditStubs::SetInlineEditCB(Widget w, XtPointer cd, XtPointer) {
95
Viewer *v = (Viewer *)cd;
96
bool s = XmToggleButtonGetState(w);
98
DrawWindow *mainwindow = v->GetMainWindow();
99
mainwindow->SetInlineEdit(s);
100
Menu *menu = mainwindow->GetViewMenu();
102
Menu::SetChildToggleState(menu->GetWidget(), Menu::PULLDOWN,
103
"In-line Editor", s);
107
void EditStubs::SetHierarchicCB(Widget w, XtPointer cd, XtPointer) {
108
Document *d = (Document *)cd;
109
bool s = XmToggleButtonGetState(w);
110
if ( ! d->AllowHierarchic() )
113
// DrawWindow *mainwindow = d->GetViewer()->GetMainWindow();
114
// mainwindow->SetHierarchic(s);
115
// Menu *menu = mainwindow->GetDocumentMenu();
117
// Menu::SetChildToggleState(menu->GetWidget(),
118
// Menu::PULLDOWN, "Hierarchic Document", s);
119
// Menu *menu = mainwindow->GetViewMenu();
121
// // enable / disable Zoom in/out
125
void EditStubs::ChangeNameCB(Widget w, XtPointer cd, XtPointer) {
126
char *text = XmTextGetString(w);
128
((Document *)cd)->NewName(&name);
132
void EditStubs::ChangeDirCB(Widget w, XtPointer cd, XtPointer) {
133
char *text = XmTextGetString(w);
135
((Document *)cd)->NewDir(&name);
139
void EditStubs::NewCB(Widget, XtPointer cd, XtPointer) {
140
((Document *)cd)->New();
143
void EditStubs::LoadCB(Widget, XtPointer cd, XtPointer) {
144
((Document *)cd)->Load();
147
void EditStubs::AppendCB(Widget, XtPointer cd, XtPointer) {
148
((Document *)cd)->Append();
151
void EditStubs::SaveCB(Widget, XtPointer cd, XtPointer) {
152
((Document *)cd)->Save();
155
void EditStubs::SaveAsCB(Widget, XtPointer cd, XtPointer) {
156
((Document *)cd)->SaveAs();
159
void EditStubs::SaveSelectionAsCB(Widget, XtPointer cd, XtPointer) {
160
((Document *)cd)->SaveSelectionAs();
163
void EditStubs::QuitCB(Widget, XtPointer cd, XtPointer) {
164
((Document *)cd)->Quit();
167
void EditStubs::FindCB(Widget, XtPointer cd, XtPointer) {
168
((Document *)cd)->Find();
171
void EditStubs::ReplaceCB(Widget, XtPointer cd, XtPointer) {
172
((Document *)cd)->Replace();
175
void EditStubs::DocumentInfoCB(Widget, XtPointer cd, XtPointer) {
176
((Document *)cd)->ShowDocInfo();
179
void EditStubs::DocumentSummaryCB(Widget, XtPointer cd, XtPointer) {
180
((Document *)cd)->ShowSummary();
183
void EditStubs::DocumentSourceCB(Widget, XtPointer cd, XtPointer) {
184
((Document *)cd)->ShowSource();
187
void EditStubs::DocumentSourceOKCB(Widget, XtPointer cd, XtPointer) {
188
((Document *)cd)->SaveSource();
191
void EditStubs::CheckDocumentCB(Widget, XtPointer cd, XtPointer) {
192
((Document *)cd)->CheckDocument();
195
void EditStubs::AnnotateDocumentCB(Widget, XtPointer cd, XtPointer) {
196
((Document *)cd)->Annotate();
199
void EditStubs::ModelCheckPropertyCB(Widget, XtPointer cd, XtPointer) {
200
((Document *)cd)->ModelCheckProperty();
203
void EditStubs::ClearTraceCB(Widget, XtPointer cd, XtPointer) {
204
((Document *)cd)->ClearTrace();
208
void EditStubs::MoveCB(Widget w, XtPointer cd, XtPointer) {
210
XtVaGetValues(w, XmNuserData, &num, 0);
211
((Document *)cd)->Move((Document::MoveType)num);
214
void EditStubs::MakeLargerCB(Widget, XtPointer cd, XtPointer) {
215
((Scaler *)cd)->MakeLarger();
218
void EditStubs::MakeSmallerCB(Widget, XtPointer cd, XtPointer) {
219
((Scaler *)cd)->MakeSmaller();
222
void EditStubs::ScaleFactorCB(Widget, XtPointer cd, XtPointer) {
223
((Scaler *)cd)->ScaleFactor();
226
void EditStubs::NormalScaleCB(Widget, XtPointer cd, XtPointer) {
227
((Scaler *)cd)->NormalScale();
230
void EditStubs::WholeDrawingCB(Widget, XtPointer cd, XtPointer) {
231
((Scaler *)cd)->WholeDrawing();
234
void EditStubs::ScaleFactorOKCB(Widget, XtPointer clientData, XtPointer) {
235
Scaler *z = (Scaler *)clientData;
236
z->SetScaleFactor((double)z->GetScaleDialog()->GetScaleValue()/10);
239
void EditStubs::FindAllCB(Widget, XtPointer clientData, XtPointer) {
240
Document *doc = (Document *)clientData;
242
FindDialog *f = doc->GetFindDialog();
243
f->GetTextString(&s);
244
doc->FindAll(&s, f->SensitiveOn(), f->SubstringOn(), f->NameOnlyOn());
247
void EditStubs::FindNextCB(Widget, XtPointer clientData, XtPointer) {
248
Document *doc = (Document *)clientData;
250
FindDialog *f = doc->GetFindDialog();
251
f->GetTextString(&s);
252
doc->FindNext(&s, f->SensitiveOn(), f->SubstringOn(), f->NameOnlyOn());
255
void EditStubs::ReplaceFindCB(Widget, XtPointer clientData, XtPointer) {
256
Document *doc = (Document *)clientData;
258
ReplaceDialog *r = doc->GetReplaceDialog();
259
r->GetTextString(&s);
260
doc->FindNext(&s, r->SensitiveOn(), r->SubstringOn(), r->NameOnlyOn());
263
void EditStubs::ReplaceNextCB(Widget, XtPointer clientData, XtPointer) {
264
Document *doc = (Document *)clientData;
266
ReplaceDialog *r = doc->GetReplaceDialog();
267
r->GetTextString(&s1);
268
r->GetReplaceText(&s2);
269
doc->ReplaceNext(&s1, &s2, r->SensitiveOn(), r->SubstringOn(),
273
void EditStubs::ReplaceAllCB(Widget, XtPointer clientData, XtPointer) {
274
Document *doc = (Document *)clientData;
276
ReplaceDialog *r = doc->GetReplaceDialog();
277
r->GetTextString(&s1);
278
r->GetReplaceText(&s2);
279
doc->ReplaceAll(&s1, &s2, r->SensitiveOn(), r->SubstringOn(),
283
void EditStubs::SaveAsPSCB(Widget, XtPointer clientData, XtPointer) {
284
Printer *p = (Printer *)clientData;
286
p->GetFileSelectionDialog()->GetFileName(&s);
290
void EditStubs::SaveAsEPSCB(Widget, XtPointer clientData, XtPointer) {
291
Printer *p = (Printer *)clientData;
293
p->GetFileSelectionDialog()->GetFileName(&s);
297
void EditStubs::SaveAsFigTexCB(Widget, XtPointer clientData, XtPointer) {
298
Printer *p = (Printer *)clientData;
300
p->GetFileSelectionDialog()->GetFileName(&s);
301
p->DoSaveAsFigTex(&s);
304
void EditStubs::SaveAsPNGCB(Widget, XtPointer clientData, XtPointer) {
305
Printer *p = (Printer *)clientData;
307
p->GetFileSelectionDialog()->GetFileName(&s);
311
void EditStubs::SaveAsFigPSCB(Widget, XtPointer clientData, XtPointer) {
312
Printer *p = (Printer *)clientData;
314
p->GetFileSelectionDialog()->GetFileName(&s);
315
p->DoSaveAsFigPS(&s);
318
void EditStubs::SetNameCB(Widget, XtPointer clientData, XtPointer) {
319
Printer *p = (Printer *)clientData;
320
PromptDialog *dialog = p->GetPromptDialog();
322
dialog->GetTextString(&s);
326
void EditStubs::SetPrintCommandCB(Widget, XtPointer clientData, XtPointer) {
327
Printer *p = (Printer *)clientData;
328
PromptDialog *dialog = p->GetPromptDialog();
330
dialog->GetTextString(&s);
331
p->SetPrintCommand(&s);
334
void EditStubs::SetPreviewCommandCB(Widget, XtPointer clientData, XtPointer) {
335
Printer *p = (Printer *)clientData;
336
PromptDialog *dialog = p->GetPromptDialog();
338
dialog->GetTextString(&s);
339
p->SetPreviewCommand(&s);
342
void EditStubs::SetCopiesCB(Widget, XtPointer clientData, XtPointer) {
343
Printer *p = (Printer *)clientData;
344
p->SetCopies(p->GetScaleDialog()->GetScaleValue());
347
void EditStubs::ShowPageBoundaryCB(Widget w, XtPointer cd, XtPointer) {
348
((Printer *)cd)->SetShowPageBoundary(XmToggleButtonGetState(w));
351
void EditStubs::PageOrientationCB(Widget w, XtPointer cd, XtPointer) {
352
if (XmToggleButtonGetState(w)) {
354
XtVaGetValues(w, XmNuserData, &num, 0);
355
((Printer *)cd)->SetPageOrientation(num/2);
359
void EditStubs::ShowDocumentInfoCB(Widget w, XtPointer cd, XtPointer) {
360
if (XmToggleButtonGetState(w)) {
362
XtVaGetValues(w, XmNuserData, &num, 0);
363
((Printer *)cd)->ShowInfo(num/2);
367
void EditStubs::ShowPageNumbersCB(Widget w, XtPointer cd, XtPointer) {
368
((Printer *)cd)->SetPageNumbering(XmToggleButtonGetState(w));
371
void EditStubs::PrintCB(Widget, XtPointer cd, XtPointer) {
372
((Printer *)cd)->Print();
375
void EditStubs::ShowPrintPreviewCB(Widget, XtPointer cd, XtPointer) {
376
((Printer *)cd)->ShowPrintPreview();
379
void EditStubs::ExportAsCB(Widget, XtPointer cd, XtPointer) {
380
((Printer *)cd)->ExportAs();
383
void EditStubs::ShowPrinterQueueCB(Widget, XtPointer cd, XtPointer) {
384
((Printer *)cd)->ShowPrinterQueue();
387
void EditStubs::PrinterNameCB(Widget, XtPointer cd, XtPointer) {
388
((Printer *)cd)->Name();
391
void EditStubs::PrinterCopiesCB(Widget, XtPointer cd, XtPointer) {
392
((Printer *)cd)->Copies();
395
void EditStubs::PrintCommandCB(Widget, XtPointer cd, XtPointer) {
396
((Printer *)cd)->PrintCommand();
399
void EditStubs::PrinterQueueCommandCB(Widget, XtPointer cd, XtPointer) {
400
((Printer *)cd)->PrinterQueueCommand();
403
void EditStubs::PrinterRemoveCommandCB(Widget, XtPointer cd, XtPointer) {
404
((Printer *)cd)->PrinterRemoveCommand();
407
void EditStubs::PreviewCommandCB(Widget, XtPointer cd, XtPointer) {
408
((Printer *)cd)->PreviewCommand();
411
void EditStubs::SetPrintColorsCB(Widget w, XtPointer cd, XtPointer) {
412
((Printer *)cd)->SetPrintColors(XmToggleButtonGetState(w));
415
void EditStubs::SetDuplexCB(Widget w, XtPointer cd, XtPointer) {
416
((Printer *)cd)->SetDuplex(XmToggleButtonGetState(w));
419
void EditStubs::SetTumbleCB(Widget w, XtPointer cd, XtPointer) {
420
((Printer *)cd)->SetTumble(XmToggleButtonGetState(w));
423
void EditStubs::BannerPageCB(Widget w, XtPointer cd, XtPointer) {
424
if (XmToggleButtonGetState(w)) {
426
XtVaGetValues(w, XmNuserData, &num, 0);
427
((Printer *)cd)->SetBannerPage(num/2);
431
void EditStubs::PageSizeCB(Widget w, XtPointer cd, XtPointer) {
432
if (XmToggleButtonGetState(w)) {
433
// get menu item label and look to which pagesize
436
xms = CreateXmString("");
437
XtVaGetValues(w, XmNlabelString, &xms, 0);
439
if (XmStringGetLtoR(xms, XmFONTLIST_DEFAULT_TAG, &txt)) {
441
PageSize::Type t = PageSize::Substring2Type(&s);
442
((Printer *)cd)->SetPageSize(t);
449
void EditStubs::DefaultLineWidthCB(Widget, XtPointer cd, XtPointer) {
450
((Viewer *) cd)->DefaultLineWidth();
453
void EditStubs::DefaultLineStyleCB(Widget, XtPointer cd, XtPointer) {
454
((Viewer *) cd)->DefaultLineStyle();
457
void EditStubs::UpdateLineColorCB(Widget, XtPointer cd, XtPointer) {
458
((Viewer *) cd)->UpdateLineColor();
461
void EditStubs::DefaultLineColorCB(Widget, XtPointer cd, XtPointer) {
462
((Viewer *) cd)->DefaultLineColor();
465
void EditStubs::UpdateTextColorCB(Widget, XtPointer cd, XtPointer) {
466
((Viewer *) cd)->UpdateTextColor();
469
void EditStubs::DefaultTextColorCB(Widget, XtPointer cd, XtPointer) {
470
((Viewer *) cd)->DefaultTextColor();
473
void EditStubs::UpdateFillColorCB(Widget, XtPointer cd, XtPointer) {
474
((Viewer *) cd)->UpdateFillColor();
477
void EditStubs::DefaultFillColorCB(Widget, XtPointer cd, XtPointer) {
478
((Viewer *) cd)->DefaultFillColor();
481
void EditStubs::UpdateLineWidthCB(Widget, XtPointer cd, XtPointer) {
482
((Viewer *) cd)->UpdateLineWidth();
485
void EditStubs::UpdateLineStyleCB(Widget, XtPointer cd, XtPointer) {
486
((Viewer *) cd)->UpdateLineStyle();
489
void EditStubs::DefaultLineColorOKCB(Widget, XtPointer cd, XtPointer) {
490
Viewer *v = (Viewer *)cd;
492
v->GetColorChooserDialog()->GetTextString(&s);
493
v->SetDefaultLineColor(&s);
496
void EditStubs::UpdateLineColorOKCB(Widget, XtPointer cd, XtPointer) {
497
Viewer *v = (Viewer *)cd;
499
v->GetColorChooserDialog()->GetTextString(&s);
500
v->UpdateLineColorSelection(&s);
503
void EditStubs::DefaultTextColorOKCB(Widget, XtPointer cd, XtPointer) {
504
Viewer *v = (Viewer *)cd;
506
v->GetColorChooserDialog()->GetTextString(&s);
507
v->SetDefaultTextColor(&s);
510
void EditStubs::UpdateTextColorOKCB(Widget, XtPointer cd, XtPointer) {
511
Viewer *v = (Viewer *)cd;
513
v->GetColorChooserDialog()->GetTextString(&s);
514
v->UpdateTextColorSelection(&s);
517
void EditStubs::DefaultFillColorOKCB(Widget, XtPointer cd, XtPointer) {
518
Viewer *v = (Viewer *)cd;
520
v->GetColorChooserDialog()->GetTextString(&s);
521
bool b = v->GetColorChooserDialog()->FillToggleOn();
523
v->SetDefaultFillStyle(FillStyle::FILLED);
525
v->SetDefaultFillStyle(FillStyle::UNFILLED);
526
v->SetDefaultFillColor(&s);
529
void EditStubs::UpdateFillColorOKCB(Widget, XtPointer cd, XtPointer) {
530
Viewer *v = (Viewer *)cd;
532
v->GetColorChooserDialog()->GetTextString(&s);
534
if (v->GetColorChooserDialog()->FillToggleOn()) {
535
f = FillStyle::FILLED;
538
f = FillStyle::UNFILLED;
540
v->UpdateFillColorSelection(&s, f);
543
void EditStubs::DefaultLineColorDefaultCB(Widget, XtPointer cd, XtPointer) {
544
((Viewer *) cd)->ShowConfigLineColor();
547
void EditStubs::UpdateLineColorDefaultCB(Widget, XtPointer cd, XtPointer) {
548
((Viewer *) cd)->ShowDefaultLineColor();
551
void EditStubs::DefaultTextColorDefaultCB(Widget, XtPointer cd, XtPointer) {
552
((Viewer *) cd)->ShowConfigTextColor();
555
void EditStubs::UpdateTextColorDefaultCB(Widget, XtPointer cd, XtPointer) {
556
((Viewer *) cd)->ShowDefaultTextColor();
559
void EditStubs::DefaultFillColorDefaultCB(Widget, XtPointer cd, XtPointer) {
560
((Viewer *) cd)->ShowConfigFillColor();
563
void EditStubs::UpdateFillColorDefaultCB(Widget, XtPointer cd, XtPointer) {
564
((Viewer *) cd)->ShowDefaultFillColor();
567
void EditStubs::DefaultLineWidthOKCB(Widget, XtPointer cd, XtPointer) {
568
Viewer *v = (Viewer *)cd;
569
NToggleListDialog *d = v->GetLineWidthDialog();
570
int n = d->GetValue(0);
572
d->GetItem(0, n, &text);
573
int wd = text.toint();
574
v->SetDefaultLineWidth(wd);
577
void EditStubs::DefaultLineWidthDefaultCB(Widget, XtPointer cd, XtPointer) {
578
((Viewer *) cd)->ShowConfigLineWidth();
581
void EditStubs::UpdateLineWidthOKCB(Widget, XtPointer cd, XtPointer) {
582
Viewer *v = (Viewer *)cd;
583
NToggleListDialog *d = v->GetLineWidthDialog();
584
int n = d->GetValue(0);
586
d->GetItem(0, n, &text);
587
int wd = text.toint();
588
v->UpdateLineWidthSelection(wd);
591
void EditStubs::UpdateLineWidthDefaultCB(Widget, XtPointer cd, XtPointer) {
592
((Viewer *) cd)->ShowDefaultLineWidth();
595
void EditStubs::DefaultLineStyleOKCB(Widget, XtPointer cd, XtPointer) {
596
Viewer *v = (Viewer *)cd;
597
NToggleListDialog *d = v->GetLineStyleDialog();
598
int n = d->GetValue(0);
600
d->GetItem(0, n, &text);
601
v->SetDefaultLineStyle(LineStyle::String2Type(&text));
604
void EditStubs::DefaultLineStyleDefaultCB(Widget, XtPointer cd, XtPointer) {
605
((Viewer *) cd)->ShowConfigLineStyle();
608
void EditStubs::UpdateLineStyleOKCB(Widget, XtPointer cd, XtPointer) {
609
Viewer *v = (Viewer *)cd;
610
NToggleListDialog *d = v->GetLineStyleDialog();
611
int n = d->GetValue(0);
613
d->GetItem(0, n, &text);
614
v->UpdateLineStyleSelection(LineStyle::String2Type(&text));
617
void EditStubs::UpdateLineStyleDefaultCB(Widget, XtPointer cd, XtPointer) {
618
((Viewer *) cd)->ShowDefaultLineStyle();
621
void EditStubs::DefaultFontCB(Widget, XtPointer cd, XtPointer) {
622
((Viewer *) cd)->DefaultFont();
625
void EditStubs::UpdateFontCB(Widget, XtPointer cd, XtPointer) {
626
((Viewer *) cd)->UpdateFont();
629
void EditStubs::DefaultFontOKCB(Widget, XtPointer cd, XtPointer) {
630
Viewer *v = (Viewer *)cd;
631
FontChooserDialog *d = v->GetFontChooserDialog();
632
v->SetDefaultFontAttributes(
633
d->GetFamily(), d->GetStyle(), d->GetSize());
636
void EditStubs::UpdateFontOKCB(Widget, XtPointer cd, XtPointer) {
637
Viewer *v = (Viewer *)cd;
638
FontChooserDialog *d = v->GetFontChooserDialog();
639
// -1 means that this font attribute should not be updated.
640
int f = d->GetOptionValue(0) > 0 ? d->GetFamily() : -1;
641
int s = d->GetOptionValue(1) > 0 ? d->GetStyle() : -1;
642
int p = d->GetOptionValue(2) > 0 ? d->GetSize() : -1;
643
v->UpdateFontSelection(f, s, p);
646
void EditStubs::DefaultFontDefaultCB(Widget, XtPointer cd, XtPointer) {
647
((Viewer *) cd)->ShowConfigFont();
650
void EditStubs::UpdateFontDefaultCB(Widget, XtPointer cd, XtPointer) {
651
((Viewer *) cd)->ShowDefaultFont();
654
void EditStubs::DefaultTextAlignmentCB(Widget, XtPointer cd, XtPointer) {
655
((Viewer *) cd)->DefaultTextAlignment();
658
void EditStubs::DefaultTextAlignmentOKCB(Widget, XtPointer cd, XtPointer) {
659
Viewer *v = (Viewer *)cd;
660
NToggleListDialog *d = v->GetTextAlignmentDialog();
661
int n = d->GetValue(0);
663
d->GetItem(0, n, &text);
664
v->SetDefaultTextAlignment(TextAlign::String2Type(&text));
667
void EditStubs::DefaultTextAlignmentDefaultCB(Widget, XtPointer cd, XtPointer) {
668
((Viewer *) cd)->ShowConfigTextAlignment();
671
void EditStubs::UpdateTextAlignmentCB(Widget, XtPointer cd, XtPointer) {
672
((Viewer *) cd)->UpdateTextAlignment();
675
void EditStubs::UpdateTextAlignmentOKCB(Widget, XtPointer cd, XtPointer) {
676
Viewer *v = (Viewer *)cd;
677
NToggleListDialog *d = v->GetTextAlignmentDialog();
678
int n = d->GetValue(0);
680
d->GetItem(0, n, &text);
681
v->UpdateTextAlignmentSelection(TextAlign::String2Type(&text));
684
void EditStubs::UpdateTextAlignmentDefaultCB(Widget, XtPointer cd, XtPointer) {
685
((Viewer *) cd)->ShowDefaultTextAlignment();
688
void EditStubs::UpdateFSFilesCB(Widget, XtPointer cd, XtPointer) {
689
((Printer *)cd)->UpdateFSFiles();
692
void EditStubs::UpdateTextCB(Widget, XtPointer cd, XtPointer cbs) {
693
XmAnyCallbackStruct *a = (XmAnyCallbackStruct *)cbs;
694
int reason = a->reason;
695
InlineEditor *e = (InlineEditor *)cd;
698
if (reason == XmCR_OK) {
700
e->GetTextEditDialog()->GetTextString(&t);
703
else e->CancelWindow();
706
void EditStubs::GridSizeOKCB(Widget, XtPointer cd, XtPointer) {
707
Grid *g = (Grid *)cd;
708
g->SetGridSize(g->GetScaleDialog()->GetScaleValue());
711
void EditStubs::PointDistanceOKCB(Widget, XtPointer cd, XtPointer) {
712
Grid *g = (Grid *)cd;
713
g->SetPointDistance(g->GetScaleDialog()->GetScaleValue());
716
void EditStubs::PointSnappingCB(Widget w, XtPointer cd, XtPointer) {
717
((Grid *)cd)->SetSnap(XmToggleButtonGetState(w));
720
void EditStubs::PointDistanceCB(Widget, XtPointer cd, XtPointer) {
721
((Grid *)cd)->PointDistance();
724
void EditStubs::ShowGridCB(Widget w, XtPointer cd, XtPointer) {
725
((Grid *)cd)->SetShowGrid(XmToggleButtonGetState(w));
728
void EditStubs::GridSizeCB(Widget, XtPointer cd, XtPointer) {
729
((Grid *)cd)->GridSize();
732
void EditStubs::UndoCB(Widget, XtPointer cd, XtPointer) {
733
((Viewer *)cd)->Undo();
736
void EditStubs::RedoCB(Widget, XtPointer cd, XtPointer) {
737
((Viewer *)cd)->Redo();
740
void EditStubs::RefreshCB(Widget, XtPointer cd, XtPointer) {
741
((Viewer *)cd)->Refresh();