~ubuntu-branches/ubuntu/intrepid/tcm/intrepid

« back to all changes in this revision

Viewing changes to src/tb/tablestubs.c

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2003-07-03 20:08:21 UTC
  • Revision ID: james.westby@ubuntu.com-20030703200821-se4xtqx25e5miczi
Tags: upstream-2.20
ImportĀ upstreamĀ versionĀ 2.20

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
////////////////////////////////////////////////////////////////////////////////
 
2
//
 
3
// This file is part of Toolkit for Conceptual Modeling (TCM).
 
4
// (c) copyright 1997, Vrije Universiteit Amsterdam.
 
5
// Author: Frank Dehne (frank@cs.vu.nl).
 
6
//
 
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.
 
11
//
 
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.
 
16
//
 
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
 
20
// 02111-1307, USA.
 
21
////////////////////////////////////////////////////////////////////////////////
 
22
#include "tablestubs.h"
 
23
#include "table.h"
 
24
#include "fileselectiondialog.h"
 
25
#include "togglelistdialog.h"
 
26
#include "textalignmentdialog.h"
 
27
#include "linewidthsidedialog.h"
 
28
#include "linestylesidedialog.h"
 
29
#include "texteditdialog.h"
 
30
#include "scaledialog.h"
 
31
#include <stdlib.h>
 
32
#include <Xm/XmAll.h>
 
33
 
 
34
void TableStubs::AppendCB(Widget, XtPointer clientData, XtPointer) {
 
35
        ((Table *)clientData)->Append();
 
36
}
 
37
 
 
38
void TableStubs::AppendToggleCB(Widget, XtPointer clientData, XtPointer) {
 
39
        Table *tab = (Table *)clientData;
 
40
        FileSelectionDialog *d = tab->GetFileSelectionDialog();
 
41
        string s;
 
42
        d->GetOption(&s);
 
43
        if (s == "Bottom")
 
44
                tab->SetAppendToggle(True);
 
45
        else
 
46
                tab->SetAppendToggle(False);
 
47
}
 
48
 
 
49
void TableStubs::AddRowsOKCB(Widget, XtPointer clientData, XtPointer) {
 
50
        Table *t = (Table *)clientData;
 
51
        string txt;
 
52
        t->GetPromptToggleDialog()->GetTextString(&txt);
 
53
        t->AddRows(txt.toint());
 
54
}
 
55
 
 
56
void TableStubs::AddColumnsOKCB(Widget, XtPointer clientData, XtPointer) {
 
57
        Table *t = (Table *)clientData;
 
58
        string txt;
 
59
        t->GetPromptToggleDialog()->GetTextString(&txt);
 
60
        t->AddColumns(txt.toint());
 
61
}
 
62
 
 
63
void TableStubs::AddRowsToggleCB(Widget, XtPointer cd, XtPointer) {
 
64
        Table *tab = (Table *)cd;
 
65
        ToggleListDialog *d = tab->GetPromptToggleDialog();
 
66
        int which = d->GetValue();
 
67
        if (check(which >= 0))
 
68
                tab->SetAddRowsToggle(which);
 
69
}
 
70
 
 
71
void TableStubs::AddColumnsToggleCB(Widget, XtPointer cd, XtPointer) {
 
72
        Table *tab = (Table *)cd;
 
73
        ToggleListDialog *d = tab->GetPromptToggleDialog();
 
74
        int which = d->GetValue();
 
75
        if (check(which >= 0))
 
76
                tab->SetAddColumnsToggle(which);
 
77
}
 
78
 
 
79
void TableStubs::NumberOfRowsCB(Widget, XtPointer clientData, XtPointer) {
 
80
        Table *t = (Table *)clientData;
 
81
        t->SetDefaultNumberOfRows( t->GetScaleDialog()->GetScaleValue());
 
82
}
 
83
 
 
84
void TableStubs::NumberOfColumnsCB(Widget, XtPointer cd, XtPointer) {
 
85
        Table *t = (Table *)cd;
 
86
        t->SetDefaultNumberOfColumns(t->GetScaleDialog()->GetScaleValue());
 
87
}
 
