manqod 1.1505.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. data/bin/manqod +309 -0
  2. data/doc/HOWTOS +11 -0
  3. data/doc/INSTALL +6 -0
  4. data/doc/LICENCE +450 -0
  5. data/doc/README +33 -0
  6. data/doc/benchmarkings/ListLoader.rb +177 -0
  7. data/doc/manqod.png +0 -0
  8. data/doc/manqod.svg +99 -0
  9. data/doc/server.conf.example +24 -0
  10. data/lib/About.rb +93 -0
  11. data/lib/BarMenu/BarMenuItem.rb +46 -0
  12. data/lib/BarMenu.rb +76 -0
  13. data/lib/ButtonMenu/ButtonMenuItem.rb +82 -0
  14. data/lib/ButtonMenu/EndSeparator.rb +14 -0
  15. data/lib/ButtonMenu/StartSeparator.rb +14 -0
  16. data/lib/ButtonMenu.rb +154 -0
  17. data/lib/Common/Conf.rb +119 -0
  18. data/lib/Common/Eprint.rb +180 -0
  19. data/lib/Common/EventCache.rb +41 -0
  20. data/lib/Common/Fixnum.rb +18 -0
  21. data/lib/Common/Images.rb +41 -0
  22. data/lib/Common/ManqodDB.rb +40 -0
  23. data/lib/Common/MyExec.rb +77 -0
  24. data/lib/Common/MyImage.rb +47 -0
  25. data/lib/Common/Nick.rb +25 -0
  26. data/lib/Common/String.rb +15 -0
  27. data/lib/FormHolder/Form/InputHolder/Button.rb +133 -0
  28. data/lib/FormHolder/Form/InputHolder/Calendar.rb +101 -0
  29. data/lib/FormHolder/Form/InputHolder/CalendarButton.rb +117 -0
  30. data/lib/FormHolder/Form/InputHolder/ColorButton.rb +54 -0
  31. data/lib/FormHolder/Form/InputHolder/Combo.rb +82 -0
  32. data/lib/FormHolder/Form/InputHolder/ComboWithNew.rb +103 -0
  33. data/lib/FormHolder/Form/InputHolder/Common/Model.rb +337 -0
  34. data/lib/FormHolder/Form/InputHolder/ConstCombo.rb +18 -0
  35. data/lib/FormHolder/Form/InputHolder/ConstText.rb +17 -0
  36. data/lib/FormHolder/Form/InputHolder/Duration.rb +73 -0
  37. data/lib/FormHolder/Form/InputHolder/EditableList.rb +57 -0
  38. data/lib/FormHolder/Form/InputHolder/FieldCombo.rb +40 -0
  39. data/lib/FormHolder/Form/InputHolder/FieldList.rb +40 -0
  40. data/lib/FormHolder/Form/InputHolder/FileChooser.rb +131 -0
  41. data/lib/FormHolder/Form/InputHolder/FontButton.rb +37 -0
  42. data/lib/FormHolder/Form/InputHolder/FormImage.rb +74 -0
  43. data/lib/FormHolder/Form/InputHolder/HScale.rb +44 -0
  44. data/lib/FormHolder/Form/InputHolder/Hidden.rb +41 -0
  45. data/lib/FormHolder/Form/InputHolder/Label.rb +40 -0
  46. data/lib/FormHolder/Form/InputHolder/List.rb +176 -0
  47. data/lib/FormHolder/Form/InputHolder/MultiLine.rb +63 -0
  48. data/lib/FormHolder/Form/InputHolder/Password.rb +41 -0
  49. data/lib/FormHolder/Form/InputHolder/QBuilder/QObject.rb +269 -0
  50. data/lib/FormHolder/Form/InputHolder/QBuilder.rb +333 -0
  51. data/lib/FormHolder/Form/InputHolder/RadioGroup.rb +82 -0
  52. data/lib/FormHolder/Form/InputHolder/SourceView.rb +100 -0
  53. data/lib/FormHolder/Form/InputHolder/Spin.rb +49 -0
  54. data/lib/FormHolder/Form/InputHolder/Text.rb +55 -0
  55. data/lib/FormHolder/Form/InputHolder/TimeStamp.rb +82 -0
  56. data/lib/FormHolder/Form/InputHolder/TimeStampButton.rb +93 -0
  57. data/lib/FormHolder/Form/InputHolder/Toggle.rb +43 -0
  58. data/lib/FormHolder/Form/InputHolder.rb +458 -0
  59. data/lib/FormHolder/Form.rb +529 -0
  60. data/lib/FormHolder.rb +203 -0
  61. data/lib/Gtk.rb +101 -0
  62. data/lib/GtkAttributes.rb +76 -0
  63. data/lib/Kernel.rb +48 -0
  64. data/lib/ListHolder/EditableList/CellRenderers/Combo.rb +91 -0
  65. data/lib/ListHolder/EditableList/CellRenderers/ComboText.rb +22 -0
  66. data/lib/ListHolder/EditableList/CellRenderers/ConstCombo.rb +12 -0
  67. data/lib/ListHolder/EditableList/CellRenderers/ConstText.rb +23 -0
  68. data/lib/ListHolder/EditableList/CellRenderers/Pixbuf.rb +18 -0
  69. data/lib/ListHolder/EditableList/CellRenderers/Progress.rb +36 -0
  70. data/lib/ListHolder/EditableList/CellRenderers/Text.rb +51 -0
  71. data/lib/ListHolder/EditableList/CellRenderers/Toggle.rb +35 -0
  72. data/lib/ListHolder/EditableList/Column.rb +223 -0
  73. data/lib/ListHolder/EditableList/DrbListModel.rb +809 -0
  74. data/lib/ListHolder/EditableList/ListPrintOperation/ColumnsHeaderLayout.rb +56 -0
  75. data/lib/ListHolder/EditableList/ListPrintOperation/CustomPageSetup.rb +100 -0
  76. data/lib/ListHolder/EditableList/ListPrintOperation/FooterLayout.rb +26 -0
  77. data/lib/ListHolder/EditableList/ListPrintOperation/HeaderLayout.rb +35 -0
  78. data/lib/ListHolder/EditableList/ListPrintOperation/IterLayout.rb +89 -0
  79. data/lib/ListHolder/EditableList/ListPrintOperation.rb +365 -0
  80. data/lib/ListHolder/EditableList.rb +309 -0
  81. data/lib/ListHolder/GanttHolder/Gantt/Rectangle.rb +290 -0
  82. data/lib/ListHolder/GanttHolder/Gantt.rb +317 -0
  83. data/lib/ListHolder/GanttHolder/GanttFooter.rb +27 -0
  84. data/lib/ListHolder/GanttHolder/GanttScaler.rb +60 -0
  85. data/lib/ListHolder/GanttHolder.rb +31 -0
  86. data/lib/ListHolder/HistoryWindow.rb +63 -0
  87. data/lib/ListHolder/ListButtonHolder/ArchiveButton.rb +37 -0
  88. data/lib/ListHolder/ListButtonHolder/ButtonGroup.rb +32 -0
  89. data/lib/ListHolder/ListButtonHolder/FilterButton.rb +28 -0
  90. data/lib/ListHolder/ListButtonHolder/ListButton.rb +305 -0
  91. data/lib/ListHolder/ListButtonHolder/OrderingButton.rb +26 -0
  92. data/lib/ListHolder/ListButtonHolder/SumPanelButton.rb +23 -0
  93. data/lib/ListHolder/ListButtonHolder.rb +94 -0
  94. data/lib/ListHolder/ListPanel/ListFilter/FRenderer/Combo.rb +94 -0
  95. data/lib/ListHolder/ListPanel/ListFilter/FRenderer/ConstCombo.rb +11 -0
  96. data/lib/ListHolder/ListPanel/ListFilter/FRenderer/Text.rb +26 -0
  97. data/lib/ListHolder/ListPanel/ListFilter/FRenderer/Toggle.rb +41 -0
  98. data/lib/ListHolder/ListPanel/ListFilter/FRenderer.rb +58 -0
  99. data/lib/ListHolder/ListPanel/ListFilter.rb +42 -0
  100. data/lib/ListHolder/ListPanel/ListSum/Text.rb +32 -0
  101. data/lib/ListHolder/ListPanel/ListSum.rb +72 -0
  102. data/lib/ListHolder/ListPanel.rb +60 -0
  103. data/lib/ListHolder.rb +241 -0
  104. data/lib/LoginWindow.rb +77 -0
  105. data/lib/MainRouter.rb +64 -0
  106. data/lib/ManqodCommon.rb +295 -0
  107. data/lib/ManqodHelp/FormatEditor/FormatJustificationWidget.rb +76 -0
  108. data/lib/ManqodHelp/FormatsEditor.rb +139 -0
  109. data/lib/ManqodHelp/HelpBrowser/FormatTagTable/FormatTag.rb +84 -0
  110. data/lib/ManqodHelp/HelpBrowser/FormatTagTable.rb +39 -0
  111. data/lib/ManqodHelp/HelpBrowser.rb +135 -0
  112. data/lib/ManqodHelp/HelpIndex.rb +62 -0
  113. data/lib/ManqodHelp/HelpToolbar.rb +16 -0
  114. data/lib/ManqodHelp.rb +120 -0
  115. data/lib/ManqodRPC.rb +37 -0
  116. data/lib/Memcache.rb +82 -0
  117. data/lib/MyConfig.rb +93 -0
  118. data/lib/Print/PrintItem/TextLayout.rb +47 -0
  119. data/lib/Print/PrintItem.rb +240 -0
  120. data/lib/Print.rb +199 -0
  121. data/lib/PrintEditor/ItemInfo/ItemImage.rb +30 -0
  122. data/lib/PrintEditor/ItemInfo/ItemList.rb +44 -0
  123. data/lib/PrintEditor/ItemInfo/ItemTextAlignment.rb +27 -0
  124. data/lib/PrintEditor/ItemInfo.rb +129 -0
  125. data/lib/PrintEditor/PageLayout.rb +91 -0
  126. data/lib/PrintEditor/PrintEditorItem.rb +310 -0
  127. data/lib/PrintEditor.rb +195 -0
  128. data/lib/RelationBuilder/RTable/RField.rb +91 -0
  129. data/lib/RelationBuilder/RTable.rb +293 -0
  130. data/lib/RelationBuilder/Relation/RelationHandle.rb +70 -0
  131. data/lib/RelationBuilder/Relation.rb +161 -0
  132. data/lib/RelationBuilder/RunQuery.rb +55 -0
  133. data/lib/RelationBuilder/SearchWindow.rb +72 -0
  134. data/lib/RelationBuilder.rb +468 -0
  135. data/lib/SB/ListProgress.rb +150 -0
  136. data/lib/SB/Messaging.rb +77 -0
  137. data/lib/SB.rb +29 -0
  138. data/lib/mynotebook.rb +131 -0
  139. data/lib/mytouchwindow.rb +162 -0
  140. data/lib/mywindow.rb +134 -0
  141. data/lib/wysiwyg-print-label.rb +57 -0
  142. metadata +231 -0
