htmlgrid 1.0.2 → 1.0.3
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.
- data/History.txt +4 -0
- data/ext/htmlgrid/grid.c +25 -7
- data/lib/htmlgrid/grid.rb +1 -1
- metadata +3 -3
data/History.txt
CHANGED
data/ext/htmlgrid/grid.c
CHANGED
@@ -288,14 +288,16 @@ VALUE grid_width(self)
|
|
288
288
|
VALUE grid_cat_attribute(pair, string)
|
289
289
|
VALUE pair, string;
|
290
290
|
{
|
291
|
-
VALUE val;
|
291
|
+
VALUE val, tmp1, tmp2;
|
292
292
|
char *key, *value;
|
293
293
|
long len;
|
294
294
|
val = rb_ary_entry(pair, 1);
|
295
295
|
if(val == Qnil)
|
296
296
|
return string;
|
297
|
-
|
298
|
-
|
297
|
+
tmp1 = rb_ary_entry(pair, 0);
|
298
|
+
key = StringValuePtr(tmp1);
|
299
|
+
tmp2 = rb_funcall(val, rb_intern("to_s"), 0);
|
300
|
+
value = StringValuePtr(tmp2);
|
299
301
|
char attr[strlen(key) + strlen(value) + 5];
|
300
302
|
len = sprintf(attr, " %s=\"%s\"", key, value);
|
301
303
|
return rb_str_cat(string, attr, len);
|
@@ -333,8 +335,9 @@ VALUE grid_store_allowed_attribute(pair, attrs)
|
|
333
335
|
VALUE pair, attrs;
|
334
336
|
{
|
335
337
|
char* key;
|
336
|
-
|
337
|
-
|
338
|
+
VALUE tmp;
|
339
|
+
tmp = rb_ary_entry(pair, 0);
|
340
|
+
key = StringValuePtr(tmp);
|
338
341
|
if( strcasecmp(key, "align") == 0
|
339
342
|
|| strcasecmp(key, "class") == 0
|
340
343
|
|| strcasecmp(key, "colspan") == 0
|
@@ -367,6 +370,7 @@ VALUE grid_to_html(self, cgi)
|
|
367
370
|
long idx, cdx, xval, yval, spanplus, len;
|
368
371
|
Data_Get_Struct(self, cGrid, cg);
|
369
372
|
//attrs = rb_iv_get(self, "@attributes");
|
373
|
+
//printf("getin grid_to_html\n");
|
370
374
|
result = rb_str_new2("");
|
371
375
|
grid_cat_starttag(result, "TABLE", cg->attributes);
|
372
376
|
for(idx=0, yval=0; yval < cg->height; yval++)
|
@@ -416,13 +420,25 @@ VALUE grid_to_html(self, cgi)
|
|
416
420
|
for(cdx=0; cdx<cf->content_count; cdx++)
|
417
421
|
{
|
418
422
|
item = cf->content[cdx];
|
423
|
+
//item => ODDB::View::WelcomeHead
|
424
|
+
//printf("item.encoding = %s \n", StringValuePtr(item));
|
425
|
+
//printf("item.encoding = %s \n", rb_enc_get(item)->name);
|
419
426
|
if(rb_obj_class(item) == rb_cString)
|
420
427
|
rb_str_concat(result, item);
|
421
428
|
else if(rb_respond_to(item, id_to_html))
|
422
429
|
{
|
423
430
|
VALUE item_html = rb_funcall(item, id_to_html, 1, cgi);
|
424
|
-
if(rb_obj_is_kind_of(item_html, rb_cString) == Qtrue)
|
431
|
+
if(rb_obj_is_kind_of(item_html, rb_cString) == Qtrue){
|
432
|
+
// koko
|
433
|
+
//result = rb_str_force_encoding(result, "UTF-8");
|
434
|
+
//item_html = rb_str_force_encoding(item_html, "UTF-8");
|
435
|
+
//VALUE enc;
|
436
|
+
//enc = rb_obj_encoding(result);
|
437
|
+
//printf("encoding type ");
|
438
|
+
//printf("%s %s\n", rb_enc_get(result)->name, rb_enc_get(item_html)->name);
|
425
439
|
rb_str_concat(result, item_html);
|
440
|
+
//printf("4\n");
|
441
|
+
}
|
426
442
|
}
|
427
443
|
else if(rb_obj_is_kind_of(item, rb_eException) == Qtrue)
|
428
444
|
{
|
@@ -441,12 +457,14 @@ VALUE grid_to_html(self, cgi)
|
|
441
457
|
else
|
442
458
|
rb_str_concat(result, rb_funcall(item, id_to_s, 0));
|
443
459
|
}
|
460
|
+
//printf("10\n");
|
444
461
|
}
|
445
462
|
grid_cat_endtag(result, cf->tag);
|
446
463
|
}
|
447
464
|
rb_str_cat(result, tr_close, 5);
|
448
465
|
}
|
449
466
|
rb_str_cat(result, "</TABLE>", 8);
|
467
|
+
//printf("end grid_to_html\n");
|
450
468
|
return result;
|
451
469
|
}
|
452
470
|
|
@@ -749,7 +767,7 @@ void grid_field_add_tag(cf, tagname)
|
|
749
767
|
cField * cf;
|
750
768
|
VALUE tagname;
|
751
769
|
{
|
752
|
-
strcpy(cf->tag,
|
770
|
+
strcpy(cf->tag, StringValuePtr(tagname));
|
753
771
|
}
|
754
772
|
|
755
773
|
VALUE grid_add_tag(argc, argv, self)
|
data/lib/htmlgrid/grid.rb
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
# HtmlGrid::Grid -- htmlgrid -- 09.12.2011 -- mhatakeyama@ywesee.com
|
26
26
|
# HtmlGrid::Grid -- htmlgrid -- 12.01.2010 -- hwyss@ywesee.com
|
27
27
|
begin
|
28
|
-
VERSION = '1.0.
|
28
|
+
VERSION = '1.0.3'
|
29
29
|
begin
|
30
30
|
# for gem install
|
31
31
|
ext_dir = File.expand_path('../../ext/htmlgrid', File.dirname(__FILE__))
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: htmlgrid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Masaomi Hatakeyama, Zeno R.R. Davatz
|