seamless 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. data/bin/seamless +36 -0
  2. data/lib/seamless.rb +70 -0
  3. data/lib/seamless/active_record_extension.rb +11 -0
  4. data/lib/seamless/dispatcher.rb +45 -0
  5. data/lib/seamless/message_broker.rb +12 -0
  6. data/lib/seamless/message_broker_controller.rb +11 -0
  7. data/lib/seamless/messagebroker/inmemory_message_broker.rb +45 -0
  8. data/lib/seamless/migration.rb +8 -0
  9. data/lib/seamless/model.rb +94 -0
  10. data/lib/seamless/service.rb +186 -0
  11. data/seamless/seamless_generator.rb +181 -0
  12. data/seamless/templates/README +24 -0
  13. data/seamless/templates/admin.html +166 -0
  14. data/seamless/templates/application.rb +7 -0
  15. data/seamless/templates/css/global.css +333 -0
  16. data/seamless/templates/css/seamless-admin.css +281 -0
  17. data/seamless/templates/css/seamless.css +632 -0
  18. data/seamless/templates/environment.rb +65 -0
  19. data/seamless/templates/generate +25 -0
  20. data/seamless/templates/images/arch.png +0 -0
  21. data/seamless/templates/images/arrow_undo.png +0 -0
  22. data/seamless/templates/images/cell_phone.png +0 -0
  23. data/seamless/templates/images/confirm.png +0 -0
  24. data/seamless/templates/images/deny.png +0 -0
  25. data/seamless/templates/images/dialog_close.gif +0 -0
  26. data/seamless/templates/images/dialog_close_hover.gif +0 -0
  27. data/seamless/templates/images/email.png +0 -0
  28. data/seamless/templates/images/exclamation.png +0 -0
  29. data/seamless/templates/images/indicator.gif +0 -0
  30. data/seamless/templates/images/indicator2.gif +0 -0
  31. data/seamless/templates/images/seamless.gif +0 -0
  32. data/seamless/templates/images/shadow.gif +0 -0
  33. data/seamless/templates/images/shadowAlpha.png +0 -0
  34. data/seamless/templates/images/small_star.png +0 -0
  35. data/seamless/templates/images/table_add.png +0 -0
  36. data/seamless/templates/images/table_delete.png +0 -0
  37. data/seamless/templates/images/table_edit.png +0 -0
  38. data/seamless/templates/images/table_go.png +0 -0
  39. data/seamless/templates/images/table_refresh.png +0 -0
  40. data/seamless/templates/images/tag.png +0 -0
  41. data/seamless/templates/images/warning.png +0 -0
  42. data/seamless/templates/images/wizard.gif +0 -0
  43. data/seamless/templates/images/work_phone.png +0 -0
  44. data/seamless/templates/index.html +171 -0
  45. data/seamless/templates/js/seamless-admin.js +255 -0
  46. data/seamless/templates/js/seamless.js +2755 -0
  47. data/seamless/templates/message_broker.rb +6 -0
  48. data/seamless/templates/message_broker_helper.rb +2 -0
  49. data/seamless/templates/robots.txt +2 -0
  50. data/seamless/templates/routes.rb +18 -0
  51. data/seamless/templates/seamless.xml +5 -0
  52. data/seamless/templates/server +4 -0
  53. data/seamless/templates/test_service.rb +13 -0
  54. data/service/USAGE +21 -0
  55. data/service/service_generator.rb +59 -0
  56. data/service/templates/service.rb +14 -0
  57. metadata +122 -0