data/doc/LICENCE ADDED
@@ -0,0 +1,450 @@
1
+ COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
2
+ Version 1.0
3
+
4
+
5
+ *
6
+
7
+ 1. Definitions.
8
+ o
9
+
10
+ 1.1. Contributor means each
11
+ individual or entity that creates or contributes to the creation of
12
+ Modifications.
13
+ o
14
+
15
+ 1.2. Contributor Version means
16
+ the combination of the Original Software, prior
17
+ Modifications used by a Contributor (if any), and the
18
+ Modifications made by that particular Contributor.
19
+ o
20
+
21
+ 1.3. Covered Software means (a)
22
+ the Original Software, or (b) Modifications, or (c) the
23
+ combination of files containing Original Software with files
24
+ containing Modifications, in each case including portions
25
+ thereof.
26
+ o
27
+
28
+ 1.4. Executable means the
29
+ Covered Software in any form other than Source Code.
30
+ o
31
+
32
+ 1.5. Initial Developer means
33
+ the individual or entity that first makes Original Software
34
+ available under this License.
35
+ o
36
+
37
+ 1.6. Larger Work means a work
38
+ which combines Covered Software or portions thereof with
39
+ code not governed by the terms of this License.
40
+ o
41
+
42
+ 1.7. License means this
43
+ document.
44
+ o
45
+
46
+ 1.8. Licensable means having
47
+ the right to grant, to the maximum extent possible, whether
48
+ at the time of the initial grant or subsequently acquired,
49
+ any and all of the rights conveyed herein.
50
+ o
51
+
52
+ 1.9. Modifications means the
53
+ Source Code and Executable form of any of the following:
54
+ +
55
+
56
+ A. Any file that results from an addition
57
+ to, deletion from or modification of the contents of a
58
+ file containing Original Software or previous
59
+ Modifications;
60
+ +
61
+
62
+ B. Any new file that contains any part of
63
+ the Original Software or previous Modification; or
64
+ +
65
+
66
+ C. Any new file that is contributed or
67
+ otherwise made available under the terms of this
68
+ License.
69
+ o
70
+
71
+ 1.10. Original Software means
72
+ the Source Code and Executable form of computer software
73
+ code that is originally released under this License.
74
+ o
75
+
76
+ 1.11. Patent Claims means any
77
+ patent claim(s), now owned or hereafter acquired, including
78
+ without limitation, method, process, and apparatus claims,
79
+ in any patent Licensable by grantor.
80
+ o
81
+
82
+ 1.12. Source Code means (a) the
83
+ common form of computer software code in which modifications
84
+ are made and (b) associated documentation included in or
85
+ with such code.
86
+ o
87
+
88
+ 1.13. You (or
89
+ Your) means an individual or a legal
90
+ entity exercising rights under, and complying with all of
91
+ the terms of, this License. For legal entities,
92
+ You includes any entity which controls, is
93
+ controlled by, or is under common control with You. For
94
+ purposes of this definition, control means
95
+ (a) the power, direct or indirect, to cause the
96
+ direction or management of such entity, whether by contract
97
+ or otherwise, or (b) ownership of more than fifty
98
+ percent (50%) of the outstanding shares or beneficial
99
+ ownership of such entity.
100
+ *
101
+
102
+ 2. License Grants.
103
+ o
104
+
105
+ 2.1. The Initial Developer Grant.
106
+
107
+ Conditioned upon Your compliance with Section 3.1
108
+ below and subject to third party intellectual property
109
+ claims, the Initial Developer hereby grants You a
110
+ world-wide, royalty-free, non-exclusive license:
111
+ +
112
+
113
+ (a) under intellectual property rights
114
+ (other than patent or trademark) Licensable by Initial
115
+ Developer, to use, reproduce, modify, display, perform,
116
+ sublicense and distribute the Original Software (or
117
+ portions thereof), with or without Modifications, and/or
118
+ as part of a Larger Work; and
119
+ +
120
+
121
+ (b) under Patent Claims infringed by the
122
+ making, using or selling of Original Software, to make,
123
+ have made, use, practice, sell, and offer for sale,
124
+ and/or otherwise dispose of the Original Software (or
125
+ portions thereof).
126
+ +
127
+
128
+ (c) The licenses granted in
129
+ Sections 2.1(a) and (b) are effective on the date
130
+ Initial Developer first distributes or otherwise makes
131
+ the Original Software available to a third party under
132
+ the terms of this License.
133
+ +
134
+
135
+ (d) Notwithstanding Section 2.1(b)
136
+ above, no patent license is granted: (1) for code
137
+ that You delete from the Original Software, or
138
+ (2) for infringements caused by: (i) the
139
+ modification of the Original Software, or (ii) the
140
+ combination of the Original Software with other software
141
+ or devices.
142
+ o
143
+
144
+ 2.2. Contributor Grant.
145
+
146
+ Conditioned upon Your compliance with Section 3.1 below
147
+ and subject to third party intellectual property claims,
148
+ each Contributor hereby grants You a world-wide,
149
+ royalty-free, non-exclusive license:
150
+ +
151
+
152
+ (a) under intellectual property rights
153
+ (other than patent or trademark) Licensable by
154
+ Contributor to use, reproduce, modify, display, perform,
155
+ sublicense and distribute the Modifications created by
156
+ such Contributor (or portions thereof), either on an
157
+ unmodified basis, with other Modifications, as Covered
158
+ Software and/or as part of a Larger Work; and
159
+ +
160
+
161
+ (b) under Patent Claims infringed by the
162
+ making, using, or selling of Modifications made by that
163
+ Contributor either alone and/or in combination with its
164
+ Contributor Version (or portions of such combination),
165
+ to make, use, sell, offer for sale, have made, and/or
166
+ otherwise dispose of: (1) Modifications made by
167
+ that Contributor (or portions thereof); and (2) the
168
+ combination of Modifications made by that Contributor
169
+ with its Contributor Version (or portions of such
170
+ combination).
171
+ +
172
+
173
+ (c) The licenses granted in
174
+ Sections 2.2(a) and 2.2(b) are effective on the
175
+ date Contributor first distributes or otherwise makes
176
+ the Modifications available to a third party.
177
+ +
178
+
179
+ (d) Notwithstanding Section 2.2(b)
180
+ above, no patent license is granted: (1) for any
181
+ code that Contributor has deleted from the Contributor
182
+ Version; (2) for infringements caused by:
183
+ (i) third party modifications of Contributor
184
+ Version, or (ii) the combination of Modifications
185
+ made by that Contributor with other software (except as
186
+ part of the Contributor Version) or other devices; or
187
+ (3) under Patent Claims infringed by Covered
188
+ Software in the absence of Modifications made by that
189
+ Contributor.
190
+ *
191
+
192
+ 3. Distribution Obligations.
193
+ o
194
+
195
+ 3.1. Availability of Source Code.
196
+
197
+ Any Covered Software that You distribute or otherwise
198
+ make available in Executable form must also be made
199
+ available in Source Code form and that Source Code form
200
+ must be distributed only under the terms of this License.
201
+ You must include a copy of this License with every copy of
202
+ the Source Code form of the Covered Software You
203
+ distribute or otherwise make available. You must inform
204
+ recipients of any such Covered Software in Executable form
205
+ as to how they can obtain such Covered Software in Source
206
+ Code form in a reasonable manner on or through a medium
207
+ customarily used for software exchange.
208
+ o
209
+
210
+ 3.2. Modifications.
211
+
212
+ The Modifications that You create or to which You
213
+ contribute are governed by the terms of this License. You
214
+ represent that You believe Your Modifications are Your
215
+ original creation(s) and/or You have sufficient rights to
216
+ grant the rights conveyed by this License.
217
+ o
218
+
219
+ 3.3. Required Notices.
220
+
221
+ You must include a notice in each of Your Modifications
222
+ that identifies You as the Contributor of the
223
+ Modification. You may not remove or alter any copyright,
224
+ patent or trademark notices contained within the Covered
225
+ Software, or any notices of licensing or any descriptive
226
+ text giving attribution to any Contributor or the Initial
227
+ Developer.
228
+ o
229
+
230
+ 3.4. Application of Additional Terms.
231
+
232
+ You may not offer or impose any terms on any Covered
233
+ Software in Source Code form that alters or restricts the
234
+ applicable version of this License or the
235
+ recipients rights hereunder. You may choose to
236
+ offer, and to charge a fee for, warranty, support,
237
+ indemnity or liability obligations to one or more
238
+ recipients of Covered Software. However, you may do so
239
+ only on Your own behalf, and not on behalf of the Initial
240
+ Developer or any Contributor. You must make it absolutely
241
+ clear that any such warranty, support, indemnity or
242
+ liability obligation is offered by You alone, and You
243
+ hereby agree to indemnify the Initial Developer and every
244
+ Contributor for any liability incurred by the Initial
245
+ Developer or such Contributor as a result of warranty,
246
+ support, indemnity or liability terms You offer.
247
+ o
248
+
249
+ 3.5. Distribution of Executable Versions.
250
+
251
+ You may distribute the Executable form of the Covered
252
+ Software under the terms of this License or under the
253
+ terms of a license of Your choice, which may contain terms
254
+ different from this License, provided that You are in
255
+ compliance with the terms of this License and that the
256
+ license for the Executable form does not attempt to limit
257
+ or alter the recipients rights in the Source Code
258
+ form from the rights set forth in this License. If You
259
+ distribute the Covered Software in Executable form under a
260
+ different license, You must make it absolutely clear that
261
+ any terms which differ from this License are offered by
262
+ You alone, not by the Initial Developer or Contributor.
263
+ You hereby agree to indemnify the Initial Developer and
264
+ every Contributor for any liability incurred by the
265
+ Initial Developer or such Contributor as a result of any
266
+ such terms You offer.
267
+ o
268
+
269
+ 3.6. Larger Works.
270
+
271
+ You may create a Larger Work by combining Covered
272
+ Software with other code not governed by the terms of this
273
+ License and distribute the Larger Work as a single
274
+ product. In such a case, You must make sure the
275
+ requirements of this License are fulfilled for the Covered
276
+ Software.
277
+ *
278
+
279
+ 4. Versions of the License.
280
+ o
281
+
282
+ 4.1. New Versions.
283
+
284
+ Sun Microsystems, Inc. is the initial license steward
285
+ and may publish revised and/or new versions of this
286
+ License from time to time. Each version will be given a
287
+ distinguishing version number. Except as provided in
288
+ Section 4.3, no one other than the license steward has the
289
+ right to modify this License.
290
+ o
291
+
292
+ 4.2. Effect of New Versions.
293
+
294
+ You may always continue to use, distribute or otherwise
295
+ make the Covered Software available under the terms of the
296
+ version of the License under which You originally received
297
+ the Covered Software. If the Initial Developer includes a
298
+ notice in the Original Software prohibiting it from being
299
+ distributed or otherwise made available under any
300
+ subsequent version of the License, You must distribute and
301
+ make the Covered Software available under the terms of the
302
+ version of the License under which You originally received
303
+ the Covered Software. Otherwise, You may also choose to
304
+ use, distribute or otherwise make the Covered Software
305
+ available under the terms of any subsequent version of the
306
+ License published by the license steward.
307
+ o
308
+
309
+ 4.3. Modified Versions.
310
+
311
+ When You are an Initial Developer and You want to
312
+ create a new license for Your Original Software, You may
313
+ create and use a modified version of this License if You:
314
+ (a) rename the license and remove any references to
315
+ the name of the license steward (except to note that the
316
+ license differs from this License); and (b) otherwise
317
+ make it clear that the license contains terms which differ
318
+ from this License.
319
+ *
320
+
321
+ 5. DISCLAIMER OF WARRANTY.
322
+
323
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN
324
+ AS IS BASIS, WITHOUT WARRANTY OF ANY KIND,
325
+ EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
326
+ WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS,
327
+ MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
328
+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
329
+ COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE
330
+ PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER
331
+ OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
332
+ SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
333
+ CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY
334
+ COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
335
+ DISCLAIMER.
336
+ *
337
+
338
+ 6. TERMINATION.
339
+ o
340
+
341
+ 6.1. This License and the rights granted
342
+ hereunder will terminate automatically if You fail to comply
343
+ with terms herein and fail to cure such breach within 30
344
+ days of becoming aware of the breach. Provisions which, by
345
+ their nature, must remain in effect beyond the termination
346
+ of this License shall survive.
347
+ o
348
+
349
+ 6.2.
350
+ If You assert a patent infringement claim (excluding declaratory
351
+ judgment actions) against Initial Developer or a Contributor (the
352
+ Initial Developer or Contributor against whom You assert such claim is
353
+ referred to as Participant) alleging that the Participant Software
354
+ (meaning the Contributor Version where the Participant is a Contributor
355
+ or the Original Software where the Participant is the Initial
356
+ Developer) directly or indirectly infringes any patent, then any and
357
+ all rights granted directly or indirectly to You by such Participant,
358
+ the Initial Developer (if the Initial Developer is not the Participant)
359
+ and all Contributors under Sections 2.1 and/or 2.2 of this License
360
+ shall, upon 60 days notice from Participant terminate prospectively and
361
+ automatically at the expiration of such 60 day notice period, unless if
362
+ within such 60 day period You withdraw Your claim with respect to the
363
+ Participant Software against such Participant either unilaterally or
364
+ pursuant to a written agreement with Participant.
365
+ o
366
+
367
+ 6.3. In the event of termination under
368
+ Sections 6.1 or 6.2 above, all end user licenses
369
+ that have been
370
+ validly granted by You or any distributor hereunder prior to
371
+ termination (excluding licenses granted to You by any
372
+ distributor) shall survive termination.
373
+ *
374
+
375
+ 7. LIMITATION OF LIABILITY.
376
+
377
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER
378
+ TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL
379
+ YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY
380
+ DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF
381
+ SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT,
382
+ SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER
383
+ INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL,
384
+ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL
385
+ OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL
386
+ HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS
387
+ LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH
388
+ OR PERSONAL INJURY RESULTING FROM SUCH PARTYS
389
+ NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
390
+ LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
391
+ LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
392
+ EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
393
+ *
394
+
395
+ 8. U.S. GOVERNMENT END USERS.
396
+
397
+ The Covered Software is a commercial item, as
398
+ that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
399
+ consisting of commercial computer software (as
400
+ that term is defined at 48
401
+ C.F.R. 252.227-7014(a)(1)) and commercial
402
+ computer software documentation as such terms are used
403
+ in 48 C.F.R. 12.212 (Sept. 1995). Consistent with
404
+ 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
405
+ (June 1995), all U.S. Government End Users acquire Covered
406
+ Software with only those rights set forth herein. This
407
+ U.S. Government Rights clause is in lieu of, and supersedes,
408
+ any other FAR, DFAR, or other clause or provision that
409
+ addresses Government rights in computer software under this
410
+ License.
411
+ *
412
+
413
+ 9. MISCELLANEOUS.
414
+
415
+ This License represents the complete agreement concerning
416
+ subject matter hereof. If any provision of this License is
417
+ held to be unenforceable, such provision shall be reformed
418
+ only to the extent necessary to make it enforceable. This
419
+ License shall be governed by the law of the jurisdiction
420
+ specified in a notice contained within the Original Software
421
+ (except to the extent applicable law, if any, provides
422
+ otherwise), excluding such jurisdictions
423
+ conflict-of-law provisions. Any
424
+ litigation relating to this License shall be subject to the
425
+ jurisdiction of the courts located in the
426
+ jurisdiction and venue specified in a notice contained within
427
+ the Original Software, with the losing party responsible for
428
+ costs, including, without limitation, court costs and
429
+ reasonable attorneys fees and expenses. The
430
+ application of the United Nations Convention on Contracts for
431
+ the International Sale of Goods is expressly excluded. Any
432
+ law or regulation which provides that the language of a
433
+ contract shall be construed against the drafter shall not
434
+ apply to this License. You agree that You alone are
435
+ responsible for compliance with the United States export
436
+ administration regulations (and the export control laws and
437
+ regulation of any other countries) when You use, distribute or
438
+ otherwise make available any Covered Software.
439
+ *
440
+
441
+ 10. RESPONSIBILITY FOR CLAIMS.
442
+
443
+ As between Initial Developer and the Contributors, each
444
+ party is responsible for claims and damages arising, directly
445
+ or indirectly, out of its utilization of rights under this
446
+ License and You agree to work with Initial Developer and
447
+ Contributors to distribute such responsibility on an equitable
448
+ basis. Nothing herein is intended or shall be deemed to
449
+ constitute any admission of liability.
450
+
data/doc/README ADDED
@@ -0,0 +1,33 @@
1
+ LICENCE:
2
+ the author of this program(manqod) is Dobai-Pataky Balint(dpblnt dot gmail dot com)
3
+ manqod is distributed under the CDDL licence(http://www.opensource.org/licenses/cddl1.php)
4
+ don't worry this only means the following
5
+ * you can use it, copy it, modify it
6
+ * if you want your modifications to be distributed send them back to me, i'll merge them in
7
+ * nobody can sell it
8
+
9
+
10
+
11
+ manqod is a program witten in ruby, using ruby-gtk2 for the GKT+ toolkit
12
+ it's goal is to give us a frontend to manage our data in an sql server
13
+
14
+ it's simple:
15
+ - fire up your admin connection
16
+ - build the database, add relations in the relation builder
17
+ - design queries in the query builder
18
+ - use those queries in the lists and comboes
19
+ - design forms to modify the data, write custom events in ruby language for the forms
20
+ - design print views
21
+ - add buttons to lists, assign forms, prints to the buttons
22
+ - add menu items, assign lists to menu items
23
+ - fire up your client connection and test
24
+ isn't it simple? :)
25
+
26
+ i wrote it, becouse i was asked to, and i liked it to
27
+ i published it in hope that it will fit your needs
28
+ and you can help me polish it by sharing experience
29
+
30
+ thanks
31
+
32
+ balint
33
+
@@ -0,0 +1,177 @@
1
+ #!/usr/bin/ruby
2
+
3
+ #this file is part of manqod
4
+ #manqod is distributed under the CDDL licence
5
+ #the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)
6
+
7
+ #this loads the server, i test it against stability and speed
8
+
9
+ path=File::expand_path(File.join(File.dirname(__FILE__),"..",".."))
10
+ @@etc=File::expand_path(File.join(path,"etc"))
11
+ $LOAD_PATH.unshift(File::expand_path(File.join(path,"lib")))
12
+
13
+ require('thread')
14
+ Thread.abort_on_exception = true
15
+ #require('neverblock')
16
+
17
+ require('drb')
18
+ require('singleton')
19
+ require('Common/EDebug.rb')
20
+ require('Common/ManqodDB')
21
+ include Eprint
22
+ set_edebug("main","debug")
23
+ set_edebug("time","debug")
24
+ # -h argument
25
+
26
+ # -s argument
27
+ if idx=ARGV.index("-s")
28
+ server_uri=ARGV[idx+1]
29
+ end
30
+ # -b argument
31
+ if idx=ARGV.index("-b")
32
+ client_uri=ARGV[idx+1]
33
+ end
34
+ # -c argument
35
+ if idx=ARGV.index("-c")
36
+ connection=ARGV[idx+1]
37
+ end
38
+ # -f argument
39
+ fakes=1
40
+ if idx=ARGV.index("-f")
41
+ fakes=ARGV[idx+1].to_i
42
+ end
43
+ einfo("server_uri: #{server_uri}")
44
+ einfo("client_uri: #{client_uri}")
45
+ einfo("connection: #{connection}")
46
+ if idx=ARGV.index("-h") || server_uri.nil? || client_uri.nil? || connection.nil?
47
+ print "command line parameters:\n"
48
+ print "\tparam\tdescription\texample\n"
49
+ print "\t-h\tthis help\n"
50
+ print "\t-s\tserver_uri\tdruby://127.0.0.1:5549\n"
51
+ print "\t-b\tclient_uri\tdruby://127.0.0.1:0\n"
52
+ print "\t-c\tconnection\tbooks\n"
53
+ print "\t-f\tfake consumers to subscribe to each model\t1\n"
54
+ exit
55
+ end
56
+ begin
57
+ client_server=DRb.start_service(client_uri)
58
+ manqod_server=DRb::DRbObject.new(nil,server_uri)
59
+ rescue =>e
60
+ eerror(e.message,"server_uri: #{server_uri}\nclient_uri: #{client_uri}")
61
+ exit
62
+ end
63
+ begin
64
+ einfo("server alive?: #{manqod_server.alive?}")
65
+ rescue
66
+ eerror("can't connect to server","server_uri: #{server_uri}")
67
+ exit
68
+ end
69
+
70
+ unless connection.nil?
71
+ begin
72
+ conn=manqod_server.conn(connection)
73
+ if conn.class == Hash
74
+ ManqodDB.instance.set_manqod_db_uri(conn['uri'])
75
+ else
76
+ eerror("connection not available","connection: #{connection}")
77
+ end
78
+ rescue =>e
79
+ eerror(e.message,"connection: #{connection}")
80
+ exit
81
+ end
82
+ end
83
+
84
+ einfo("connected")
85
+
86
+ class Array;
87
+ def sum; inject( nil ) { |sum,x| sum ? sum+x : x }; end;
88
+ def avg; sum / size; end;
89
+ def min;min=first;inject{|min,x| min >x ? x : min};end
90
+ def max;max=first;inject{|max,x| max<x ? x : max};end
91
+ end
92
+
93
+ class FakeDrbListModel
94
+ include DRbUndumped
95
+ def initialize(drbmodel)
96
+ @drbmodel=drbmodel
97
+ @rcv=0
98
+ end
99
+ attr_reader :rcv
100
+ def subscribe
101
+ @drbmodel.subscribe(self)
102
+ end
103
+ def update(notifier,ids=nil,notification_subect=nil)
104
+ #einfo("updating: #{notifier},#{ids},#{notification_subect}")
105
+ @rcv+=1
106
+ end
107
+ def destroy
108
+ @drbmodel.unsubscribe(self)
109
+ end
110
+ def alive?
111
+ true
112
+ end
113
+ end
114
+
115
+ edebug("started")
116
+ #subscriptions
117
+ fmodels=Hash.new
118
+ ManqodDB.instance.manqod_db.moditems.each_pair{|modid,moditem|
119
+ a=Array.new
120
+ fakes.times{
121
+ fk=FakeDrbListModel.new(moditem)
122
+ a.push(fk) if fk.subscribe
123
+ }
124
+ fmodels[modid]=a
125
+ # einfo("#{moditem.moditem["display"]} -> #{a.size} subscribed")
126
+ }
127
+
128
+ #send lock/changed/unlock on each row of each model and fetch those models in the same time
129
+ #the longer it takes to iterate the model, the more it'll be fetched
130
+ threads=Array.new
131
+ lt=Hash.new
132
+ ManqodDB.instance.manqod_db.moditems.each_pair{|modid,moditem|
133
+ lt[modid]=Array.new
134
+ threads.push(Thread.new{
135
+ t=Thread.new{
136
+ res=moditem.filtered_fetch2
137
+ if res.first.class.name == "Hash"
138
+ res.each{|row|
139
+ if row[0].class.name == "Fixnum"
140
+ begin
141
+ moditem.lock_iter(row[0])
142
+ moditem.rows_changed(row[0])
143
+ moditem.unlock_iter(row[0])
144
+ rescue =>e
145
+ eerror("notify:#{moditem.moditem["display"]}:#{row[0]}:#{e.message}\n#{e.backtrace.join("\n")}")
146
+ end
147
+ end
148
+ }
149
+ end
150
+ }
151
+ while t.alive? do
152
+ before=Time.now
153
+ begin
154
+ res=moditem.filtered_fetch2
155
+ rescue =>e
156
+ eerror("fetch:#{moditem.moditem["display"]}:#{e.message}\n#{e.backtrace.join("\n")}")
157
+ end
158
+ update_time=Time.now.to_f-before.to_f
159
+ lt[modid].push(update_time)
160
+ sleep 1
161
+ end
162
+ t.join
163
+ }
164
+ )
165
+ }
166
+ threads.each{|t| t.join}
167
+
168
+ #results
169
+ lt.each{|modid,l|
170
+ rcv=0
171
+ #unsubscriptions
172
+ fmodels[modid].each{|fake| rcv+=fake.rcv;fake.destroy}
173
+ einfo("#{ManqodDB.instance.manqod_db.moditem(modid).moditem["display"]} -> downloads:#{l.size} (min:#{sprintf("%.2fs",l.min)} max:#{sprintf("%.2fs",l.max)} avg:#{sprintf("%.2fs",l.avg)}) (fakes:#{fmodels[modid].size}, received:#{rcv})")
174
+ }
175
+
176
+ edebug("finished")
177
+
data/doc/manqod.png ADDED
Binary file