1
////////////////////////////////////////////////////////////////////////////////
3
// This file is part of Toolkit for Conceptual Modeling (TCM).
4
// (c) copyright 2000, 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 "nodeshapedialog.h"
28
#include "StickMan.xbm"
29
#include "Ellipse.xbm"
30
#include "Triangle.xbm"
31
#include "Diamond.xbm"
32
#include "NoteBox.xbm"
33
#include "Hexagon.xbm"
34
#include "HorizontalBar.xbm"
35
#include "VerticalBar.xbm"
36
#include "SolidHorizontalBar.xbm"
37
#include "SolidVerticalBar.xbm"
38
#include "BlackDot.xbm"
39
#include "BullsEye.xbm"
40
#include "RoundedBox.xbm"
41
#include "EllipsedBox.xbm"
42
#include "Comment.xbm"
46
#include "SubFolder.xbm"
47
#include "BuildingBlock.xbm"
48
#include "GDBoundaryShape.xbm"
49
#include "GDControllerShape.xbm"
50
#include "GDEntityShape.xbm"
52
NodeShapeDialog::NodeShapeDialog(Widget w):
53
NToggleListDialog(w, False) {
54
SetAutoUnmanage(False);
57
void NodeShapeDialog::Configure() {
58
NToggleListDialog::Configure();
59
List<string *> labels;
60
labels.add(new string("Target Node Shape"));
61
List<List<string *> *> items;
63
l.add(new string("Box"));
64
l.add(new string("Circle"));
65
l.add(new string("RoundedBox"));
66
l.add(new string("Triangle"));
67
l.add(new string("BullsEye"));
68
l.add(new string("StickMan"));
69
l.add(new string("Cube"));
70
l.add(new string("GDBoundaryShape"));
71
l.add(new string("TextBox"));
72
l.add(new string("Diamond"));
73
l.add(new string("Square"));
74
l.add(new string("VerticalBar"));
75
l.add(new string("Hexagon"));
76
l.add(new string("SolidVerticalBar"));
77
l.add(new string("Folder"));
78
l.add(new string("BuildingBlock"));
79
l.add(new string("GDControllerShape"));
80
l.add(new string("NoteBox"));
81
l.add(new string("Ellipse"));
82
l.add(new string("BlackDot"));
83
l.add(new string("HorizontalBar"));
84
l.add(new string("EllipsedBox"));
85
l.add(new string("SolidHorizontalBar"));
86
l.add(new string("SubFolder"));
87
l.add(new string("Disk"));
88
l.add(new string("GDEntityShape"));
90
CreateToggleLists(&labels, &items);
93
ManageHelpButton(True);
94
SetHelpButtonLabel("Default");
95
Bitmap icon0 = {Box_width, Box_height, Box_bits};
96
Bitmap icon1 = {Circle_width, Circle_height, Circle_bits};
97
Bitmap icon2 = {RoundedBox_width, RoundedBox_height, RoundedBox_bits};
98
Bitmap icon3 = {Triangle_width, Triangle_height, Triangle_bits};
99
Bitmap icon4 = {BullsEye_width, BullsEye_height, BullsEye_bits};
100
Bitmap icon5 = {StickMan_width, StickMan_height, StickMan_bits};
101
Bitmap icon6 = {Cube_width, Cube_height, Cube_bits};
102
Bitmap icon7 = {GDBoundaryShape_width, GDBoundaryShape_height,
103
GDBoundaryShape_bits};
104
Bitmap icon8 = {Comment_width, Comment_height, Comment_bits};
106
Bitmap icon9 = {Diamond_width, Diamond_height, Diamond_bits};
107
Bitmap icon10 = {Square_width, Square_height, Square_bits};
108
Bitmap icon11 = {VerticalBar_width, VerticalBar_height, VerticalBar_bits};
109
Bitmap icon12 = {Hexagon_width, Hexagon_height, Hexagon_bits};
110
Bitmap icon13 = {SolidVerticalBar_width, SolidVerticalBar_height,
111
SolidVerticalBar_bits};
112
Bitmap icon14 = {Folder_width, Folder_height, Folder_bits};
113
Bitmap icon15 = {BuildingBlock_width, BuildingBlock_height, BuildingBlock_bits};
114
Bitmap icon16 = {GDControllerShape_width, GDControllerShape_height,
115
GDControllerShape_bits};
116
Bitmap icon17 = {NoteBox_width, NoteBox_height, NoteBox_bits};
118
Bitmap icon18 = {Ellipse_width, Ellipse_height, Ellipse_bits};
119
Bitmap icon19 = {BlackDot_width, BlackDot_height, BlackDot_bits};
120
Bitmap icon20 = {HorizontalBar_width, HorizontalBar_height,
122
Bitmap icon21 = {EllipsedBox_width, EllipsedBox_height, EllipsedBox_bits};
123
Bitmap icon22 = {SolidHorizontalBar_width, SolidHorizontalBar_height,
124
SolidHorizontalBar_bits};
125
Bitmap icon23 = {SubFolder_width, SubFolder_height, SubFolder_bits};
126
Bitmap icon24 = {Disk_width, Disk_height, Disk_bits};
127
Bitmap icon25 = {GDEntityShape_width, GDEntityShape_height,
130
SetItemBitmap(0, 0, &icon0);
131
SetItemBitmap(0, 1, &icon1);
132
SetItemBitmap(0, 2, &icon2);
133
SetItemBitmap(0, 3, &icon3);
134
SetItemBitmap(0, 4, &icon4);
135
SetItemBitmap(0, 5, &icon5);
136
SetItemBitmap(0, 6, &icon6);
137
SetItemBitmap(0, 7, &icon7);
138
SetItemBitmap(0, 8, &icon8);
139
SetItemBitmap(0, 9, &icon9);
140
SetItemBitmap(0, 10, &icon10);
141
SetItemBitmap(0, 11, &icon11);
142
SetItemBitmap(0, 12, &icon12);
143
SetItemBitmap(0, 13, &icon13);
144
SetItemBitmap(0, 14, &icon14);
145
SetItemBitmap(0, 15, &icon15);
146
SetItemBitmap(0, 16, &icon16);
147
SetItemBitmap(0, 17, &icon17);
148
SetItemBitmap(0, 18, &icon18);
149
SetItemBitmap(0, 19, &icon19);
150
SetItemBitmap(0, 20, &icon20);
151
SetItemBitmap(0, 21, &icon21);
152
SetItemBitmap(0, 22, &icon22);
153
SetItemBitmap(0, 23, &icon23);
154
SetItemBitmap(0, 24, &icon24);
155
SetItemBitmap(0, 25, &icon25);
157
List<Widget> *tl = (*GetToggleList())[0];
158
Widget rc = XtParent((*tl)[0]);
159
AddLiteClue((*tl)[0], "Box");
160
AddLiteClue((*tl)[1], "Circle");
161
AddLiteClue((*tl)[2], "Rounded box");
162
AddLiteClue((*tl)[3], "Triangle");
163
AddLiteClue((*tl)[4], "Bull's eye");
164
AddLiteClue((*tl)[5], "Stick man");
165
AddLiteClue((*tl)[6], "Cube");
166
AddLiteClue((*tl)[7], "Boundary class");
167
AddLiteClue((*tl)[8], "Text box");
169
AddLiteClue((*tl)[9], "Diamond");
170
AddLiteClue((*tl)[10], "Square");
171
AddLiteClue((*tl)[11], "Vertical bar");
172
AddLiteClue((*tl)[12], "Hexagon");
173
AddLiteClue((*tl)[13], "Solid vertical bar");
174
AddLiteClue((*tl)[14], "Folder");
175
AddLiteClue((*tl)[15], "Building block");
176
AddLiteClue((*tl)[16], "Controller class");
177
AddLiteClue((*tl)[17], "Note box");
179
AddLiteClue((*tl)[18], "Ellipse");
180
AddLiteClue((*tl)[19], "Black dot");
181
AddLiteClue((*tl)[20], "Horizontal bar");
182
AddLiteClue((*tl)[21], "Ellipsed box");
183
AddLiteClue((*tl)[22], "Solid horizontal bar");
184
AddLiteClue((*tl)[23], "Subfolder");
185
AddLiteClue((*tl)[24], "Disk");
186
AddLiteClue((*tl)[25], "Entity class");
187
XtVaSetValues(rc, XmNnumColumns, 3,
188
XmNorientation, XmVERTICAL, 0);