88
 
 
89
void TableStubs::RowHeightCB(Widget, XtPointer clientData, XtPointer) {
 
90
        Table *t = (Table *)clientData;
 
91
        t->SetDefaultRowHeight(t->GetScaleDialog()->GetScaleValue());
 
92
}
 
93
 
 
94
void TableStubs::ColumnWidthCB(Widget, XtPointer clientData, XtPointer) {
 
95
        Table *t = (Table *)clientData;
 
96
        t->SetDefaultColumnWidth(t->GetScaleDialog()->GetScaleValue());
 
97
}
 
98
 
 
99
void TableStubs::MarginWidthCB(Widget, XtPointer clientData, XtPointer) {
 
100
        Table *t = (Table *)clientData;
 
101
        t->SetMarginWidth(t->GetScaleDialog()->GetScaleValue());
 
102
}
 
103
 
 
104
void TableStubs::MarginHeightCB(Widget, XtPointer clientData, XtPointer) {
 
105
        Table *t = (Table *)clientData;
 
106
        t->SetMarginHeight(t->GetScaleDialog()->GetScaleValue());
 
107
}
 
108
 
 
109
void TableStubs::AnnotateCellCB(Widget, XtPointer clientData, XtPointer) {
 
110
        ((Table *)clientData)->AnnotateCell();
 
111
}
 
112
 
 
113
void TableStubs::AnnotateCellOKCB(Widget, XtPointer clientData, XtPointer) {
 
114
        Table *tb = (Table *)clientData;
 
115
        if (!check(tb))
 
116
                return;
 
117
        string t;
 
118
        tb->GetEltAnnotationDialog()->GetTextString(&t);
 
119
        tb->SetCellAnnotation(&t);
 
120
}
 
121
 
 
122
void TableStubs::ShowRowColumnLabelsCB(Widget w, XtPointer cd, XtPointer) {
 
123
        ((Table *)cd)->ShowRowColumnLabels(XmToggleButtonGetState(w));
 
124
}
 
125
 
 
126
void TableStubs::PrintRowColumnLabelsCB(Widget w, XtPointer cd, XtPointer) {
 
127
        ((Table *)cd)->PrintRowColumnLabels(XmToggleButtonGetState(w));
 
128
}
 
129
 
 
130
void TableStubs::AddRowsCB(Widget, XtPointer cd, XtPointer) {
 
131
        ((Table *)cd)->AddRows();
 
132
}
 
133
 
 
134
void TableStubs::AddColumnsCB(Widget, XtPointer cd, XtPointer) {
 
135
        ((Table *)cd)->AddColumns();
 
136
}
 
137
 
 
138
void TableStubs::DeleteRowsCB(Widget, XtPointer cd, XtPointer) {
 
139
        ((Table *)cd)->DeleteRows();
 
140
}
 
141
 
 
142
void TableStubs::DeleteColumnsCB(Widget, XtPointer cd, XtPointer) {
 
143
        ((Table *)cd)->DeleteColumns();
 
144
}
 
145
 
 
146
void TableStubs::PurgeCB(Widget, XtPointer cd, XtPointer) {
 
147
        ((Table *)cd)->Purge();
 
148
}
 
149
 
 
150
void TableStubs::DeleteAllCB(Widget, XtPointer cd, XtPointer) {
 
151
        ((Table *)cd)->DeleteAll();
 
152
}
 
153
 
 
154
void TableStubs::CutTextsCB(Widget, XtPointer cd, XtPointer) {
 
155
        ((Table *)cd)->CutTexts();
 
156
}
 
157
 
 
158
void TableStubs::CopyTextsCB(Widget, XtPointer cd, XtPointer) {
 
159
        ((Table *)cd)->CopyTexts();
 
160
}
 
161
 
 
162
void TableStubs::PasteTextsCB(Widget, XtPointer cd, XtPointer) {
 
163
        ((Table *)cd)->PasteTexts();
 
164
}
 
