rghost 0.7.4 → 0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rghost/border.rb +44 -0
- data/lib/rghost/callback.rb +25 -22
- data/lib/rghost/circle.rb +102 -0
- data/lib/rghost/color.rb +81 -56
- data/lib/rghost/constants.rb +599 -589
- data/lib/rghost/convert.rb +26 -7
- data/lib/rghost/cursor.rb +90 -58
- data/lib/rghost/dash.rb +59 -0
- data/lib/rghost/document.rb +334 -311
- data/lib/rghost/document_callback_facade.rb +64 -0
- data/lib/rghost/dsc_entry.rb +12 -12
- data/lib/rghost/dynamic_document_callback.rb +6 -18
- data/lib/rghost/eps.rb +17 -8
- data/lib/rghost/font.rb +19 -23
- data/lib/rghost/font_map.rb +40 -0
- data/lib/rghost/frame.rb +105 -0
- data/lib/rghost/function.rb +19 -21
- data/lib/rghost/gif.rb +22 -9
- data/lib/rghost/graphic.rb +3 -3
- data/lib/rghost/grid/base_grid.rb +218 -0
- data/lib/rghost/grid/callback_facade.rb +136 -0
- data/lib/rghost/grid/csv_grid.rb +50 -0
- data/lib/rghost/{data_grid → grid}/dynamic_callback.rb +2 -2
- data/lib/rghost/grid/field_format.rb +43 -0
- data/lib/rghost/grid/grid.rb +15 -0
- data/lib/rghost/grid/header.rb +120 -0
- data/lib/rghost/grid/matrix.rb +10 -0
- data/lib/rghost/grid/rails_grid.rb +70 -0
- data/lib/rghost/{data_grid → grid}/static_callback.rb +4 -4
- data/lib/rghost/grid/style/border_lines.rb +46 -0
- data/lib/rghost/grid/style/bottom_lines.rb +30 -0
- data/lib/rghost/grid/style/old_forms.rb +30 -0
- data/lib/rghost/grid/style/style.rb +8 -0
- data/lib/rghost/gs_alone.rb +7 -5
- data/lib/rghost/helpers.rb +4 -4
- data/lib/rghost/horizontal_line.rb +35 -19
- data/lib/rghost/how_to.rb +75 -0
- data/lib/rghost/image.rb +8 -8
- data/lib/rghost/jpeg.rb +21 -8
- data/lib/rghost/line.rb +66 -17
- data/lib/rghost/line_width.rb +19 -8
- data/lib/rghost/load.rb +24 -22
- data/lib/rghost/newpath.rb +8 -7
- data/lib/rghost/paper.rb +100 -41
- data/lib/rghost/parse_text.rb +53 -0
- data/lib/rghost/point.rb +9 -8
- data/lib/rghost/point_with_command.rb +5 -5
- data/lib/rghost/polygon.rb +75 -0
- data/lib/rghost/ps/AdobeExpert.enc +0 -0
- data/lib/rghost/ps/AdobeLatinEncoding.enc +0 -0
- data/lib/rghost/ps/Bengali.enc +0 -0
- data/lib/rghost/ps/CodePage1250.enc +0 -0
- data/lib/rghost/ps/CodePage1251.enc +0 -0
- data/lib/rghost/ps/CodePage1252.enc +0 -0
- data/lib/rghost/ps/CodePage1253.enc +0 -0
- data/lib/rghost/ps/CodePage1254.enc +0 -0
- data/lib/rghost/ps/CodePage1256.enc +0 -0
- data/lib/rghost/ps/CodePage1257.enc +0 -0
- data/lib/rghost/ps/CodePage1258.enc +0 -0
- data/lib/rghost/ps/CodePage874.enc +0 -0
- data/lib/rghost/ps/Fontmap +5 -0
- data/lib/rghost/ps/IsoLatin.enc +0 -0
- data/lib/rghost/ps/MacCentralEuropean.enc +0 -0
- data/lib/rghost/ps/{MacCyrillice.enc → MacCyrillice.desnc} +0 -0
- data/lib/rghost/ps/MacGreek.enc +0 -0
- data/lib/rghost/ps/MacHebrew.enc +0 -0
- data/lib/rghost/ps/TeX-CorkEncoding.enc +0 -0
- data/lib/rghost/ps/TeX-LGR-Greek.enc +0 -0
- data/lib/rghost/ps/TeX-T2AModified2Encoding.enc +0 -0
- data/lib/rghost/ps/TeX-T2BAdobeEncoding.enc +0 -0
- data/lib/rghost/ps/TeX-T2CAdobeEncoding.enc +0 -0
- data/lib/rghost/ps/TeX-X2AdobeEncoding.enc +0 -0
- data/lib/rghost/ps/TeX-XL2encoding.enc +0 -0
- data/lib/rghost/ps/TeXMathExtensionEncoding.enc +0 -0
- data/lib/rghost/ps/TeXMathItalicEncoding.enc +0 -0
- data/lib/rghost/ps/TeXMathSymbolEncoding.enc +0 -0
- data/lib/rghost/ps/US-ASCII.enc +0 -0
- data/lib/rghost/ps/UTF-8.enc +0 -0
- data/lib/rghost/ps/__datagrid.ps +52 -0
- data/lib/rghost/ps/_cusor.ps +46 -0
- data/lib/rghost/ps/basic.ps +12 -1
- data/lib/rghost/ps/begin_document.ps +1 -0
- data/lib/rghost/ps/callbacks.ps +32 -3
- data/lib/rghost/ps/code128.font +0 -0
- data/lib/rghost/ps/code39.font +0 -0
- data/lib/rghost/ps/cursor.ps +77 -13
- data/lib/rghost/ps/datagrid.ps +4 -1
- data/lib/rghost/ps/developer.ps +237 -0
- data/lib/rghost/ps/ean.font +0 -0
- data/lib/rghost/ps/eps.ps +0 -0
- data/lib/rghost/ps/font.ps +8 -1
- data/lib/rghost/ps/frame.ps +16 -0
- data/lib/rghost/ps/gif.ps +0 -0
- data/lib/rghost/ps/horizontal_line.ps +4 -3
- data/lib/rghost/ps/i25.font +0 -0
- data/lib/rghost/ps/jpeg.ps +0 -0
- data/lib/rghost/ps/paper.ps +0 -0
- data/lib/rghost/ps/rectangle.ps +0 -0
- data/lib/rghost/ps/rghost_default_template.eps +1532 -0
- data/lib/rghost/ps/row.ps +0 -0
- data/lib/rghost/ps/show.ps +2 -1
- data/lib/rghost/ps/table_callbacks.ps +0 -0
- data/lib/rghost/ps/text.ps +63 -0
- data/lib/rghost/ps/textarea.ps +1 -1
- data/lib/rghost/ps/type.ps +0 -0
- data/lib/rghost/ps/unit.ps +0 -0
- data/lib/rghost/ps/vertical_line.ps +2 -4
- data/lib/rghost/ps/virtual_pages.ps +55 -0
- data/lib/rghost/ps_facade.rb +256 -0
- data/lib/rghost/ps_object.rb +24 -20
- data/lib/rghost/rgengine.so +0 -0
- data/lib/rghost/ruby_ghost_config.rb +224 -16
- data/lib/rghost/ruby_ghost_engine.rb +32 -55
- data/lib/rghost/ruby_ghost_version.rb +8 -0
- data/lib/rghost/ruby_to_ps.rb +52 -78
- data/lib/rghost/scale.rb +22 -7
- data/lib/rghost/shape_content.rb +23 -0
- data/lib/rghost/show.rb +77 -20
- data/lib/rghost/static_document_callback.rb +3 -7
- data/lib/rghost/text.rb +44 -0
- data/lib/rghost/text_in.rb +36 -14
- data/lib/rghost/textarea.rb +66 -93
- data/lib/rghost/units.rb +45 -44
- data/lib/rghost/variable.rb +4 -4
- data/lib/rghost/vertical_line.rb +27 -19
- data/lib/rghost/virtual_pages.rb +42 -0
- data/lib/rghost.rb +16 -2
- metadata +153 -500
- data/lib/rghost/arc.rb +0 -39
- data/lib/rghost/barcode.rb +0 -40
- data/lib/rghost/data_grid/basic_grid.rb +0 -136
- data/lib/rghost/data_grid/csv_grid.rb +0 -27
- data/lib/rghost/data_grid/data_grid.rb +0 -14
- data/lib/rghost/data_grid/field_format.rb +0 -60
- data/lib/rghost/data_grid/grid.rb +0 -18
- data/lib/rghost/data_grid/header.rb +0 -111
- data/lib/rghost/data_grid/rails_grid.rb +0 -62
- data/lib/rghost/data_grid/style/border_lines.rb +0 -47
- data/lib/rghost/data_grid/style/bottom_lines.rb +0 -30
- data/lib/rghost/data_grid/style/old_forms.rb +0 -30
- data/lib/rghost/data_grid/style/style.rb +0 -8
- data/lib/rghost/doc/classes/Arc.html +0 -200
- data/lib/rghost/doc/classes/Arc.src/M000049.html +0 -18
- data/lib/rghost/doc/classes/Arc.src/M000050.html +0 -23
- data/lib/rghost/doc/classes/Barcode.html +0 -214
- data/lib/rghost/doc/classes/Barcode.src/M000001.html +0 -19
- data/lib/rghost/doc/classes/Barcode.src/M000002.html +0 -18
- data/lib/rghost/doc/classes/Barcode.src/M000003.html +0 -19
- data/lib/rghost/doc/classes/Barcode.src/M000004.html +0 -27
- data/lib/rghost/doc/classes/CMYK.html +0 -209
- data/lib/rghost/doc/classes/CMYK.src/M000047.html +0 -18
- data/lib/rghost/doc/classes/CMYK.src/M000048.html +0 -24
- data/lib/rghost/doc/classes/Callback.html +0 -220
- data/lib/rghost/doc/classes/Callback.src/M000071.html +0 -21
- data/lib/rghost/doc/classes/Callback.src/M000072.html +0 -26
- data/lib/rghost/doc/classes/Color.html +0 -175
- data/lib/rghost/doc/classes/Color.src/M000028.html +0 -33
- data/lib/rghost/doc/classes/Constants/Colors.html +0 -129
- data/lib/rghost/doc/classes/Constants/Devices.html +0 -163
- data/lib/rghost/doc/classes/Constants/Devices.src/M000168.html +0 -22
- data/lib/rghost/doc/classes/Constants/Fonts.html +0 -144
- data/lib/rghost/doc/classes/Constants/Papers.html +0 -124
- data/lib/rghost/doc/classes/Constants.html +0 -120
- data/lib/rghost/doc/classes/Convert.html +0 -189
- data/lib/rghost/doc/classes/Convert.src/M000067.html +0 -20
- data/lib/rghost/doc/classes/Convert.src/M000068.html +0 -24
- data/lib/rghost/doc/classes/Cursor.html +0 -330
- data/lib/rghost/doc/classes/Cursor.src/M000031.html +0 -21
- data/lib/rghost/doc/classes/Cursor.src/M000032.html +0 -21
- data/lib/rghost/doc/classes/Cursor.src/M000033.html +0 -20
- data/lib/rghost/doc/classes/Cursor.src/M000034.html +0 -18
- data/lib/rghost/doc/classes/Cursor.src/M000035.html +0 -18
- data/lib/rghost/doc/classes/Cursor.src/M000036.html +0 -19
- data/lib/rghost/doc/classes/Cursor.src/M000037.html +0 -22
- data/lib/rghost/doc/classes/Cursor.src/M000038.html +0 -18
- data/lib/rghost/doc/classes/Cursor.src/M000039.html +0 -18
- data/lib/rghost/doc/classes/DSCEntry.html +0 -173
- data/lib/rghost/doc/classes/DSCEntry.src/M000059.html +0 -19
- data/lib/rghost/doc/classes/DSCEntry.src/M000060.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.html +0 -343
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000140.html +0 -27
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000141.html +0 -26
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000142.html +0 -22
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000143.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000144.html +0 -26
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000145.html +0 -34
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000146.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000147.html +0 -37
- data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000148.html +0 -26
- data/lib/rghost/doc/classes/DataGrid/CSVGrid.html +0 -152
- data/lib/rghost/doc/classes/DataGrid/CSVGrid.src/M000139.html +0 -32
- data/lib/rghost/doc/classes/DataGrid/DynamicCallback.html +0 -158
- data/lib/rghost/doc/classes/DataGrid/DynamicCallback.src/M000149.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.html +0 -176
- data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000136.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000137.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000138.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/FieldFormat.html +0 -216
- data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000131.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000132.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000133.html +0 -23
- data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000134.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000135.html +0 -22
- data/lib/rghost/doc/classes/DataGrid/Grid.html +0 -148
- data/lib/rghost/doc/classes/DataGrid/Grid.src/M000160.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/Header.html +0 -367
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000150.html +0 -26
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000151.html +0 -25
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000152.html +0 -24
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000153.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000154.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000155.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000156.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000157.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000158.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/Header.src/M000159.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/RailsGrid.html +0 -234
- data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000161.html +0 -27
- data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000162.html +0 -23
- data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000163.html +0 -18
- data/lib/rghost/doc/classes/DataGrid/StaticCallback.html +0 -158
- data/lib/rghost/doc/classes/DataGrid/StaticCallback.src/M000164.html +0 -19
- data/lib/rghost/doc/classes/DataGrid/Style/BorderLines.html +0 -137
- data/lib/rghost/doc/classes/DataGrid/Style/BorderLines.src/M000128.html +0 -55
- data/lib/rghost/doc/classes/DataGrid/Style/BottomLines.html +0 -137
- data/lib/rghost/doc/classes/DataGrid/Style/BottomLines.src/M000129.html +0 -38
- data/lib/rghost/doc/classes/DataGrid/Style/OldForms.html +0 -137
- data/lib/rghost/doc/classes/DataGrid/Style/OldForms.src/M000130.html +0 -38
- data/lib/rghost/doc/classes/DataGrid/Style.html +0 -113
- data/lib/rghost/doc/classes/DataGrid.html +0 -133
- data/lib/rghost/doc/classes/Document.html +0 -990
- data/lib/rghost/doc/classes/Document.src/M000075.html +0 -32
- data/lib/rghost/doc/classes/Document.src/M000076.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000077.html +0 -29
- data/lib/rghost/doc/classes/Document.src/M000078.html +0 -33
- data/lib/rghost/doc/classes/Document.src/M000079.html +0 -20
- data/lib/rghost/doc/classes/Document.src/M000080.html +0 -21
- data/lib/rghost/doc/classes/Document.src/M000081.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000082.html +0 -19
- data/lib/rghost/doc/classes/Document.src/M000083.html +0 -21
- data/lib/rghost/doc/classes/Document.src/M000084.html +0 -22
- data/lib/rghost/doc/classes/Document.src/M000085.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000086.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000087.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000088.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000089.html +0 -19
- data/lib/rghost/doc/classes/Document.src/M000090.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000091.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000092.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000093.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000094.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000095.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000096.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000097.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000098.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000099.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000100.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000101.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000102.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000103.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000104.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000105.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000106.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000107.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000108.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000109.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000110.html +0 -18
- data/lib/rghost/doc/classes/Document.src/M000111.html +0 -20
- data/lib/rghost/doc/classes/Document.src/M000112.html +0 -19
- data/lib/rghost/doc/classes/Document.src/M000113.html +0 -19
- data/lib/rghost/doc/classes/DynamicDocumentCallback.html +0 -175
- data/lib/rghost/doc/classes/DynamicDocumentCallback.src/M000022.html +0 -19
- data/lib/rghost/doc/classes/Eps.html +0 -168
- data/lib/rghost/doc/classes/Eps.src/M000063.html +0 -20
- data/lib/rghost/doc/classes/Eps.src/M000064.html +0 -20
- data/lib/rghost/doc/classes/Font.html +0 -205
- data/lib/rghost/doc/classes/Font.src/M000061.html +0 -22
- data/lib/rghost/doc/classes/Font.src/M000062.html +0 -37
- data/lib/rghost/doc/classes/Function.html +0 -196
- data/lib/rghost/doc/classes/Function.src/M000045.html +0 -27
- data/lib/rghost/doc/classes/Function.src/M000046.html +0 -20
- data/lib/rghost/doc/classes/GSAlone.html +0 -154
- data/lib/rghost/doc/classes/GSAlone.src/M000065.html +0 -19
- data/lib/rghost/doc/classes/GSAlone.src/M000066.html +0 -22
- data/lib/rghost/doc/classes/Gif.html +0 -148
- data/lib/rghost/doc/classes/Gif.src/M000040.html +0 -30
- data/lib/rghost/doc/classes/Graphic.html +0 -153
- data/lib/rghost/doc/classes/Graphic.src/M000014.html +0 -18
- data/lib/rghost/doc/classes/Gray.html +0 -181
- data/lib/rghost/doc/classes/Gray.src/M000026.html +0 -18
- data/lib/rghost/doc/classes/Gray.src/M000027.html +0 -19
- data/lib/rghost/doc/classes/Helpers/HashKeyMethod.html +0 -131
- data/lib/rghost/doc/classes/Helpers/HashKeyMethod.src/M000127.html +0 -18
- data/lib/rghost/doc/classes/Helpers/HashKeyMethodClass.html +0 -118
- data/lib/rghost/doc/classes/Helpers.html +0 -112
- data/lib/rghost/doc/classes/HorizontalLine.html +0 -186
- data/lib/rghost/doc/classes/HorizontalLine.src/M000023.html +0 -23
- data/lib/rghost/doc/classes/Image.html +0 -176
- data/lib/rghost/doc/classes/Image.src/M000042.html +0 -20
- data/lib/rghost/doc/classes/Image.src/M000043.html +0 -26
- data/lib/rghost/doc/classes/Jpeg.html +0 -148
- data/lib/rghost/doc/classes/Jpeg.src/M000013.html +0 -28
- data/lib/rghost/doc/classes/Line.html +0 -190
- data/lib/rghost/doc/classes/Line.src/M000069.html +0 -20
- data/lib/rghost/doc/classes/Line.src/M000070.html +0 -19
- data/lib/rghost/doc/classes/LineWidth.html +0 -172
- data/lib/rghost/doc/classes/LineWidth.src/M000005.html +0 -18
- data/lib/rghost/doc/classes/LineWidth.src/M000006.html +0 -18
- data/lib/rghost/doc/classes/Load.html +0 -161
- data/lib/rghost/doc/classes/Load.src/M000165.html +0 -21
- data/lib/rghost/doc/classes/Load.src/M000166.html +0 -34
- data/lib/rghost/doc/classes/Load.src/M000167.html +0 -19
- data/lib/rghost/doc/classes/NewPath.html +0 -153
- data/lib/rghost/doc/classes/NewPath.src/M000041.html +0 -18
- data/lib/rghost/doc/classes/Paper.html +0 -213
- data/lib/rghost/doc/classes/Paper.src/M000010.html +0 -20
- data/lib/rghost/doc/classes/Paper.src/M000011.html +0 -24
- data/lib/rghost/doc/classes/Paper.src/M000012.html +0 -20
- data/lib/rghost/doc/classes/Point.html +0 -180
- data/lib/rghost/doc/classes/Point.src/M000073.html +0 -20
- data/lib/rghost/doc/classes/Point.src/M000074.html +0 -18
- data/lib/rghost/doc/classes/PointWithCommand.html +0 -150
- data/lib/rghost/doc/classes/PointWithCommand.src/M000115.html +0 -22
- data/lib/rghost/doc/classes/PsObject.html +0 -269
- data/lib/rghost/doc/classes/PsObject.src/M000015.html +0 -25
- data/lib/rghost/doc/classes/PsObject.src/M000016.html +0 -18
- data/lib/rghost/doc/classes/PsObject.src/M000017.html +0 -18
- data/lib/rghost/doc/classes/PsObject.src/M000018.html +0 -18
- data/lib/rghost/doc/classes/PsObject.src/M000019.html +0 -21
- data/lib/rghost/doc/classes/PsObject.src/M000020.html +0 -19
- data/lib/rghost/doc/classes/PsObject.src/M000021.html +0 -18
- data/lib/rghost/doc/classes/RGB.html +0 -213
- data/lib/rghost/doc/classes/RGB.src/M000024.html +0 -21
- data/lib/rghost/doc/classes/RGB.src/M000025.html +0 -25
- data/lib/rghost/doc/classes/Rectangle.html +0 -226
- data/lib/rghost/doc/classes/Rectangle.src/M000056.html +0 -18
- data/lib/rghost/doc/classes/Rectangle.src/M000057.html +0 -24
- data/lib/rghost/doc/classes/Rectangle.src/M000058.html +0 -21
- data/lib/rghost/doc/classes/RubyGhostConfig.html +0 -144
- data/lib/rghost/doc/classes/RubyGhostConfig.src/M000118.html +0 -22
- data/lib/rghost/doc/classes/RubyGhostEngine.html +0 -261
- data/lib/rghost/doc/classes/RubyGhostEngine.src/M000007.html +0 -24
- data/lib/rghost/doc/classes/RubyGhostEngine.src/M000008.html +0 -96
- data/lib/rghost/doc/classes/RubyGhostEngine.src/M000009.html +0 -21
- data/lib/rghost/doc/classes/RubyToPs.html +0 -272
- data/lib/rghost/doc/classes/RubyToPs.src/M000119.html +0 -23
- data/lib/rghost/doc/classes/RubyToPs.src/M000120.html +0 -18
- data/lib/rghost/doc/classes/RubyToPs.src/M000121.html +0 -18
- data/lib/rghost/doc/classes/RubyToPs.src/M000122.html +0 -19
- data/lib/rghost/doc/classes/RubyToPs.src/M000123.html +0 -30
- data/lib/rghost/doc/classes/RubyToPs.src/M000124.html +0 -18
- data/lib/rghost/doc/classes/RubyToPs.src/M000125.html +0 -18
- data/lib/rghost/doc/classes/RubyToPs.src/M000126.html +0 -30
- data/lib/rghost/doc/classes/Scale.html +0 -153
- data/lib/rghost/doc/classes/Scale.src/M000114.html +0 -18
- data/lib/rghost/doc/classes/Show.html +0 -203
- data/lib/rghost/doc/classes/Show.src/M000052.html +0 -20
- data/lib/rghost/doc/classes/Show.src/M000053.html +0 -19
- data/lib/rghost/doc/classes/StaticDocumentCallback.html +0 -168
- data/lib/rghost/doc/classes/StaticDocumentCallback.src/M000051.html +0 -19
- data/lib/rghost/doc/classes/TextArea.html +0 -217
- data/lib/rghost/doc/classes/TextArea.src/M000029.html +0 -22
- data/lib/rghost/doc/classes/TextArea.src/M000030.html +0 -24
- data/lib/rghost/doc/classes/TextIn.html +0 -201
- data/lib/rghost/doc/classes/TextIn.src/M000054.html +0 -19
- data/lib/rghost/doc/classes/TextIn.src/M000055.html +0 -24
- data/lib/rghost/doc/classes/Units/Cm.html +0 -145
- data/lib/rghost/doc/classes/Units/Cm.src/M000175.html +0 -19
- data/lib/rghost/doc/classes/Units/Inch.html +0 -145
- data/lib/rghost/doc/classes/Units/Inch.src/M000174.html +0 -18
- data/lib/rghost/doc/classes/Units/PSUnit.html +0 -139
- data/lib/rghost/doc/classes/Units/PSUnit.src/M000170.html +0 -18
- data/lib/rghost/doc/classes/Units/Unit.html +0 -190
- data/lib/rghost/doc/classes/Units/Unit.src/M000171.html +0 -18
- data/lib/rghost/doc/classes/Units/Unit.src/M000172.html +0 -19
- data/lib/rghost/doc/classes/Units/Unit.src/M000173.html +0 -18
- data/lib/rghost/doc/classes/Units.html +0 -166
- data/lib/rghost/doc/classes/Units.src/M000169.html +0 -22
- data/lib/rghost/doc/classes/Variable.html +0 -152
- data/lib/rghost/doc/classes/Variable.src/M000044.html +0 -18
- data/lib/rghost/doc/classes/VerticalLine.html +0 -175
- data/lib/rghost/doc/classes/VerticalLine.src/M000116.html +0 -23
- data/lib/rghost/doc/classes/VerticalLine.src/M000117.html +0 -19
- data/lib/rghost/doc/created.rid +0 -1
- data/lib/rghost/doc/files/arc_rb.html +0 -109
- data/lib/rghost/doc/files/barcode_rb.html +0 -108
- data/lib/rghost/doc/files/callback_rb.html +0 -109
- data/lib/rghost/doc/files/color_rb.html +0 -110
- data/lib/rghost/doc/files/constants_rb.html +0 -108
- data/lib/rghost/doc/files/convert_rb.html +0 -107
- data/lib/rghost/doc/files/cursor_rb.html +0 -110
- data/lib/rghost/doc/files/data_grid/basic_grid_rb.html +0 -108
- data/lib/rghost/doc/files/data_grid/csv_grid_rb.html +0 -108
- data/lib/rghost/doc/files/data_grid/data_grid_rb.html +0 -116
- data/lib/rghost/doc/files/data_grid/dynamic_callback_rb.html +0 -108
- data/lib/rghost/doc/files/data_grid/field_format_rb.html +0 -109
- data/lib/rghost/doc/files/data_grid/grid_rb.html +0 -108
- data/lib/rghost/doc/files/data_grid/header_rb.html +0 -113
- data/lib/rghost/doc/files/data_grid/rails_grid_rb.html +0 -108
- data/lib/rghost/doc/files/data_grid/static_callback_rb.html +0 -109
- data/lib/rghost/doc/files/data_grid/style/border_lines_rb.html +0 -101
- data/lib/rghost/doc/files/data_grid/style/bottom_lines_rb.html +0 -101
- data/lib/rghost/doc/files/data_grid/style/old_forms_rb.html +0 -101
- data/lib/rghost/doc/files/data_grid/style/style_rb.html +0 -110
- data/lib/rghost/doc/files/document_rb.html +0 -150
- data/lib/rghost/doc/files/dsc_entry_rb.html +0 -108
- data/lib/rghost/doc/files/dynamic_document_callback_rb.html +0 -108
- data/lib/rghost/doc/files/eps_rb.html +0 -108
- data/lib/rghost/doc/files/font_rb.html +0 -110
- data/lib/rghost/doc/files/function_rb.html +0 -108
- data/lib/rghost/doc/files/gif_rb.html +0 -114
- data/lib/rghost/doc/files/graphic_rb.html +0 -113
- data/lib/rghost/doc/files/gs_alone_rb.html +0 -101
- data/lib/rghost/doc/files/helpers_rb.html +0 -101
- data/lib/rghost/doc/files/horizontal_line_rb.html +0 -109
- data/lib/rghost/doc/files/image_rb.html +0 -108
- data/lib/rghost/doc/files/jpeg_rb.html +0 -112
- data/lib/rghost/doc/files/line_rb.html +0 -109
- data/lib/rghost/doc/files/line_width_rb.html +0 -108
- data/lib/rghost/doc/files/load_rb.html +0 -108
- data/lib/rghost/doc/files/newpath_rb.html +0 -113
- data/lib/rghost/doc/files/paper_rb.html +0 -112
- data/lib/rghost/doc/files/point_rb.html +0 -109
- data/lib/rghost/doc/files/point_with_command_rb.html +0 -109
- data/lib/rghost/doc/files/ps_object_rb.html +0 -107
- data/lib/rghost/doc/files/rectangle_rb.html +0 -110
- data/lib/rghost/doc/files/rghost_rb.html +0 -109
- data/lib/rghost/doc/files/ruby_ghost_config_rb.html +0 -109
- data/lib/rghost/doc/files/ruby_ghost_engine_rb.html +0 -111
- data/lib/rghost/doc/files/ruby_to_ps_rb.html +0 -107
- data/lib/rghost/doc/files/scale_rb.html +0 -108
- data/lib/rghost/doc/files/show_rb.html +0 -109
- data/lib/rghost/doc/files/static_document_callback_rb.html +0 -109
- data/lib/rghost/doc/files/text_in_rb.html +0 -110
- data/lib/rghost/doc/files/textarea_rb.html +0 -111
- data/lib/rghost/doc/files/units_rb.html +0 -109
- data/lib/rghost/doc/files/variable_rb.html +0 -108
- data/lib/rghost/doc/files/version_rb.html +0 -101
- data/lib/rghost/doc/files/vertical_line_rb.html +0 -110
- data/lib/rghost/doc/fr_class_index.html +0 -93
- data/lib/rghost/doc/fr_file_index.html +0 -81
- data/lib/rghost/doc/fr_method_index.html +0 -201
- data/lib/rghost/doc/index.html +0 -24
- data/lib/rghost/ps/functions.ps +0 -646
- data/lib/rghost/rectangle.rb +0 -39
- data/lib/rghost/rghost.rb +0 -3
- data/lib/rghost/version.rb +0 -9
@@ -0,0 +1,218 @@
|
|
1
|
+
require 'enumerator'
|
2
|
+
# RGhost::Grid::Base is a helper object to create a tabular
|
3
|
+
# representations, composed of rows, columns and a title. This
|
4
|
+
# prototype used to join the common attributes for data grids. To use
|
5
|
+
# a Grid you must first setup the columns, then load the data.
|
6
|
+
#
|
7
|
+
# Example:
|
8
|
+
# grid=Grid::Matrix.new
|
9
|
+
# grid.column :title => "Code", :width => 1
|
10
|
+
# grid.column :title => "Name", :width => 3, :align => :center
|
11
|
+
# grid.column :title => "Date", :width => 3, :align => :center
|
12
|
+
#
|
13
|
+
# Note that both the width and align of the last two columns are
|
14
|
+
# identical. To avoid repetition, you can specify a default width upon
|
15
|
+
# creating the DataGrid::Grid object. Any columns that do not specify
|
16
|
+
# an explicit width and align property will inherit the defaults.
|
17
|
+
#
|
18
|
+
# Example:
|
19
|
+
#
|
20
|
+
# grid=Grid::Matrix.new :width => 3, :align => :center
|
21
|
+
# grid.column :title => "Code", :width => 1 #:width => 1, :align => :center
|
22
|
+
# grid.column :title => "Name" #:width => 3, :align => :center
|
23
|
+
# grid.column :title => "Date" #:width => 3, :align => :center
|
24
|
+
#
|
25
|
+
# The actual content needs to be passed in as an array of arrays
|
26
|
+
#
|
27
|
+
# values=[
|
28
|
+
# [1,"Name 1", Time.now],
|
29
|
+
# [2,"Name 2", Time.now],
|
30
|
+
# [3,"Name 3", Time.now],
|
31
|
+
# [4,"Name 4", Time.now],
|
32
|
+
# [5,"Name 5", Time.now]
|
33
|
+
# ]
|
34
|
+
#
|
35
|
+
# Bind the content to the grid:
|
36
|
+
# grid.data(values)
|
37
|
+
# Add the Grid to a document
|
38
|
+
# d=Document.new
|
39
|
+
# d.set grid
|
40
|
+
#
|
41
|
+
class RGhost::Grid::Base < RGhost::PsObject
|
42
|
+
attr_reader :header
|
43
|
+
attr_accessor :column_padding
|
44
|
+
include RGhost::RubyToPs
|
45
|
+
include RGhost::Grid::CallbackFacade
|
46
|
+
|
47
|
+
#===Options
|
48
|
+
#* <tt>:headings</tt> - To disable headers set this attribute to false.
|
49
|
+
#* <tt>:column_padding</tt> - Padding between column content and its edge.
|
50
|
+
#* <tt>:width</tt> - Width for all columns.
|
51
|
+
#* <tt>:align</tt> - Align for all data(:left, :center and :right).
|
52
|
+
#* <tt>:title_align</tt> - Align for all the header's name(:left, :center and :right).
|
53
|
+
def initialize(options={})
|
54
|
+
|
55
|
+
@header=RGhost::Grid::Header.new( (options[:headings] == false)?false:true )
|
56
|
+
@header.default_options(options)
|
57
|
+
@callbacks=RGhost::PsObject.new
|
58
|
+
@column_padding= options[:column_padding] || 0.1
|
59
|
+
@record_count=1
|
60
|
+
@data=[]
|
61
|
+
@data[0]=[]
|
62
|
+
@data_index=0
|
63
|
+
@max_stack=RGhost::Config::GS[:stack_elements]
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
# Defines properties of a column. Parameters are the same as for new,
|
68
|
+
# plus some additional ones like :format.
|
69
|
+
# * <tt>:format</tt> - Format of the data. You can format data in four
|
70
|
+
# different ways with Rghost, passing in a Symbol
|
71
|
+
# a String a Class or Proc.
|
72
|
+
#
|
73
|
+
# ==== :format Parameters type
|
74
|
+
# * Symbol - Searches for a method defined as Grid::FieldFormat::method_name
|
75
|
+
# :format => :eurodate
|
76
|
+
# * Class - A class that inherits Grid::FieldFormat::Custom with a overridden format method.
|
77
|
+
# :format => MyFormat
|
78
|
+
# * String - Formats using the same parameters used in sprintf
|
79
|
+
# :format => "%0.2f"
|
80
|
+
# * Proc - A block. In the example a text limited to 9 characters.
|
81
|
+
# :format => lambda {|s| s.gsub(/^(.{9}).*$/,'\1...')}
|
82
|
+
# ====Customizing formats
|
83
|
+
# Replace spaces with a double dash.
|
84
|
+
# class MyFormat < DataGrid::FieldFormat::Custom
|
85
|
+
# def format
|
86
|
+
# @value.to_s.gsub(/ /,'--')
|
87
|
+
# end
|
88
|
+
# end
|
89
|
+
#
|
90
|
+
# Using
|
91
|
+
#
|
92
|
+
# grid.column :title => "Name", :format => MyFormat
|
93
|
+
#
|
94
|
+
# Below, the columns with their proper formats.
|
95
|
+
#
|
96
|
+
# grid.column :title => "Code",:format => "(%d)", :width => 1
|
97
|
+
# grid.column :title => "Name", :format => MyFormat
|
98
|
+
# grid.column :title => "Date", :format => lambda {|date| date.strftime("%d/%m/%Y") }
|
99
|
+
# values=[
|
100
|
+
# [1,"Name 1", Time.now],
|
101
|
+
# [2,"Name 2", Time.now],
|
102
|
+
# [3,"Name 3", Time.now],
|
103
|
+
# [4,"Name 4", Time.now],
|
104
|
+
# [5,"Name 5", Time.now]
|
105
|
+
# ]
|
106
|
+
# grid.data(values)
|
107
|
+
# Add the Grid to a document
|
108
|
+
#
|
109
|
+
# d=Document.new
|
110
|
+
# d.set grid
|
111
|
+
# link:images/format01.png
|
112
|
+
def col(title="", options={})
|
113
|
+
if title.is_a? Hash
|
114
|
+
@header.col(title[:title],title)
|
115
|
+
else
|
116
|
+
@header.col(title[:title],options)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
#Alias for col
|
120
|
+
def column(title="", options={})
|
121
|
+
col(title,options)
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
def format_field(value,type) #:nodoc:
|
126
|
+
case type
|
127
|
+
when Symbol: RGhost::Grid::FieldFormat.send(type,value)
|
128
|
+
when String: RGhost::Grid::FieldFormat.string(type % value)
|
129
|
+
when NilClass: RGhost::Grid::FieldFormat.string(value)
|
130
|
+
when Class: type.new(value).gs_format
|
131
|
+
when Proc: RGhost::Grid::FieldFormat.string(type.call(value))
|
132
|
+
|
133
|
+
else raise TypeError.new("type=#{type}, value type=#{value.class}")
|
134
|
+
end
|
135
|
+
|
136
|
+
end
|
137
|
+
def width
|
138
|
+
@header.size
|
139
|
+
end
|
140
|
+
def proc_line(line) #:nodoc:
|
141
|
+
h=@header.data_types
|
142
|
+
rec=[]
|
143
|
+
line.each_with_index do |v,i|
|
144
|
+
#puts "#{i} == #{h[i]} = #{v}, #{format_field(v,h[i])}"
|
145
|
+
rec << format_field(v,h[i])
|
146
|
+
end
|
147
|
+
@data[@data_index] << "[#{rec}]\n"
|
148
|
+
|
149
|
+
|
150
|
+
if @record_count == @max_stack
|
151
|
+
@record_count=0
|
152
|
+
@data_index+=1
|
153
|
+
@data[@data_index]=[]
|
154
|
+
end
|
155
|
+
@record_count+=1
|
156
|
+
|
157
|
+
|
158
|
+
end
|
159
|
+
#Defines data to grid processor.
|
160
|
+
def data(data)
|
161
|
+
|
162
|
+
end
|
163
|
+
public
|
164
|
+
|
165
|
+
def ps
|
166
|
+
|
167
|
+
|
168
|
+
grid_names=[]
|
169
|
+
p=RGhost::PsObject.new
|
170
|
+
p.set RGhost::Variable.new(:col_padding,RGhost::Units::parse(@column_padding))
|
171
|
+
@data.each do |ary|
|
172
|
+
r=(rand*99999).to_i
|
173
|
+
p.raw "/data#{r}[\n#{ary.join}\n] def"
|
174
|
+
grid_names << r
|
175
|
+
end
|
176
|
+
p.raw "#{@header.ps} #{@callbacks}"
|
177
|
+
|
178
|
+
g=RGhost::Graphic.new do
|
179
|
+
raw :before_table_create
|
180
|
+
raw grid_names.map{|m| " data#{m} table_proc \n" }.join
|
181
|
+
raw :after_table_create
|
182
|
+
end
|
183
|
+
p.set g
|
184
|
+
p.raw :nrdp
|
185
|
+
p
|
186
|
+
|
187
|
+
|
188
|
+
end
|
189
|
+
|
190
|
+
# Grid has 3 preset styles :bottom_lines, :border_lines and
|
191
|
+
# old_forms. To set any of them, use:
|
192
|
+
#
|
193
|
+
# grid.style(:border_lines)
|
194
|
+
#
|
195
|
+
# :border_lines - instance of Grid::Style::BorderLines
|
196
|
+
#
|
197
|
+
# link:images/setstyle01.png
|
198
|
+
#
|
199
|
+
# :bottom_lines - instance of Grid::Style::BottomLines
|
200
|
+
#
|
201
|
+
# link:images/setstyle02.png
|
202
|
+
#
|
203
|
+
# :old_forms - instance of Grid::Style::OldForms
|
204
|
+
#
|
205
|
+
# link:images/setstyle03.png
|
206
|
+
def style(type=:border_lines)
|
207
|
+
st=case type
|
208
|
+
when :border_lines: RGhost::Grid::Style::BorderLines.new
|
209
|
+
when :old_forms: RGhost::Grid::Style::OldForms.new
|
210
|
+
when :bottom_lines: RGhost::Grid::Style::BottomLines.new
|
211
|
+
else raise NameError.new("Why? #{type} ?")
|
212
|
+
end
|
213
|
+
|
214
|
+
st.set_style(self)
|
215
|
+
|
216
|
+
end
|
217
|
+
|
218
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
|
2
|
+
module RGhost::Grid
|
3
|
+
# The callbacks for the grid are defined here. Let's see them in action.
|
4
|
+
# ===Grid::CallbackFacade examples
|
5
|
+
# grid=Grid::Matrix.new :column_padding => 1
|
6
|
+
# grid.column :title => "Id", :width => 1
|
7
|
+
# grid.column :title => "Name", :width => 3, :align => :center
|
8
|
+
# grid.column :title => "Date", :width => 3, :align => :right, :title_align => :center, :format => lambda{|v| v.strftime("%d/%m/%Y")}
|
9
|
+
# values=('A'..'E').to_a.map{|v| [v,"Name #{v}", Time.now]}
|
10
|
+
#
|
11
|
+
# even_row:
|
12
|
+
# grid.even_row do
|
13
|
+
# background_row(:size => grid.width)
|
14
|
+
# end
|
15
|
+
# link:images/grid01.png
|
16
|
+
#
|
17
|
+
# Now before_row to create a top and bottom line:
|
18
|
+
# grid.before_row do
|
19
|
+
# horizontal_line(:top, :size => grid.width )
|
20
|
+
# horizontal_line(:bottom, :size => grid.width)
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
# link:images/grid02.png
|
24
|
+
#
|
25
|
+
# before_column:
|
26
|
+
# grid.before_column do
|
27
|
+
# vertical_line_row
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# link:images/grid03.png
|
31
|
+
#
|
32
|
+
# after_column:
|
33
|
+
# grid.after_column { vertical_line_row }
|
34
|
+
#
|
35
|
+
#
|
36
|
+
# link:images/grid04.png
|
37
|
+
#
|
38
|
+
# Moving to the header
|
39
|
+
# grid.header.before_create do
|
40
|
+
# horizontal_line(:top, :size => grid.width)
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
# link:images/grid05.png
|
44
|
+
#
|
45
|
+
# Finishing the grid lines:
|
46
|
+
# grid.header.before_column do
|
47
|
+
# vertical_line_row
|
48
|
+
# end
|
49
|
+
#
|
50
|
+
#
|
51
|
+
# grid.header.after_column do
|
52
|
+
# vertical_line_row
|
53
|
+
# end
|
54
|
+
#
|
55
|
+
# link:images/grid06.png
|
56
|
+
#
|
57
|
+
# Now a adding a bold font to the header
|
58
|
+
# grid.header.before_create do
|
59
|
+
# horizontal_line(:top, :size => grid.width)
|
60
|
+
# use_tag :bold
|
61
|
+
# end
|
62
|
+
#
|
63
|
+
# link:images/grid07.png
|
64
|
+
#
|
65
|
+
# Oops. Not quite what we expected, the entire grid used bold
|
66
|
+
# face. We need to use a header callback to reset the font.
|
67
|
+
#
|
68
|
+
# grid.header.after_create do
|
69
|
+
# use_tag :normal
|
70
|
+
# end
|
71
|
+
#
|
72
|
+
# link:images/grid08.png
|
73
|
+
#
|
74
|
+
# Don't forget
|
75
|
+
#
|
76
|
+
# doc=Document.new
|
77
|
+
# doc.set grid
|
78
|
+
module CallbackFacade
|
79
|
+
|
80
|
+
# Executes before processing row. Responds to :only and :except
|
81
|
+
# options.
|
82
|
+
def before_row(options={},&block)
|
83
|
+
new_dynamic_callback(:before_row,options,&block)
|
84
|
+
end
|
85
|
+
|
86
|
+
# Executes on creating an odd rows. Responds to :only and :except
|
87
|
+
# options.
|
88
|
+
def odd_row(options={},&block)
|
89
|
+
new_dynamic_callback(:odd_row,options,&block)
|
90
|
+
end
|
91
|
+
|
92
|
+
# Executes upon creating even rows. Responds to :only and :except
|
93
|
+
# options.
|
94
|
+
def even_row(options={},&block)
|
95
|
+
new_dynamic_callback(:even_row,options,&block)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Executes before creating a column. Responds to :only and :except
|
99
|
+
# options.
|
100
|
+
def before_column(options={},&block)
|
101
|
+
new_dynamic_callback(:before_column,options,&block)
|
102
|
+
end
|
103
|
+
|
104
|
+
# Executes after a column was created. Responds to :only and
|
105
|
+
# :except options.
|
106
|
+
def after_column(options={},&block)
|
107
|
+
new_dynamic_callback(:after_column,options,&block)
|
108
|
+
end
|
109
|
+
|
110
|
+
# Executes when creating an odd column. Responds to :only and
|
111
|
+
# :except options.
|
112
|
+
def odd_column(options={},&block)
|
113
|
+
new_dynamic_callback(:odd_column,options,&block)
|
114
|
+
end
|
115
|
+
|
116
|
+
# Executes upon creating an even column. Responds to :only and
|
117
|
+
# :except options.
|
118
|
+
def even_column(options={},&block)
|
119
|
+
new_dynamic_callback(:even_column,options,&block)
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
private
|
124
|
+
|
125
|
+
def new_dynamic_callback(name,options={},&block)
|
126
|
+
@callbacks.set RGhost::Callback.new(name,options,&block)
|
127
|
+
end
|
128
|
+
def new_static_callback(name,&block)
|
129
|
+
|
130
|
+
callback_body= RGhost::PsFacade.new(&block)
|
131
|
+
@callbacks.set RGhost::Function.new(name,callback_body)
|
132
|
+
end
|
133
|
+
|
134
|
+
|
135
|
+
end
|
136
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
|
2
|
+
# Grid::CSV allows you to import data from a csv file.
|
3
|
+
|
4
|
+
# ===Example
|
5
|
+
#
|
6
|
+
# grid=Grid::CSV.new :width => 2
|
7
|
+
# grid.column :title => "User", :align => :right
|
8
|
+
# grid.column :title => "Password", :format => lambda{|v| (v.to_s == "x") ? "Yes" : "No"}
|
9
|
+
# grid.column :title => "UID", :width => 1
|
10
|
+
# grid.column :title => "GID"
|
11
|
+
# grid.column :title => "Gecos", :width => 2.5
|
12
|
+
# grid.column :title => "Home Dir", :width => 4
|
13
|
+
# grid.column :title => "Shell"
|
14
|
+
# grid.style :bottom_lines
|
15
|
+
# grid.data("/etc/passwd",/:/)
|
16
|
+
#
|
17
|
+
# link:images/csvgrid01.png
|
18
|
+
#
|
19
|
+
class RGhost::Grid::CSV < RGhost::Grid::Base
|
20
|
+
# Pass in path to file and the record separator:
|
21
|
+
# grid.data("/mydir/myfile.csv", ';')
|
22
|
+
# You can use a regular expression for record separator:
|
23
|
+
# grid.data("/mydir/myfile.csv", /[^\w]/)
|
24
|
+
|
25
|
+
def data(filepath,col_sep=';')
|
26
|
+
_data=filepath
|
27
|
+
first=true
|
28
|
+
_data=File.open(_data) if _data.is_a? String
|
29
|
+
_data.each do |line|
|
30
|
+
l=line.split(Regexp.new(col_sep)) if col_sep.is_a?(String)
|
31
|
+
l=line.split(col_sep) if col_sep.is_a?(Regexp)
|
32
|
+
if first
|
33
|
+
v=l.size-@header.titles.size
|
34
|
+
#v.times{@header.titles << "tt"}
|
35
|
+
l.each {|h| col(h)}
|
36
|
+
proc_line(l)
|
37
|
+
first=false
|
38
|
+
|
39
|
+
next
|
40
|
+
else
|
41
|
+
|
42
|
+
proc_line(l)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "callback"
|
2
|
-
#Callbacks Din�micos a n�vel de Grid
|
3
|
-
class
|
2
|
+
#Callbacks Din�micos a n�vel de Grid
|
3
|
+
class RGhost::Grid::DynamicCallback < RGhost::Callback
|
4
4
|
ACCEPT=[:before_row, :after_row, :even_row,
|
5
5
|
:odd_row, :before_column, :after_column, :even_column, :odd_column]
|
6
6
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
$LOAD_PATH << File.dirname(__FILE__)+File::SEPARATOR+"../"
|
2
|
+
|
3
|
+
require 'ps_object'
|
4
|
+
|
5
|
+
require 'ruby_to_ps'
|
6
|
+
|
7
|
+
module RGhost::Grid
|
8
|
+
module FieldFormat
|
9
|
+
extend RGhost::RubyToPs
|
10
|
+
#Format Time/Date to %d/%m/%Y
|
11
|
+
def self.eurodate(value)
|
12
|
+
|
13
|
+
string(value.strftime("%d/%m/%Y"))
|
14
|
+
end
|
15
|
+
#Cut all blank spaces
|
16
|
+
def self.no_space(value)
|
17
|
+
string(value.to_s.gsub(/\s/,''))
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.string(value)
|
21
|
+
to_string(value)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
#Prototype to override format method.
|
27
|
+
class RGhost::Grid::FieldFormat::Custom
|
28
|
+
|
29
|
+
def initialize(value)
|
30
|
+
@value=value
|
31
|
+
end
|
32
|
+
|
33
|
+
def gs_format
|
34
|
+
RGhost::Grid::FieldFormat.string(self.format)
|
35
|
+
end
|
36
|
+
|
37
|
+
def format
|
38
|
+
@value.to_s
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RGhost::Grid
|
2
|
+
require 'grid/header'
|
3
|
+
require 'grid/callback_facade'
|
4
|
+
require 'grid/style/style'
|
5
|
+
require 'grid/base_grid'
|
6
|
+
require 'grid/rails_grid'
|
7
|
+
require 'grid/matrix'
|
8
|
+
require 'grid/csv_grid'
|
9
|
+
require 'grid/dynamic_callback'
|
10
|
+
require 'grid/static_callback'
|
11
|
+
require 'grid/field_format'
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
|
@@ -0,0 +1,120 @@
|
|
1
|
+
$LOAD_PATH << File.dirname(__FILE__)+File::SEPARATOR+"../"
|
2
|
+
require "ps_object"
|
3
|
+
require "ruby_to_ps"
|
4
|
+
require "variable"
|
5
|
+
require "units"
|
6
|
+
require "function"
|
7
|
+
require "callback"
|
8
|
+
|
9
|
+
# Grid's Header.
|
10
|
+
# You can get a header instance using:
|
11
|
+
# grid=Grid::Rails.new
|
12
|
+
# grid.header
|
13
|
+
#
|
14
|
+
# You can also define callbacks:
|
15
|
+
#
|
16
|
+
# grid.header.before_column :only => [1,2] do
|
17
|
+
# use_tag :span
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
class RGhost::Grid::Header < RGhost::PsObject
|
21
|
+
include RGhost::RubyToPs
|
22
|
+
|
23
|
+
DEFAULT_OPTIONS={:width => 4, :align => :center, :title_align => nil, :header_width => nil, :format => :string}
|
24
|
+
attr_reader :data_types, :titles, :size
|
25
|
+
|
26
|
+
def initialize(headings=true,options={},&block) #:nodoc:
|
27
|
+
@header=RGhost::PsObject.new
|
28
|
+
@data_types=[]
|
29
|
+
@options=[]
|
30
|
+
@titles=[]
|
31
|
+
@header.set Variable.new(:new_page?,true)
|
32
|
+
@default_options=DEFAULT_OPTIONS.merge(options)
|
33
|
+
@header.set RGhost::Variable.new(:headings?,headings)
|
34
|
+
@size=0
|
35
|
+
instance_eval(&block) if block
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
def ps
|
40
|
+
|
41
|
+
p,h=format_header
|
42
|
+
@header.set RGhost::Variable.new(:header_titles,to_array(@titles))
|
43
|
+
@header.set RGhost::Variable.new(:table_params," [\n #{p}] \n")
|
44
|
+
@header.set RGhost::Variable.new(:table_header," [\n #{h}] \n")
|
45
|
+
|
46
|
+
|
47
|
+
@header
|
48
|
+
end
|
49
|
+
|
50
|
+
def col(name="", options={}) #:nodoc:
|
51
|
+
|
52
|
+
opts=@default_options.merge(options)
|
53
|
+
@size+=opts[:width]
|
54
|
+
@data_types << opts[:format]
|
55
|
+
@options << opts
|
56
|
+
@titles << ps_escape(name.to_s)
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
def default_options(opts) #:nodoc:
|
61
|
+
@default_options.merge!(opts)
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
def column(name,options={}) #:nodoc:
|
66
|
+
col(name,options)
|
67
|
+
end
|
68
|
+
|
69
|
+
def next_column(name,options={}) #:nodoc:
|
70
|
+
col(name,options)
|
71
|
+
end
|
72
|
+
|
73
|
+
def before_create(&block)
|
74
|
+
#@header.set RGhost::Function.new(:before_header_create, &block )
|
75
|
+
new_static_callback(:before_header_create,&block)
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
def after_create(&block)
|
80
|
+
#@header.set RGhost::Function.new(:after_header_create, &block )
|
81
|
+
new_static_callback(:after_header_create,&block)
|
82
|
+
end
|
83
|
+
|
84
|
+
def before_column(options={},&block)
|
85
|
+
@header.set RGhost::Callback.new(:before_column_header, options,&block)
|
86
|
+
|
87
|
+
end
|
88
|
+
|
89
|
+
def after_column(options={},&block)
|
90
|
+
@header.set RGhost::Callback.new(:after_column_header,options,&block)
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
private
|
95
|
+
def new_static_callback(name,&block)
|
96
|
+
|
97
|
+
callback_body= RGhost::PsFacade.new(&block)
|
98
|
+
@header.set RGhost::Function.new(name,callback_body)
|
99
|
+
end
|
100
|
+
def format_header
|
101
|
+
p='' #params
|
102
|
+
h='' #params_head
|
103
|
+
o=@options.dup
|
104
|
+
o.each do |v|
|
105
|
+
v[:title_align]||=v[:align]
|
106
|
+
v[:header_width]||=v[:width]
|
107
|
+
p << "[ #{RGhost::Units::parse(v[:width])} /st_#{v[:align]}]\n "
|
108
|
+
h << "[ #{RGhost::Units::parse(v[:header_width])} /st_#{v[:title_align]}]\n "
|
109
|
+
end
|
110
|
+
|
111
|
+
return p,h
|
112
|
+
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'ps_object'
|
2
|
+
#
|
3
|
+
# Grid::Rails mapps grid columns to ActiveRecord attributes. For
|
4
|
+
# example, let's take a Calls class to represent telephone calls.
|
5
|
+
#
|
6
|
+
# ===Example
|
7
|
+
# rails_grid=Grid::Rails.new(:align => :center, :width => 3)
|
8
|
+
#
|
9
|
+
# Mapping, first the attribute name then the already known optionsName
|
10
|
+
# rails_grid.column :mobile, :title => "Mobile", :align => :right
|
11
|
+
# rails_grid.column :duration, :title => "Duration",:width => 3
|
12
|
+
# rails_grid.column :start, :title => "Start", :format => :eurodate
|
13
|
+
# rails_grid.column :called, :title => "Number", :align => :right, :title_align => :center
|
14
|
+
# Load data
|
15
|
+
# calls = Call.find(:all, :limit => 5000)
|
16
|
+
# rails_grid.data(calls)
|
17
|
+
# ====Relationships
|
18
|
+
# You can also use attributes of associated objects, via a block or
|
19
|
+
# string. For example consider Accounts and Customers
|
20
|
+
# relationship. Let's produce a grid od all Customers plus some data
|
21
|
+
# reffering to the first account the customer had created.
|
22
|
+
#
|
23
|
+
# class Accounts < ActiveRecord::Base
|
24
|
+
# belongs_to :customer
|
25
|
+
# end
|
26
|
+
# class Customers < ActiveRecord::Base
|
27
|
+
# has_many :accounts
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# c = Customers.find(:all, :include => :accounts )
|
31
|
+
#
|
32
|
+
# Using a block
|
33
|
+
# g=Grid::Rails.new :width => 4
|
34
|
+
# g.column :id, :title => "Customer id"
|
35
|
+
# g.column :name, :title => "Name", :width => 6
|
36
|
+
# g.column :created_on, :title => "Date ", :format => lambda{|d| d.strftime("%m/%d/%Y") }
|
37
|
+
# g.column lambda { accounts.first.login }, :title => "Login"
|
38
|
+
# g.column lambda { accounts.first.type }, :title => "Account Type"
|
39
|
+
# g.data(c)
|
40
|
+
# Or a String
|
41
|
+
# g.column 'accounts.first.login', :title => Login"
|
42
|
+
class RGhost::Grid::Rails < RGhost::Grid::Base
|
43
|
+
#The parameter +_data+ is an Array of ActiveRecord::Base objects.
|
44
|
+
def data(_data)
|
45
|
+
_data.collect do |d|
|
46
|
+
line=@rails_cols.collect do |c|
|
47
|
+
case c[:field_name]
|
48
|
+
when Symbol: d[c[:field_name]]
|
49
|
+
when String: d.instance_eval c[:field_name]
|
50
|
+
when Proc: d.instance_eval(&c[:field_name])
|
51
|
+
end
|
52
|
+
end
|
53
|
+
proc_line(line)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def col(field_name, options={}) #:nodoc:
|
58
|
+
super(options[:title],options)
|
59
|
+
@rails_cols||=[]
|
60
|
+
owf=options.dup #from options with field
|
61
|
+
owf[:field_name]||=field_name
|
62
|
+
@rails_cols << owf
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
def column(field_name, options={}) #:nodoc:
|
67
|
+
col(field_name,options)
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require "ps_object"
|
2
2
|
require "function"
|
3
|
-
|
4
|
-
class
|
3
|
+
|
4
|
+
class RGhost::Grid::StaticCallback < RGhost::Function
|
5
5
|
ACCEPT=[:before_table_create, :after_table_create]
|
6
|
-
|
6
|
+
|
7
7
|
def initialize(name,&block)
|
8
8
|
raise NameError.new("#{name} no accept in #{self.class}") unless ACCEPT.include? name
|
9
9
|
super(name,&block)
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
end
|
13
13
|
|