Skip to content

Commit 1f28394

Browse files
author
David Baum
committed
adopt helpcontroller to c visualization
1 parent 8e5a968 commit 1f28394

3 files changed

Lines changed: 71 additions & 24 deletions

File tree

ui/scripts/HelpController/HelpController.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ var helpController = (function() {
9292
createPopupContent()
9393
});
9494
};
95+
96+
if(controllerConfig.metaphor=="RD C") {
97+
$.getScript("scripts/HelpController/HelpRDC.js", function(){
98+
createPopupContent()
99+
});
100+
};
95101
}
96102

97103
function createPopupContent(){
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
var metaphor =(function(){
2+
3+
function legend(){
4+
var legend_RD = `
5+
<div class='legend_Div jqxTabs_Div helpController'>
6+
<p>The Recursive Disk (RD) metaphor is designed to visualize the structure of imperative programming languages, with an emphasis on object-oriented languages. As the name indicates, an RD visualization consists of nested disks, where each disk represents a package or a class. All disks are ordered by size and then placed spiral-shaped clockwise around the largest disk. Although at first glance it seems chaotic, the emerging visual patterns and empty spaces give each disk a unique appearance and help the user to recognize specific disks.</p>
7+
<img src='scripts/HelpController/images/RD.PNG'>
8+
<div class='legend_Describe helpController'>
9+
<h2>Gray Disk</h2>
10+
<img src='scripts/HelpController/images/RD_package.png'>
11+
<p>Gray disks represent <span class='legend_Represent helpController'>translation units</span>. The nested disks represent its components, i.e., types. The size of a disk depends on the size of the nested disks.</p>
12+
</div>
13+
<div class='legend_Describe helpController'>
14+
<h2>Purple Disk</h2>
15+
<img src='scripts/HelpController/images/RD_type.png'>
16+
<p>Purple disks represent <span class='legend_Represent helpController'>types</span>. The size of a disk depends on the size of the nested disks and segments.</p>
17+
</div>
18+
<div class='legend_Describe helpController'>
19+
<h2>Blue Segment</h2>
20+
<img src='scripts/HelpController/images/RD_method.png'>
21+
<p>Blue segments represent <span class='legend_Represent helpController'>functions</span>. The area of a blue segment is based on the functions lines of code.</p>
22+
</div>
23+
<div class='legend_Describe helpController'>
24+
<h2>Yellow Segment</h2>
25+
<img src='scripts/HelpController/images/RD_field.png'>
26+
<p>Yellow segements represent <span class='legend_Represent helpController'>variables</span>. The area of a yellow segment is fixed and does not represent a metric.</p>
27+
</div>
28+
</div>`;
29+
return legend_RD;
30+
};
31+
32+
function relationships(){
33+
var relationships_RD= `
34+
<div class='relationships_Div jqxTabs_Div helpController'>
35+
<h2>Variable accesses</h2>
36+
<p>Click on a variable to show connections to accessing functions.</p>
37+
<p>Click on a function to show connections to accessed variables.</p>
38+
<img src='scripts/HelpController/images/RD_void.png'>
39+
<h2>Function calls</h2>
40+
<p>Click on a function to show in- and outgoing function calls.</p>
41+
<img src='scripts/HelpController/images/RD_voidrun.png'>
42+
</div>`;
43+
44+
return relationships_RD;
45+
};
46+
47+
return {
48+
relationships: relationships,
49+
legend: legend
50+
};
51+
})();

ui/setups/web/c.js

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,17 @@
8282
{
8383
name: "relationHighlightController"
8484
},
85+
{
86+
name: 'infoController',
87+
system: "Busybox",
88+
noc: false,
89+
not: true,
90+
loc: 192000
91+
},
92+
{
93+
name: 'helpController',
94+
metaphor: "RD C"
95+
},
8596
{
8697
name: "menuController",
8798
menuMapping: [
@@ -190,36 +201,16 @@
190201
resizable: false,
191202
collapsible: false,
192203
first: {
193-
size: "25px",
204+
size: "75px",
194205
resizable: false,
195206
collapsible: false,
196207
controllers: [
197208
{name: "menuController"},
198-
// {name: "searchController"},
209+
{name: "searchController"},
199210
{name: "emailController"},
200211
],
201212
},
202213
second: {
203-
size: "100%",
204-
resizable: false,
205-
collapsible: false,
206-
area: {
207-
orientation: "horizontal",
208-
name: "searchPanel",
209-
size: "35px",
210-
collapsible: false,
211-
resizable: false,
212-
first: {
213-
size: "35px",
214-
collapsible: false,
215-
resizable: false,
216-
controllers: [
217-
// {name: "menuController"},
218-
{name: "searchController"}
219-
// {name: "emailController"},
220-
],
221-
},
222-
second: {
223214
size: "80%",
224215
resizable: false,
225216
collapsible: false,
@@ -298,6 +289,7 @@
298289
{name: "canvasHoverController"},
299290
{name: "canvasFilterController"},
300291
{name: "canvasFlyToController"},
292+
{name: "infoController"}, {name: "helpController"},
301293
{name: "relationConnectorController"},
302294
// {name: "relationTransparencyController"},
303295
{name: "relationHighlightController"}, {name: "generationFormController"}
@@ -335,8 +327,6 @@
335327
}
336328
}
337329
}
338-
}
339-
}
340330
}
341331
}
342332
}

0 commit comments

Comments
 (0)