165
 
 
166
void TableStubs::SelectAllCB(Widget, XtPointer cd, XtPointer) {
 
167
        ((Table *)cd)->SelectAll();
 
168
}
 
169
 
 
170
void TableStubs::SortRowsCB(Widget, XtPointer cd, XtPointer) {
 
171
        ((Table *)cd)->SortRows();
 
172
}
 
173
 
 
174
void TableStubs::SortColumnsCB(Widget, XtPointer cd, XtPointer) {
 
175
        ((Table *)cd)->SortColumns();
 
176
}
 
177
 
 
178
void TableStubs::SetNumberOfRowsCB(Widget, XtPointer cd, XtPointer) {
 
179
        ((Table *)cd)->SetDefaultNumberOfRows();
 
180
}
 
181
 
 
182
void TableStubs::SetNumberOfColumnsCB(Widget, XtPointer cd, XtPointer) {
 
183
        ((Table *)cd)->SetDefaultNumberOfColumns();
 
184
}
 
185
 
 
186
void TableStubs::SetDefaultRowHeightCB(Widget, XtPointer cd, XtPointer) {
 
187
        ((Table *)cd)->SetDefaultRowHeight();
 
188
}
 
189
 
 
190
void TableStubs::SetDefaultColumnWidthCB(Widget, XtPointer cd, XtPointer) {
 
191
        ((Table *)cd)->SetDefaultColumnWidth();
 
192
}
 
193
 
 
194
void TableStubs::SetMarginWidthCB(Widget, XtPointer cd, XtPointer) {
 
195
        ((Table *)cd)->UpdateMarginWidth();
 
196
}
 
197
 
 
198
void TableStubs::SetMarginHeightCB(Widget, XtPointer cd, XtPointer) {
 
199
        ((Table *)cd)->UpdateMarginHeight();
 
200
}
 
201
 
 
202
void TableStubs::DefaultRowAlignmentCB(Widget, XtPointer cd, XtPointer) {
 
203
        ((Table *)cd)->DefaultRowAlignment();
 
204
}
 
205
 
 
206
void TableStubs::DefaultColumnAlignmentCB(Widget, XtPointer cd, XtPointer) {
 
207
        ((Table *)cd)->DefaultColumnAlignment();
 
208
}
 
209
 
 
210
void TableStubs::UpdateRowAlignmentCB(Widget, XtPointer cd, XtPointer) {
 
211
        ((Table *)cd)->UpdateRowAlignment();
 
212
}
 
213
 
 
214
void TableStubs::UpdateColumnAlignmentCB(Widget, XtPointer cd, XtPointer) {
 
215
        ((Table *)cd)->UpdateColumnAlignment();
 
216
}
 
217
 
 
218
void TableStubs::DefaultColumnAlignmentOKCB(Widget, XtPointer cd, XtPointer) {
 
219
        Table *t = (Table *)cd;
 
220
        NToggleListDialog *d = t->GetColumnAlignmentDialog();
 
221
        int n = d->GetValue(0);
 
222
        string text;
 
223
        d->GetItem(0, n, &text);
 
224
        t->UpdateDefaultColumnAlignment(TextAlign::String2Type(&text));
 
225
}
 
226
 
 
227
void TableStubs::DefaultColumnAlignmentDefaultCB(
 
228
                Widget, XtPointer cd, XtPointer) {
 
229
        ((Table *) cd)->ShowConfigColumnAlignment();
 
230
}
 
231
 
 
232
void TableStubs::UpdateColumnAlignmentOKCB(Widget, XtPointer cd, XtPointer) {
 
233
        Table *t = (Table *)cd;
 
234
        NToggleListDialog *d = t->GetColumnAlignmentDialog();
 
235
        int n = d->GetValue(0);
 
236
        string text;
 
237
        d->GetItem(0, n, &text);
 
238
        t->UpdateColumnAlignment(TextAlign::String2Type(&text));
 
239
}
 