@@ -0,0 +1,281 @@
1
+ body
2
+ {
3
+ color:#444;
4
+ background-color:#444;
5
+ }
6
+ #logo
7
+ {
8
+ float:right;
9
+ margin-left:10px;
10
+ margin-right:10px;
11
+ }
12
+ #form
13
+ {
14
+ margin:20px;
15
+ padding:10px;
16
+ background-color: #fff;
17
+ border:1px solid #444;
18
+ position:relative;
19
+ min-height: 450px;
20
+ }
21
+ h2
22
+ {
23
+ font-weight:bold;
24
+ font-size:32px;
25
+ margin-bottom:15px;
26
+ }
27
+ textarea
28
+ {
29
+ width:100%;
30
+ height:100px;
31
+ margin-top:10px;
32
+ margin-bottom:10px;
33
+ border:1px solid #aaa;
34
+ font-size: 18px;
35
+ padding:3px;
36
+ }
37
+ textarea:focus
38
+ {
39
+ background-color:#ffffcc;
40
+ }
41
+ #banner
42
+ {
43
+ background-color:#850001;
44
+ border-bottom:1px solid #000;
45
+ height:60px;
46
+ }
47
+ #header
48
+ {
49
+ background-color:#444;
50
+ height:10px;
51
+ }
52
+ #intro
53
+ {
54
+ margin-top:20px;
55
+ margin-bottom:20px;
56
+ font-family: Georgia, sans-serif;
57
+ font-size: 18px;
58
+ }
59
+
60
+ #titlebar
61
+ {
62
+ position: relative;
63
+ border-bottom: 1px dotted #999;
64
+ height:34px;
65
+ }
66
+
67
+ #title
68
+ {
69
+ position: absolute;
70
+ top:4px;
71
+ left:10px;
72
+ font-size: large;
73
+ }
74
+
75
+ #search
76
+ {
77
+ position: absolute;
78
+ right:140px;
79
+ top:4px;
80
+ font-size: smaller;
81
+ }
82
+
83
+ #search_bar
84
+ {
85
+ position:relative;
86
+ width:260px;
87
+ margin:0;
88
+ padding:0;
89
+ }
90
+
91
+ #search_bar_title
92
+ {
93
+ position:absolute;
94
+ left:50px;
95
+ top:4px;
96
+ }
97
+
98
+ #search_bar_field
99
+ {
100
+ position:absolute;
101
+ right:40px;
102
+ top:0;
103
+ }
104
+ #search_indicator
105
+ {
106
+ position:absolute;
107
+ right:18px;
108
+ top:2px;
109
+ }
110
+ #search input
111
+ {
112
+ border:1px solid #aaa;
113
+ border-top:1px solid #666;
114
+ padding:4px;
115
+ width:120px;
116
+ }
117
+
118
+ #table_selector select
119
+ {
120
+ border:1px solid #aaa;
121
+ padding:4px;
122
+ min-width: 100px;
123
+ }
124
+
125
+ #search input:focus
126
+ {
127
+ background-color: #ffffcc;
128
+ }
129
+
130
+ #search img
131
+ {
132
+ margin-left:5px;
133
+ }
134
+
135
+ #results
136
+ {
137
+ position: relative;
138
+ height:20px;
139
+ margin-top:4px;
140
+ margin-left: 12px;
141
+ }
142
+
143
+ #search_results
144
+ {
145
+ position: absolute;
146
+ font-size:x-small;
147
+ color:#999;
148
+ top:5px;
149
+ left:0px;
150
+ }
151
+
152
+ #table_operations
153
+ {
154
+ position: absolute;
155
+ top:5px;
156
+ right:10px;
157
+ }
158
+
159
+ #table_operations img
160
+ {
161
+ margin-left:8px;
162
+ cursor:pointer;
163
+ }
164
+
165
+ #table_selector
166
+ {
167
+ position: absolute;
168
+ right:10px;
169
+ top:4px;
170
+ font-size: smaller;
171
+ }
172
+
173
+ #search_results_table_container
174
+ {
175
+ margin:10px;
176
+ margin-top:15px;
177
+ }
178
+
179
+ #search_results_table
180
+ {
181
+ width:100%;
182
+ }
183
+
184
+ #search_results_table th
185
+ {
186
+ padding:4px;
187
+ font-weight: bold;
188
+ background-color: #aaa;
189
+ border:1px solid #aaa;
190
+ color:#333;
191
+ border-bottom:2px solid #999;
192
+ }
193
+
194
+ #search_results_table td
195
+ {
196
+ padding:5px;
197
+ border:1px dotted #cac;
198
+ cursor:pointer;
199
+ }
200
+
201
+ td.odd
202
+ {
203
+ background-color: #eef;
204
+ }
205
+
206
+ td.selected
207
+ {
208
+ background-color: #ffffcc;
209
+ }
210
+
211
+ table.record
212
+ {
213
+ width:100%;
214
+ }
215
+
216
+ table.record td.label
217
+ {
218
+ font-weight: bold;
219
+ width:170px;
220
+ background-color:#eee;
221
+ }
222
+
223
+ table.record td.display
224
+ {
225
+ margin:7px;
226
+ padding:5px;
227
+ font-size:14px;
228
+ border-bottom:1px dotted #bcb;
229
+ }
230
+
231
+ table.record td.value input[type=checkbox]
232
+ {
233
+ margin:7px;
234
+ padding:5px;
235
+ font-size:14px;
236
+ }
237
+
238
+ table.record td.value input[type=text]
239
+ {
240
+ border:1px solid #ccc;
241
+ border-left:1px solid #aaa;
242
+ border-top:1px solid #aaa;
243
+ width:400px;
244
+ margin:4px;
245
+ padding:5px;
246
+ font-size:14px;
247
+ }
248
+
249
+ table.record td.value input[type=text]:focus
250
+ {
251
+ background-color: #ffffcc;
252
+ }
253
+
254
+ #save_button
255
+ {
256
+ margin-top:10px;
257
+ }
258
+
259
+ .editSuccess
260
+ {
261
+ width:300px;
262
+ padding: 5px;
263
+ border-style: solid;
264
+ border-width: 1px;
265
+ border-color: #F0C000;
266
+ background-color: #FFFFCE;
267
+ margin-bottom:30px;
268
+ float:right;
269
+ }
270
+
271
+ .editFailure
272
+ {
273
+ width:400px;
274
+ padding: 5px;
275
+ border-style: solid;
276
+ border-width: 1px;
277
+ border-color: #c00;
278
+ background-color: #fcc;
279
+ margin-bottom:30px;
280
+ float:right;
281
+ }
@@ -0,0 +1,632 @@
1
+ /**
2
+ * Seam(less) Web Application Framework
3
+ *
4
+ * Copyright (c) 2006 Hakano, Inc. All Rights Reserved.
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ *
9
+ * You may obtain a copy of the License at
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ */
19
+
20
+ /**
21
+ * Seamless table widget built-in styles
22
+ */
23
+
24
+ .seamless_table_cell {
25
+ border-bottom: 1px dotted #ccc;
26
+ border-right: 1px dotted #ccc;
27
+ padding: 1px;
28
+ font-weight: normal;
29
+ cursor:pointer;
30
+ }
31
+
32
+ .seamless_table_row_even {
33
+ background-color: #fff;
34
+ }
35
+
36
+ .seamless_table_row_odd {
37
+ background-color: #EEEEFF;
38
+ }
39
+
40
+ .seamless_table_cell_selected {
41
+ background-color: #ffffcc;
42
+ color: #000;
43
+ }
44
+
45
+ .seamless_table_status {
46
+ cursor: wait;
47
+ filter: alpha( opacity = 70 );
48
+ -moz-opacity: 0.7;
49
+ opacity: 0.7;
50
+ padding:10px;
51
+ border:2px solid #888;
52
+ background-color:#eee;
53
+ z-index:999;
54
+ position:absolute;
55
+ width:130px;
56
+ height:20px;
57
+ }
58
+
59
+ .seamless_table_row_disabled {
60
+ cursor: wait;
61
+ filter: alpha( opacity = 60 );
62
+ -moz-opacity: 0.6;
63
+ opacity: 0.6;
64
+ }
65
+
66
+ .seamless_table_header_row {
67
+ border: 1px solid #ccc;
68
+ border-bottom: none;
69
+ }
70
+
71
+ .seamless_table_header {
72
+ background-color: #eee;
73
+ }
74
+
75
+ .seamless_table_header th {
76
+ padding: 1px;
77
+ border-right: 1px dotted #ccc;
78
+ }
79
+
80
+
81
+ /**
82
+ * autocomplete widget styles
83
+ */
84
+
85
+ div.autocomplete
86
+ {
87
+ width: 100px;
88
+ background: #fff;
89
+ display: inline;
90
+ z-index:5000;
91
+ }
92
+
93
+ div.autocomplete ul
94
+ {
95
+ border: 1px solid #888;
96
+ margin: 0;
97
+ padding: 0;
98
+ width: 100%;
99
+ list-style-type: none;
100
+ }
101
+
102
+ div.autocomplete ul li
103
+ {
104
+ margin: 0;
105
+ padding: 3px;
106
+ position: relative;
107
+ }
108
+
109
+ div.autocomplete ul li.selected
110
+ {
111
+ background-color: #ffc;
112
+ }
113
+
114
+ div.autocomplete ul li>span
115
+ {
116
+ position: absolute;
117
+ right: 5px;
118
+ top:4px;
119
+ font-size: x-small;
120
+ color: #555;
121
+ text-align: left;
122
+ }
123
+
124
+ div.autocomplete ul strong.highlight
125
+ {
126
+ color: #800;
127
+ margin: 0;
128
+ padding: 0;
129
+ }
130
+
131
+ /**
132
+ * modal dialog
133
+ */
134
+
135
+ #overlay {
136
+ position: absolute;
137
+ top: 0;
138
+ left: 0;
139
+ z-index: 90;
140
+ width: 100%;
141
+ height: 500px;
142
+ background-color: #222;
143
+ filter: alpha( opacity = 60 );
144
+ -moz-opacity: 0.6;
145
+ opacity: 0.6;
146
+ }
147
+
148
+ #modaldialog_shadow {
149
+ background: url( ../images/shadowAlpha.png ) no-repeat bottom right !important;
150
+ background: url( ../images/shadow.gif ) no-repeat bottom right;
151
+ position: absolute;
152
+ margin: 0;
153
+ padding: 0;
154
+ }
155
+
156
+ #modaldialog {
157
+ background-color: #fff;
158
+ z-index: 100;
159
+ position: absolute;
160
+ width: 450px;
161
+ height: 300px;
162
+ padding: 4px;
163
+ border: 2px solid #999;
164
+ }
165
+
166
+ #modaldialog_container {
167
+ position: relative;
168
+ }
169
+
170
+ #modaldialog_imagebar {
171
+ position: absolute;
172
+ top: 0px;
173
+ right: 0px;
174
+ cursor: pointer;
175
+ }
176
+
177
+ #modaldialog_content {
178
+ position: absolute;
179
+ top: 18px;
180
+ left: 0px;
181
+ right: 0px;
182
+ bottom: 0px;
183
+ font-family: Verdana, Tahoma, Arial, sans-serif;
184
+ font-size: 90%;
185
+ }
186
+
187
+ #modaldialog_buttonbar {
188
+ position: absolute;
189
+ left: 0px;
190
+ right: 0px;
191
+ width: 100%;
192
+ height: 20px;
193
+ margin-left: auto;
194
+ margin-right: auto;
195
+ }
196
+
197
+ .modaldialog_button {
198
+ border-right: 1px solid #999;
199
+ border-bottom: 1px solid #999;
200
+ border-top: 1px solid #ddd;
201
+ border-left: 1px solid #ddd;
202
+ background-color: #eee;
203
+ width: 80px;
204
+ height: 22px;
205
+ cursor: pointer;
206
+ font-family: Verdana, Tahoma, Arial, sans-serif;
207
+ font-size: 11px;
208
+ text-align: center;
209
+ }
210
+
211
+ /**
212
+ * main styles for syntax highlighter
213
+ */
214
+
215
+ .dp-highlighter {
216
+ font-family: "Courier New", Courier, mono;
217
+ font-size: 12px;
218
+ background-color:#000;
219
+ color:#99FF00;
220
+ width: 99%;
221
+ overflow: auto;
222
+ margin: 18px 0px 18px 0px;
223
+ padding-top:10px;
224
+ padding-bottom:10px;
225
+ }
226
+
227
+ .dp-highlighter .bar {
228
+ padding-left: 45px;
229
+ }
230
+
231
+ .dp-highlighter.collapsed .bar, .dp-highlighter.nogutter .bar {
232
+ padding-left: 0px;
233
+ }
234
+
235
+ .dp-highlighter ol {
236
+ margin: 0px 0px 1px 45px; /* 1px bottom margin seems to fix occasional Firefox scrolling */
237
+ padding: 0px;
238
+ color: #2B91AF;
239
+ list-style-image:none;
240
+ }
241
+
242
+ .dp-highlighter.nogutter ol {
243
+ list-style-type: none;
244
+ margin-left: 0px;
245
+ list-style-image:none;
246
+ }
247
+
248
+ .dp-highlighter ol li, .dp-highlighter .columns div {
249
+ padding-left: 10px;
250
+ line-height: 14px;
251
+ }
252
+
253
+ .dp-highlighter.nogutter ol li, .dp-highlighter.nogutter .columns div {
254
+ border: 0;
255
+ list-style-image:none;
256
+ }
257
+
258
+ .dp-highlighter .columns {
259
+ color: gray;
260
+ overflow: hidden;
261
+ width: 100%;
262
+ }
263
+
264
+ .dp-highlighter .columns div {
265
+ padding-bottom: 5px;
266
+ }
267
+
268
+ .dp-highlighter ol li.alt {
269
+ /* background-color: #f8f8f8;*/
270
+ }
271
+
272
+ .dp-highlighter ol li span {
273
+ color: #fff;
274
+ }
275
+
276
+ /* Adjust some properties when collapsed */
277
+
278
+ .dp-highlighter.collapsed ol {
279
+ margin: 0px;
280
+ }
281
+
282
+ .dp-highlighter.collapsed ol li {
283
+ display: none;
284
+ }
285
+
286
+ /* Additional modifications when in print-view */
287
+
288
+ .dp-highlighter.printing {
289
+ border: none;
290
+ }
291
+
292
+ .dp-highlighter.printing .tools {
293
+ display: none !important;
294
+ }
295
+
296
+ .dp-highlighter.printing li {
297
+ display: list-item !important;
298
+ }
299
+
300
+ /* Styles for the tools */
301
+
302
+ .dp-highlighter .tools {
303
+ padding: 3px 8px 3px 10px;
304
+ border-bottom: 1px solid #2B91AF;
305
+ font: 9px Verdana, Geneva, Arial, Helvetica, sans-serif;
306
+ color: silver;
307
+ }
308
+
309
+ .dp-highlighter.collapsed .tools {
310
+ border-bottom: 0;
311
+ }
312
+
313
+ .dp-highlighter .tools a {
314
+ font-size: 9px;
315
+ color: gray;
316
+ text-decoration: none;
317
+ margin-right: 10px;
318
+ }
319
+
320
+ .dp-highlighter .tools a:hover {
321
+ color: red;
322
+ text-decoration: underline;
323
+ }
324
+
325
+ /* About dialog styles */
326
+
327
+ .dp-about {
328
+ background-color: #fff;
329
+ margin: 0px;
330
+ padding: 0px;
331
+ }
332
+
333
+ .dp-about table {
334
+ width: 100%;
335
+ height: 100%;
336
+ font-size: 11px;
337
+ font-family: Tahoma, Verdana, Arial, sans-serif !important;
338
+ }
339
+
340
+ .dp-about td {
341
+ padding: 10px;
342
+ vertical-align: top;
343
+ }
344
+
345
+ .dp-about .copy {
346
+ border-bottom: 1px solid #ACA899;
347
+ height: 95%;
348
+ }
349
+
350
+ .dp-about .title {
351
+ color: red;
352
+ font-weight: bold;
353
+ }
354
+
355
+ .dp-about .para {
356
+ margin: 0 0 4px 0;
357
+ }
358
+
359
+ .dp-about .footer {
360
+ background-color: #ECEADB;
361
+ border-top: 1px solid #fff;
362
+ text-align: right;
363
+ }
364
+
365
+ .dp-about .close {
366
+ font-size: 11px;
367
+ font-family: Tahoma, Verdana, Arial, sans-serif !important;
368
+ background-color: #ECEADB;
369
+ width: 60px;
370
+ height: 22px;
371
+ }
372
+
373
+ /* Language specific styles */
374
+
375
+ .dp-c {
376
+ }
377
+
378
+ .dp-c .comment {
379
+ color: #c00;
380
+ }
381
+
382
+ .dp-c .string {
383
+ color: #f0c;
384
+ }
385
+
386
+ .dp-c .preprocessor {
387
+ color: gray;
388
+ }
389
+
390
+ .dp-c .keyword {
391
+ color: #069;
392
+ }
393
+
394
+ .dp-c .vars {
395
+ color: #6cf;
396
+ }
397
+
398
+ .dp-vb {
399
+ }
400
+
401
+ .dp-vb .comment {
402
+ color: green;
403
+ }
404
+
405
+ .dp-vb .string {
406
+ color: blue;
407
+ }
408
+
409
+ .dp-vb .preprocessor {
410
+ color: gray;
411
+ }
412
+
413
+ .dp-vb .keyword {
414
+ color: blue;
415
+ }
416
+
417
+ .dp-sql {
418
+ }
419
+
420
+ .dp-sql .comment {
421
+ color: green;
422
+ }
423
+
424
+ .dp-sql .string {
425
+ color: red;
426
+ }
427
+
428
+ .dp-sql .keyword {
429
+ color: blue;
430
+ }
431
+
432
+ .dp-sql .func {
433
+ color: #ff1493;
434
+ }
435
+
436
+ .dp-sql .op {
437
+ color: #808080;
438
+ }
439
+
440
+ .dp-xml {
441
+ color:#808080;
442
+ }
443
+
444
+ .dp-xml .cdata {
445
+ color: #808080;
446
+ }
447
+
448
+ .dp-xml .comments {
449
+ color: #0f0;
450
+ }
451
+
452
+ .dp-xml .tag {
453
+ color: #999;
454
+ }
455
+
456
+ .dp-xml .tag-name {
457
+ color: #6BCFF7;
458
+ }
459
+
460
+ .dp-xml .attribute {
461
+ color: #FFD500;
462
+ }
463
+
464
+ .dp-xml .attribute-value {
465
+ color: #99FF00;
466
+ }
467
+
468
+ .dp-delphi {
469
+ }
470
+
471
+ .dp-delphi .comment {
472
+ color: #008200;
473
+ font-style: italic;
474
+ }
475
+
476
+ .dp-delphi .string {
477
+ color: blue;
478
+ }
479
+
480
+ .dp-delphi .number {
481
+ color: blue;
482
+ }
483
+
484
+ .dp-delphi .directive {
485
+ color: #008284;
486
+ }
487
+
488
+ .dp-delphi .keyword {
489
+ font-weight: bold;
490
+ color: navy;
491
+ }
492
+
493
+ .dp-delphi .vars {
494
+ color: #000;
495
+ }
496
+
497
+ .dp-py {
498
+ }
499
+
500
+ .dp-py .comment {
501
+ color: green;
502
+ }
503
+
504
+ .dp-py .string {
505
+ color: red;
506
+ }
507
+
508
+ .dp-py .docstring {
509
+ color: green;
510
+ }
511
+
512
+ .dp-py .keyword {
513
+ color: blue;
514
+ font-weight: bold;
515
+ }
516
+
517
+ .dp-py .builtins {
518
+ color: #ff1493;
519
+ }
520
+
521
+ .dp-py .magicmethods {
522
+ color: #808080;
523
+ }
524
+
525
+ .dp-py .exceptions {
526
+ color: brown;
527
+ }
528
+
529
+ .dp-py .types {
530
+ color: brown;
531
+ font-style: italic;
532
+ }
533
+
534
+ .dp-py .commonlibs {
535
+ color: #8A2BE2;
536
+ font-style: italic;
537
+ }
538
+
539
+ .dp-rb {
540
+ }
541
+
542
+ .dp-rb .comment {
543
+ color: #c00;
544
+ }
545
+
546
+ .dp-rb .string {
547
+ color: #f0c;
548
+ }
549
+
550
+ .dp-rb .symbol {
551
+ color: #02b902;
552
+ }
553
+
554
+ .dp-rb .keyword {
555
+ color: #069;
556
+ }
557
+
558
+ .dp-rb .variable {
559
+ color: #6cf;
560
+ }
561
+
562
+ .dp-css {
563
+ }
564
+
565
+ .dp-css .comment {
566
+ color: green;
567
+ }
568
+
569
+ .dp-css .string {
570
+ color: red;
571
+ }
572
+
573
+ .dp-css .keyword {
574
+ color: blue;
575
+ }
576
+
577
+ .dp-css .colors {
578
+ color: darkred;
579
+ }
580
+
581
+ .dp-css .vars {
582
+ color: #d00;
583
+ }
584
+
585
+ .dp-j {
586
+ }
587
+
588
+ .dp-j .comment {
589
+ color:#00ff00;
590
+ }
591
+
592
+ .dp-j .string {
593
+ color: rgb( 42, 0, 255 );
594
+ }
595
+
596
+ .dp-j .keyword {
597
+ color: rgb( 127, 0, 85 );
598
+ }
599
+
600
+ .dp-j .annotation {
601
+ color: #646464;
602
+ }
603
+
604
+ .dp-j .number {
605
+ color: #C00000;
606
+ }
607
+
608
+ .dp-cpp {
609
+ }
610
+
611
+ .dp-cpp .comment {
612
+ color: #e00;
613
+ }
614
+
615
+ .dp-cpp .string {
616
+ color: red;
617
+ }
618
+
619
+ .dp-cpp .preprocessor {
620
+ color: #CD00CD;
621
+ font-weight: bold;
622
+ }
623
+
624
+ .dp-cpp .keyword {
625
+ color: #5697D9;
626
+ font-weight: bold;
627
+ }
628
+
629
+ .dp-cpp .datatypes {
630
+ color: #2E8B57;
631
+ font-weight: bold;
632
+ }