240
 
 
241
void TableStubs::UpdateColumnAlignmentDefaultCB(
 
242
                Widget, XtPointer cd, XtPointer) {
 
243
        ((Table *) cd)->ShowDefaultColumnAlignment();
 
244
}
 
245
 
 
246
void TableStubs::DefaultRowAlignmentOKCB(Widget, XtPointer cd, XtPointer) {
 
247
        Table *t = (Table *)cd;
 
248
        TextAlignmentDialog *d = t->GetRowAlignmentDialog();
 
249
        int n = d->GetValue(0);
 
250
        string text;
 
251
        d->GetItem(0, n, &text);
 
252
        t->UpdateDefaultRowAlignment(TextAlign::String2Type(&text));
 
253
}
 
254
 
 
255
void TableStubs::DefaultRowAlignmentDefaultCB(Widget, XtPointer cd, XtPointer) {
 
256
        ((Table *) cd)->ShowConfigRowAlignment();
 
257
}
 
258
 
 
259
void TableStubs::UpdateRowAlignmentOKCB(Widget, XtPointer cd, XtPointer) {
 
260
        Table *t = (Table *)cd;
 
261
        TextAlignmentDialog *d = t->GetRowAlignmentDialog();
 
262
        int n = d->GetValue(0);
 
263
        string text;
 
264
        d->GetItem(0, n, &text);
 
265
        t->UpdateRowAlignment(TextAlign::String2Type(&text));
 
266
}
 
267
 
 
268
void TableStubs::UpdateRowAlignmentDefaultCB(Widget, XtPointer cd, XtPointer) {
 
269
        ((Table *) cd)->ShowDefaultRowAlignment();
 
270
}
 
271
 
 
272
void TableStubs::UpdateTableLineStyleCB(Widget, XtPointer cd, XtPointer) {
 
273
        ((Table *)cd)->UpdateTableLineStyle();
 
274
}
 
275
 
 
276
void TableStubs::UpdateTableLineStyleOKCB(Widget, XtPointer cd, XtPointer) {
 
277
        Table *t = (Table *)cd;
 
278
        LineStyleSideDialog *d = t->GetTableLineStyleDialog();
 
279
        int n = d->GetValue(0);
 
280
        int m = d->GetValue(1);
 
281
        string text1, text2;
 
282
        d->GetItem(0, n, &text1);
 
283
        d->GetItem(1, m, &text2);
 
284
        t->UpdateLineStyle(Side::String2Type(&text2),
 
285
                           LineStyle::String2Type(&text1));
 
286
}
 
287
 
 
288
void TableStubs::UpdateTableLineStyleDefaultCB(
 
289
                Widget, XtPointer cd, XtPointer) {
 
290
        ((Table *) cd)->ShowDefaultLineStyle();
 
291
}
 
292
 
 
293
void TableStubs::UpdateTableLineWidthCB(Widget, XtPointer cd, XtPointer) {
 
294
        ((Table *)cd)->UpdateTableLineWidth();
 
295
}
 
296
 
 
297
void TableStubs::UpdateTableLineWidthOKCB(Widget, XtPointer cd, XtPointer) {
 
298
        Table *t = (Table *)cd;
 
299
        LineWidthSideDialog *d = t->GetTableLineWidthDialog();
 
300
        int n = d->GetValue(0);
 
301
        int m = d->GetValue(1);
 
302
        string text1;
 
303
        d->GetItem(1, m, &text1);
 
304
        t->UpdateLineWidth(Side::String2Type(&text1), n+1);
 
305
}
 
306
 
 
307
void TableStubs::UpdateTableLineWidthDefaultCB(
 
308
                Widget, XtPointer cd, XtPointer) {
 
309
        ((Table *)cd)->ShowDefaultLineWidth();
 
310
}
 
311
 
 
312
void TableStubs::UpdateCellTextUnderlineCB(Widget, XtPointer cd, XtPointer) {
 
313
        ((Table *)cd)->UpdateCellTextUnderline();
 
314
}