newt 0.0.1 → 0.9.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 (56) hide show
  1. data/Manifest.txt +51 -0
  2. data/README.rdoc +14 -9
  3. data/examples/test-j.rb +117 -0
  4. data/examples/test.rb +94 -0
  5. data/examples/test_method/Button_new.rb +21 -0
  6. data/examples/test_method/Checkbox_get.rb +24 -0
  7. data/examples/test_method/Checkbox_new.rb +21 -0
  8. data/examples/test_method/Checkbox_set.rb +27 -0
  9. data/examples/test_method/Checkbox_set_flags.rb +27 -0
  10. data/examples/test_method/CompactButton_new.rb +21 -0
  11. data/examples/test_method/Entry_get.rb +25 -0
  12. data/examples/test_method/Entry_new.rb +22 -0
  13. data/examples/test_method/Entry_set.rb +25 -0
  14. data/examples/test_method/Entry_set_flags.rb +30 -0
  15. data/examples/test_method/Form_destroy.rb +32 -0
  16. data/examples/test_method/Form_set_background.rb +22 -0
  17. data/examples/test_method/Form_set_height.rb +25 -0
  18. data/examples/test_method/Form_set_width.rb +25 -0
  19. data/examples/test_method/Grid_new.rb +25 -0
  20. data/examples/test_method/Label_new.rb +21 -0
  21. data/examples/test_method/Label_setText.rb +24 -0
  22. data/examples/test_method/Listbox_clear.rb +24 -0
  23. data/examples/test_method/Listbox_current_bykey.rb +28 -0
  24. data/examples/test_method/Listbox_delete.rb +26 -0
  25. data/examples/test_method/Listbox_get_current.rb +27 -0
  26. data/examples/test_method/Listbox_insert.rb +23 -0
  27. data/examples/test_method/Listbox_new.rb +23 -0
  28. data/examples/test_method/Listbox_select.rb +26 -0
  29. data/examples/test_method/Listbox_set.rb +26 -0
  30. data/examples/test_method/Listbox_set_current.rb +25 -0
  31. data/examples/test_method/Listbox_set_width.rb +24 -0
  32. data/examples/test_method/Newt_FLAG_SCROLL.rb +20 -0
  33. data/examples/test_method/RadioButton_new.rb +21 -0
  34. data/examples/test_method/ReflowText.rb +26 -0
  35. data/examples/test_method/Scale_new.rb +21 -0
  36. data/examples/test_method/Scale_set.rb +21 -0
  37. data/examples/test_method/Screen_bell.rb +9 -0
  38. data/examples/test_method/Screen_cls.rb +11 -0
  39. data/examples/test_method/Screen_draw_roottext.rb +15 -0
  40. data/examples/test_method/Screen_init.rb +10 -0
  41. data/examples/test_method/Screen_pop_helpline.rb +17 -0
  42. data/examples/test_method/Screen_push_helpline.rb +15 -0
  43. data/examples/test_method/Screen_redraw_helpline.rb +17 -0
  44. data/examples/test_method/Screen_size.rb +14 -0
  45. data/examples/test_method/Screen_win_menu.rb +18 -0
  46. data/examples/test_method/TextboxReflowed_new.rb +22 -0
  47. data/examples/test_method/Textbox_get_num_lines.rb +26 -0
  48. data/examples/test_method/Textbox_new.rb +21 -0
  49. data/examples/test_method/Textbox_set_height.rb +24 -0
  50. data/examples/testgrid-j.rb +84 -0
  51. data/examples/testgrid.rb +82 -0
  52. data/examples/testtree-j.rb +54 -0
  53. data/examples/testtree.rb +53 -0
  54. data/ext/ruby_newt/ruby_newt.c +106 -104
  55. data/lib/newt.rb +1 -2
  56. metadata +57 -6
@@ -55,7 +55,7 @@ rb_ext_ReflowText(VALUE self, VALUE text, VALUE width, VALUE flexDown, VALUE fle
55
55
  char *p;
56
56
  VALUE ary = rb_ary_new2(3);
57
57
 
58
- p = newtReflowText(STR2CSTR(text), NUM2INT(width), NUM2INT(flexDown), NUM2INT(flexUp),
58
+ p = newtReflowText(StringValuePtr(text), NUM2INT(width), NUM2INT(flexDown), NUM2INT(flexUp),
59
59
  &actualWidth, &actualHeight);
60
60
 
61
61
  rb_ary_push(ary, rb_str_new2(p));
@@ -116,13 +116,13 @@ rb_ext_Screen_OpenWindow(VALUE self, VALUE left, VALUE top,
116
116
  VALUE width, VALUE height, VALUE title)
117
117
  {
118
118
  return INT2NUM(newtOpenWindow(NUM2INT(left), NUM2INT(top),
119
- NUM2INT(width), NUM2INT(height), STR2CSTR(title)));
119
+ NUM2INT(width), NUM2INT(height), StringValuePtr(title)));
120
120
  }
121
121
 
122
122
  static VALUE
123
123
  rb_ext_Screen_CenteredWindow(VALUE self, VALUE width, VALUE height, VALUE title)
124
124
  {
125
- return INT2NUM(newtCenteredWindow(NUM2INT(width), NUM2INT(height), STR2CSTR(title)));
125
+ return INT2NUM(newtCenteredWindow(NUM2INT(width), NUM2INT(height), StringValuePtr(title)));
126
126
  }
127
127
 
128
128
  static VALUE
@@ -161,14 +161,14 @@ static VALUE
161
161
  rb_ext_Screen_DrawRootText(VALUE self, VALUE col, VALUE row, VALUE text)
162
162
  {
163
163
 
164
- newtDrawRootText(NUM2INT(col), NUM2INT(row), STR2CSTR(text));
164
+ newtDrawRootText(NUM2INT(col), NUM2INT(row), StringValuePtr(text));
165
165
  return Qnil;
166
166
  }
167
167
 
168
168
  static VALUE
169
169
  rb_ext_Screen_PushHelpLine(VALUE self, VALUE text)
170
170
  {
171
- newtPushHelpLine(STR2CSTR(text));
171
+ newtPushHelpLine(StringValuePtr(text));
172
172
 
173
173
  return Qnil;
174
174
  }
@@ -213,11 +213,11 @@ rb_ext_Screen_Size(VALUE self)
213
213
  static VALUE
214
214
  rb_ext_Screen_WinMessage(VALUE self, VALUE args)
215
215
  {
216
- if (RARRAY(args)->len < 3) {
216
+ if (RARRAY_LEN(args) < 3) {
217
217
  rb_raise(rb_eArgError, "3 arguments required");
218
218
  } else {
219
219
 
220
- newtWinMessage(STR2CSTR(RARRAY(args)->ptr[0]), STR2CSTR(RARRAY(args)->ptr[1]), STR2CSTR(RARRAY(args)->ptr[2]));
220
+ newtWinMessage(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]), StringValuePtr(RARRAY_PTR(args)[2]));
221
221
  }
222
222
 
223
223
  return Qnil;
@@ -226,12 +226,12 @@ rb_ext_Screen_WinMessage(VALUE self, VALUE args)
226
226
  static VALUE
227
227
  rb_ext_Screen_WinChoice(VALUE self, VALUE args)
228
228
  {
229
- if (RARRAY(args)->len < 4) {
229
+ if (RARRAY_LEN(args) < 4) {
230
230
  rb_raise(rb_eArgError, "4 arguments required");
231
231
  } else {
232
232
 
233
- newtWinChoice(STR2CSTR(RARRAY(args)->ptr[0]), STR2CSTR(RARRAY(args)->ptr[1]),
234
- STR2CSTR(RARRAY(args)->ptr[2]), STR2CSTR(RARRAY(args)->ptr[3]));
233
+ newtWinChoice(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]),
234
+ StringValuePtr(RARRAY_PTR(args)[2]), StringValuePtr(RARRAY_PTR(args)[3]));
235
235
  }
236
236
 
237
237
  return Qnil;
@@ -240,43 +240,44 @@ rb_ext_Screen_WinChoice(VALUE self, VALUE args)
240
240
  static VALUE
241
241
  rb_ext_Screen_WinMenu(VALUE self, VALUE args)
242
242
  {
243
- int len, i, listItem;
243
+ long len;
244
+ int i, listItem;
244
245
  char **cptr;
245
246
 
246
- len = RARRAY(args)->len;
247
+ len = RARRAY_LEN(args);
247
248
  if (len == 8) {
248
- Check_Type(RARRAY(args)->ptr[6], T_ARRAY);
249
+ Check_Type(RARRAY_PTR(args)[6], T_ARRAY);
249
250
 
250
- len = RARRAY(RARRAY(args)->ptr[6])->len;
251
+ len = RARRAY_LEN(RARRAY_PTR(args)[6]);
251
252
  cptr = ALLOCA_N(char*, len + 1);
252
253
  for (i = 0; i < len; i++) {
253
- Check_Type(RARRAY(RARRAY(args)->ptr[6])->ptr[i], T_STRING);
254
- cptr[i] = STR2CSTR(RARRAY(RARRAY(args)->ptr[6])->ptr[i]);
254
+ Check_Type(RARRAY_PTR(RARRAY_PTR(args)[6])[i], T_STRING);
255
+ cptr[i] = StringValuePtr(RARRAY_PTR(RARRAY_PTR(args)[6])[i]);
255
256
  }
256
257
  cptr[len] = NULL;
257
258
 
258
- newtWinMenu(STR2CSTR(RARRAY(args)->ptr[0]), STR2CSTR(RARRAY(args)->ptr[1]),
259
- NUM2INT(RARRAY(args)->ptr[2]),
260
- NUM2INT(RARRAY(args)->ptr[3]), NUM2INT(RARRAY(args)->ptr[4]),
261
- NUM2INT(RARRAY(args)->ptr[5]),
262
- cptr, &listItem, STR2CSTR(RARRAY(args)->ptr[7]), NULL);
259
+ newtWinMenu(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]),
260
+ NUM2INT(RARRAY_PTR(args)[2]),
261
+ NUM2INT(RARRAY_PTR(args)[3]), NUM2INT(RARRAY_PTR(args)[4]),
262
+ NUM2INT(RARRAY_PTR(args)[5]),
263
+ cptr, &listItem, StringValuePtr(RARRAY_PTR(args)[7]), NULL);
263
264
  return INT2NUM(listItem);
264
265
  } else if (len == 9) {
265
- Check_Type(RARRAY(args)->ptr[6], T_ARRAY);
266
+ Check_Type(RARRAY_PTR(args)[6], T_ARRAY);
266
267
 
267
- len = RARRAY(RARRAY(args)->ptr[6])->len;
268
+ len = RARRAY_LEN(RARRAY_PTR(args)[6]);
268
269
  cptr = ALLOCA_N(char*, len + 1);
269
270
  for (i = 0; i < len; i++) {
270
- Check_Type(RARRAY(RARRAY(args)->ptr[6])->ptr[i], T_STRING);
271
- cptr[i] = STR2CSTR(RARRAY(RARRAY(args)->ptr[6])->ptr[i]);
271
+ Check_Type(RARRAY_PTR(RARRAY_PTR(args)[6])[i], T_STRING);
272
+ cptr[i] = StringValuePtr(RARRAY_PTR(RARRAY_PTR(args)[6])[i]);
272
273
  }
273
274
  cptr[len] = NULL;
274
275
 
275
- newtWinMenu(STR2CSTR(RARRAY(args)->ptr[0]), STR2CSTR(RARRAY(args)->ptr[1]),
276
- NUM2INT(RARRAY(args)->ptr[2]),
277
- NUM2INT(RARRAY(args)->ptr[3]), NUM2INT(RARRAY(args)->ptr[4]),
278
- NUM2INT(RARRAY(args)->ptr[5]),
279
- cptr, &listItem, STR2CSTR(RARRAY(args)->ptr[7]), STR2CSTR(RARRAY(args)->ptr[8]), NULL);
276
+ newtWinMenu(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]),
277
+ NUM2INT(RARRAY_PTR(args)[2]),
278
+ NUM2INT(RARRAY_PTR(args)[3]), NUM2INT(RARRAY_PTR(args)[4]),
279
+ NUM2INT(RARRAY_PTR(args)[5]),
280
+ cptr, &listItem, StringValuePtr(RARRAY_PTR(args)[7]), StringValuePtr(RARRAY_PTR(args)[8]), NULL);
280
281
  return INT2NUM(listItem);
281
282
  } else {
282
283
  rb_raise(rb_eArgError, "8 or 9 arguments required");
@@ -288,7 +289,8 @@ rb_ext_Screen_WinMenu(VALUE self, VALUE args)
288
289
  static VALUE
289
290
  rb_ext_Screen_WinEntries(VALUE self, VALUE args)
290
291
  {
291
- int len, i;
292
+ long len;
293
+ int i;
292
294
  struct newtWinEntry *items;
293
295
  char * entries[10];
294
296
  VALUE ary;
@@ -296,16 +298,16 @@ rb_ext_Screen_WinEntries(VALUE self, VALUE args)
296
298
  memset(entries, 0, sizeof(entries));
297
299
  ary = rb_ary_new();
298
300
 
299
- len = RARRAY(args)->len;
301
+ len = RARRAY_LEN(args);
300
302
  if (len == 8) {
301
- Check_Type(RARRAY(args)->ptr[6], T_ARRAY);
303
+ Check_Type(RARRAY_PTR(args)[6], T_ARRAY);
302
304
 
303
- len = RARRAY(RARRAY(args)->ptr[6])->len;
305
+ len = RARRAY_LEN(RARRAY_PTR(args)[6]);
304
306
  if (len > 8) rb_raise(rb_eArgError, "8 or less arguments required");
305
307
  items = ALLOCA_N(struct newtWinEntry, len + 1);
306
308
  for (i = 0; i < len; i++) {
307
- Check_Type(RARRAY(RARRAY(args)->ptr[6])->ptr[i], T_STRING);
308
- items[i].text = STR2CSTR(RARRAY(RARRAY(args)->ptr[6])->ptr[i]);
309
+ Check_Type(RARRAY_PTR(RARRAY_PTR(args)[6])[i], T_STRING);
310
+ items[i].text = StringValuePtr(RARRAY_PTR(RARRAY_PTR(args)[6])[i]);
309
311
  items[i].value = entries + i;
310
312
  items[i].flags = 0;
311
313
  }
@@ -313,24 +315,24 @@ rb_ext_Screen_WinEntries(VALUE self, VALUE args)
313
315
  items[len].value = NULL;
314
316
  items[len].flags = 0;
315
317
 
316
- newtWinEntries(STR2CSTR(RARRAY(args)->ptr[0]), STR2CSTR(RARRAY(args)->ptr[1]),
317
- NUM2INT(RARRAY(args)->ptr[2]),
318
- NUM2INT(RARRAY(args)->ptr[3]), NUM2INT(RARRAY(args)->ptr[4]),
319
- NUM2INT(RARRAY(args)->ptr[5]),
320
- items, STR2CSTR(RARRAY(args)->ptr[7]), NULL);
318
+ newtWinEntries(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]),
319
+ NUM2INT(RARRAY_PTR(args)[2]),
320
+ NUM2INT(RARRAY_PTR(args)[3]), NUM2INT(RARRAY_PTR(args)[4]),
321
+ NUM2INT(RARRAY_PTR(args)[5]),
322
+ items, StringValuePtr(RARRAY_PTR(args)[7]), NULL);
321
323
  for (i = 0; i < len; i++) {
322
324
  rb_ary_push(ary, rb_str_new2(entries[i]));
323
325
  }
324
326
  return ary;
325
327
  } else if (len == 9) {
326
- Check_Type(RARRAY(args)->ptr[6], T_ARRAY);
328
+ Check_Type(RARRAY_PTR(args)[6], T_ARRAY);
327
329
 
328
- len = RARRAY(RARRAY(args)->ptr[6])->len;
330
+ len = RARRAY_LEN(RARRAY_PTR(args)[6]);
329
331
  if (len > 8) rb_raise(rb_eArgError, "8 or less arguments required");
330
332
  items = ALLOCA_N(struct newtWinEntry, len + 1);
331
333
  for (i = 0; i < len; i++) {
332
- Check_Type(RARRAY(RARRAY(args)->ptr[6])->ptr[i], T_STRING);
333
- items[i].text = STR2CSTR(RARRAY(RARRAY(args)->ptr[6])->ptr[i]);
334
+ Check_Type(RARRAY_PTR(RARRAY_PTR(args)[6])[i], T_STRING);
335
+ items[i].text = StringValuePtr(RARRAY_PTR(RARRAY_PTR(args)[6])[i]);
334
336
  items[i].value = entries + i;
335
337
  items[i].flags = 0;
336
338
  }
@@ -338,11 +340,11 @@ rb_ext_Screen_WinEntries(VALUE self, VALUE args)
338
340
  items[len].value = NULL;
339
341
  items[len].flags = 0;
340
342
 
341
- newtWinEntries(STR2CSTR(RARRAY(args)->ptr[0]), STR2CSTR(RARRAY(args)->ptr[1]),
342
- NUM2INT(RARRAY(args)->ptr[2]),
343
- NUM2INT(RARRAY(args)->ptr[3]), NUM2INT(RARRAY(args)->ptr[4]),
344
- NUM2INT(RARRAY(args)->ptr[5]),
345
- items, STR2CSTR(RARRAY(args)->ptr[7]), STR2CSTR(RARRAY(args)->ptr[8]), NULL);
343
+ newtWinEntries(StringValuePtr(RARRAY_PTR(args)[0]), StringValuePtr(RARRAY_PTR(args)[1]),
344
+ NUM2INT(RARRAY_PTR(args)[2]),
345
+ NUM2INT(RARRAY_PTR(args)[3]), NUM2INT(RARRAY_PTR(args)[4]),
346
+ NUM2INT(RARRAY_PTR(args)[5]),
347
+ items, StringValuePtr(RARRAY_PTR(args)[7]), StringValuePtr(RARRAY_PTR(args)[8]), NULL);
346
348
  for (i = 0; i < len; i++) {
347
349
  rb_ary_push(ary, rb_str_new2(entries[i]));
348
350
  }
@@ -411,7 +413,7 @@ rb_ext_Label_new(VALUE self, VALUE left, VALUE top, VALUE text)
411
413
  {
412
414
  newtComponent co;
413
415
 
414
- co = newtLabel(NUM2INT(left), NUM2INT(top), STR2CSTR(text));
416
+ co = newtLabel(NUM2INT(left), NUM2INT(top), StringValuePtr(text));
415
417
  return Data_Wrap_Struct(self, 0, 0, co);
416
418
  }
417
419
 
@@ -421,7 +423,7 @@ rb_ext_Label_SetText(VALUE self, VALUE text)
421
423
  newtComponent co;
422
424
 
423
425
  Data_Get_Struct(self, struct newtComponent_struct, co);
424
- newtLabelSetText(co, STR2CSTR(text));
426
+ newtLabelSetText(co, StringValuePtr(text));
425
427
  return Qnil;
426
428
  }
427
429
 
@@ -430,7 +432,7 @@ rb_ext_CompactButton_new(VALUE self, VALUE left, VALUE top, VALUE text)
430
432
  {
431
433
  newtComponent co;
432
434
 
433
- co = newtCompactButton(NUM2INT(left), NUM2INT(top), STR2CSTR(text));
435
+ co = newtCompactButton(NUM2INT(left), NUM2INT(top), StringValuePtr(text));
434
436
  return Data_Wrap_Struct(self, 0, 0, co);
435
437
  }
436
438
 
@@ -439,7 +441,7 @@ rb_ext_Button_new(VALUE self, VALUE left, VALUE top, VALUE text)
439
441
  {
440
442
  newtComponent co;
441
443
 
442
- co = newtButton(NUM2INT(left), NUM2INT(top), STR2CSTR(text));
444
+ co = newtButton(NUM2INT(left), NUM2INT(top), StringValuePtr(text));
443
445
  return Data_Wrap_Struct(self, 0, 0, co);
444
446
  }
445
447
 
@@ -450,11 +452,11 @@ rb_ext_Checkbox_new(VALUE self, VALUE left, VALUE top, VALUE text,
450
452
  newtComponent co;
451
453
 
452
454
  if (NIL_P(seq)) {
453
- co = newtCheckbox(NUM2INT(left), NUM2INT(top), STR2CSTR(text),
454
- STR2CSTR(defValue)[0], NULL, NULL);
455
+ co = newtCheckbox(NUM2INT(left), NUM2INT(top), StringValuePtr(text),
456
+ StringValuePtr(defValue)[0], NULL, NULL);
455
457
  } else {
456
- co = newtCheckbox(NUM2INT(left), NUM2INT(top), STR2CSTR(text),
457
- STR2CSTR(defValue)[0], STR2CSTR(seq), NULL);
458
+ co = newtCheckbox(NUM2INT(left), NUM2INT(top), StringValuePtr(text),
459
+ StringValuePtr(defValue)[0], StringValuePtr(seq), NULL);
458
460
  }
459
461
  return Data_Wrap_Struct(self, 0, 0, co);
460
462
  }
@@ -478,7 +480,7 @@ rb_ext_Checkbox_SetValue(VALUE self, VALUE value)
478
480
 
479
481
  Data_Get_Struct(self, struct newtComponent_struct, co);
480
482
  if (RSTRING(value)->len > 0) {
481
- newtCheckboxSetValue(co, STR2CSTR(value)[0]);
483
+ newtCheckboxSetValue(co, StringValuePtr(value)[0]);
482
484
  }
483
485
  return Qnil;
484
486
  }
@@ -487,15 +489,15 @@ static VALUE
487
489
  rb_ext_Checkbox_SetFlags(VALUE self, VALUE args)
488
490
  {
489
491
  newtComponent co;
490
- int len;
492
+ long len;
491
493
 
492
- len = RARRAY(args)->len;
494
+ len = RARRAY_LEN(args);
493
495
  if (len == 1) {
494
496
  Data_Get_Struct(self, struct newtComponent_struct, co);
495
- newtCheckboxSetFlags(co, NUM2INT(RARRAY(args)->ptr[0]), NEWT_FLAGS_SET);
497
+ newtCheckboxSetFlags(co, NUM2INT(RARRAY_PTR(args)[0]), NEWT_FLAGS_SET);
496
498
  } else if (len == 2) {
497
499
  Data_Get_Struct(self, struct newtComponent_struct, co);
498
- newtCheckboxSetFlags(co, NUM2INT(RARRAY(args)->ptr[0]), NUM2INT(RARRAY(args)->ptr[1]));
500
+ newtCheckboxSetFlags(co, NUM2INT(RARRAY_PTR(args)[0]), NUM2INT(RARRAY_PTR(args)[1]));
499
501
  } else {
500
502
  rb_raise(rb_eArgError, "1 argument or 2 arguments required");
501
503
  }
@@ -510,11 +512,11 @@ rb_ext_RadioButton_new(VALUE self, VALUE left, VALUE top, VALUE text,
510
512
  newtComponent co, cco;
511
513
 
512
514
  if (NIL_P(prevButton)) {
513
- co = newtRadiobutton(NUM2INT(left), NUM2INT(top), STR2CSTR(text),
515
+ co = newtRadiobutton(NUM2INT(left), NUM2INT(top), StringValuePtr(text),
514
516
  NUM2INT(isDefault), NULL);
515
517
  } else {
516
518
  Data_Get_Struct(prevButton, struct newtComponent_struct, cco);
517
- co = newtRadiobutton(NUM2INT(left), NUM2INT(top), STR2CSTR(text),
519
+ co = newtRadiobutton(NUM2INT(left), NUM2INT(top), StringValuePtr(text),
518
520
  NUM2INT(isDefault), cco);
519
521
  }
520
522
  return Data_Wrap_Struct(self, 0, 0, co);
@@ -533,7 +535,7 @@ static VALUE
533
535
  rb_ext_Listbox_GetCurrent(VALUE self)
534
536
  {
535
537
  newtComponent co;
536
- int i;
538
+ int i = 0;
537
539
  int *ip;
538
540
  char *p;
539
541
 
@@ -565,7 +567,7 @@ rb_ext_Listbox_SetCurrentByKey(VALUE self, VALUE key)
565
567
 
566
568
  switch(TYPE(key)) {
567
569
  case T_STRING:
568
- newtListboxSetCurrentByKey(co, (void *)STR2CSTR(key));
570
+ newtListboxSetCurrentByKey(co, (void *)StringValuePtr(key));
569
571
  break;
570
572
  case T_FIXNUM:
571
573
  newtListboxSetCurrentByKey(co, (void *)NUM2INT(key));
@@ -583,7 +585,7 @@ rb_ext_Listbox_SetEntry(VALUE self, VALUE num, VALUE text)
583
585
  newtComponent co;
584
586
 
585
587
  Data_Get_Struct(self, struct newtComponent_struct, co);
586
- newtListboxSetEntry(co, NUM2INT(num), STR2CSTR(text));
588
+ newtListboxSetEntry(co, NUM2INT(num), StringValuePtr(text));
587
589
  return Qnil;
588
590
  }
589
591
 
@@ -606,7 +608,7 @@ rb_ext_Listbox_SetData(VALUE self, VALUE num, VALUE data)
606
608
 
607
609
  switch(TYPE(data)) {
608
610
  case T_STRING:
609
- newtListboxSetData(co, NUM2INT(num), (void *)STR2CSTR(data));
611
+ newtListboxSetData(co, NUM2INT(num), (void *)StringValuePtr(data));
610
612
  break;
611
613
  case T_FIXNUM:
612
614
  newtListboxSetData(co, NUM2INT(num), (void *)NUM2INT(data));
@@ -627,10 +629,10 @@ rb_ext_Listbox_AppendEntry(VALUE self, VALUE text, VALUE data)
627
629
 
628
630
  switch(TYPE(data)) {
629
631
  case T_STRING:
630
- newtListboxAppendEntry(co, STR2CSTR(text), (void *)STR2CSTR(data));
632
+ newtListboxAppendEntry(co, StringValuePtr(text), (void *)StringValuePtr(data));
631
633
  break;
632
634
  case T_FIXNUM:
633
- newtListboxAppendEntry(co, STR2CSTR(text), (void *)NUM2INT(data));
635
+ newtListboxAppendEntry(co, StringValuePtr(text), (void *)NUM2INT(data));
634
636
  break;
635
637
  default:
636
638
  rb_raise(rb_eTypeError, "String or Fixnum expected");
@@ -650,10 +652,10 @@ rb_ext_Listbox_InsertEntry(VALUE self, VALUE text, VALUE data, VALUE key)
650
652
  case T_STRING:
651
653
  switch(TYPE(key)) {
652
654
  case T_STRING:
653
- newtListboxInsertEntry(co, STR2CSTR(text), (void *)STR2CSTR(data), (void *)STR2CSTR(key));
655
+ newtListboxInsertEntry(co, StringValuePtr(text), (void *)StringValuePtr(data), (void *)StringValuePtr(key));
654
656
  break;
655
657
  case T_FIXNUM:
656
- newtListboxInsertEntry(co, STR2CSTR(text), (void *)STR2CSTR(data), (void *)NUM2INT(key));
658
+ newtListboxInsertEntry(co, StringValuePtr(text), (void *)StringValuePtr(data), (void *)NUM2INT(key));
657
659
  break;
658
660
  default:
659
661
  rb_raise(rb_eTypeError, "String or Fixnum expected");
@@ -662,10 +664,10 @@ rb_ext_Listbox_InsertEntry(VALUE self, VALUE text, VALUE data, VALUE key)
662
664
  case T_FIXNUM:
663
665
  switch(TYPE(key)) {
664
666
  case T_STRING:
665
- newtListboxInsertEntry(co, STR2CSTR(text), (void *)NUM2INT(data), (void *)STR2CSTR(key));
667
+ newtListboxInsertEntry(co, StringValuePtr(text), (void *)NUM2INT(data), (void *)StringValuePtr(key));
666
668
  break;
667
669
  case T_FIXNUM:
668
- newtListboxInsertEntry(co, STR2CSTR(text), (void *)NUM2INT(data), (void *)NUM2INT(key));
670
+ newtListboxInsertEntry(co, StringValuePtr(text), (void *)NUM2INT(data), (void *)NUM2INT(key));
669
671
  break;
670
672
  default:
671
673
  rb_raise(rb_eTypeError, "String or Fixnum expected");
@@ -688,7 +690,7 @@ rb_ext_Listbox_DeleteEntry(VALUE self, VALUE data)
688
690
 
689
691
  switch(TYPE(data)) {
690
692
  case T_STRING:
691
- newtListboxDeleteEntry(co, (void *)STR2CSTR(data));
693
+ newtListboxDeleteEntry(co, (void *)StringValuePtr(data));
692
694
  break;
693
695
  case T_FIXNUM:
694
696
  newtListboxDeleteEntry(co, (void *)NUM2INT(data));
@@ -731,7 +733,7 @@ rb_ext_Listbox_SelectItem(VALUE self, VALUE key, VALUE sense)
731
733
 
732
734
  switch(TYPE(key)) {
733
735
  case T_STRING:
734
- newtListboxSelectItem(co, (void *)STR2CSTR(key), NUM2INT(sense));
736
+ newtListboxSelectItem(co, (void *)StringValuePtr(key), NUM2INT(sense));
735
737
  break;
736
738
  case T_FIXNUM:
737
739
  newtListboxSelectItem(co, (void *)NUM2INT(key), NUM2INT(sense));
@@ -762,7 +764,7 @@ rb_ext_CheckboxTree_AddItem(VALUE self, VALUE args)
762
764
  int i, len;
763
765
  int *indexes;
764
766
 
765
- len = RARRAY(args)->len;
767
+ len = RARRAY_LEN(args);
766
768
  if (len < 4) {
767
769
  rb_raise(rb_eArgError, "4 arguments required");
768
770
  } else {
@@ -770,18 +772,18 @@ rb_ext_CheckboxTree_AddItem(VALUE self, VALUE args)
770
772
 
771
773
  indexes = ALLOCA_N(int, (len - 4) + 2);
772
774
  for (i = 0; i < (len - 4) + 1; i++) {
773
- indexes[i] = NUM2INT(RARRAY(args)->ptr[i+3]);
775
+ indexes[i] = NUM2INT(RARRAY_PTR(args)[i+3]);
774
776
  }
775
777
  indexes[(len - 4) + 1] = NEWT_ARG_LAST;
776
778
 
777
- switch(TYPE(RARRAY(args)->ptr[1])) {
779
+ switch(TYPE(RARRAY_PTR(args)[1])) {
778
780
  case T_STRING:
779
- newtCheckboxTreeAddArray(co, STR2CSTR(RARRAY(args)->ptr[0]), (void *)STR2CSTR(RARRAY(args)->ptr[1]),
780
- NUM2INT(RARRAY(args)->ptr[2]), indexes);
781
+ newtCheckboxTreeAddArray(co, StringValuePtr(RARRAY_PTR(args)[0]), (void *)StringValuePtr(RARRAY_PTR(args)[1]),
782
+ NUM2INT(RARRAY_PTR(args)[2]), indexes);
781
783
  break;
782
784
  case T_FIXNUM:
783
- newtCheckboxTreeAddArray(co, STR2CSTR(RARRAY(args)->ptr[0]), (void *)NUM2INT(RARRAY(args)->ptr[1]),
784
- NUM2INT(RARRAY(args)->ptr[2]), indexes);
785
+ newtCheckboxTreeAddArray(co, StringValuePtr(RARRAY_PTR(args)[0]), (void *)NUM2INT(RARRAY_PTR(args)[1]),
786
+ NUM2INT(RARRAY_PTR(args)[2]), indexes);
785
787
  break;
786
788
  default:
787
789
  rb_raise(rb_eTypeError, "String or Fixnum expected");
@@ -794,10 +796,10 @@ rb_ext_CheckboxTree_AddItem(VALUE self, VALUE args)
794
796
 
795
797
  switch(TYPE(data)) {
796
798
  case T_STRING:
797
- newtCheckboxTreeAddItem(co, STR2CSTR(text), (void *)STR2CSTR(data), NUM2INT(flags), NEWT_ARG_APPEND, NEWT_ARG_LAST);
799
+ newtCheckboxTreeAddItem(co, StringValuePtr(text), (void *)StringValuePtr(data), NUM2INT(flags), NEWT_ARG_APPEND, NEWT_ARG_LAST);
798
800
  break;
799
801
  case T_FIXNUM:
800
- newtCheckboxTreeAddItem(co, STR2CSTR(text), (void *)NUM2INT(data), NUM2INT(flags), NEWT_ARG_APPEND, NEWT_ARG_LAST);
802
+ newtCheckboxTreeAddItem(co, StringValuePtr(text), (void *)NUM2INT(data), NUM2INT(flags), NEWT_ARG_APPEND, NEWT_ARG_LAST);
801
803
  break;
802
804
  default:
803
805
  rb_raise(rb_eTypeError, "String or Fixnum expected");
@@ -815,7 +817,7 @@ rb_ext_CheckboxTreeMulti_new(VALUE self, VALUE left, VALUE top, VALUE height, VA
815
817
  if (NIL_P(seq)) {
816
818
  co = newtCheckboxTreeMulti(NUM2INT(left), NUM2INT(top), NUM2INT(height), NULL, NUM2INT(flags));
817
819
  } else {
818
- co = newtCheckboxTreeMulti(NUM2INT(left), NUM2INT(top), NUM2INT(height), STR2CSTR(seq), NUM2INT(flags));
820
+ co = newtCheckboxTreeMulti(NUM2INT(left), NUM2INT(top), NUM2INT(height), StringValuePtr(seq), NUM2INT(flags));
819
821
  }
820
822
  return Data_Wrap_Struct(self, 0, 0, co);
821
823
  }
@@ -835,7 +837,7 @@ rb_ext_Textbox_SetText(VALUE self, VALUE text)
835
837
  newtComponent co;
836
838
 
837
839
  Data_Get_Struct(self, struct newtComponent_struct, co);
838
- newtTextboxSetText(co, STR2CSTR(text));
840
+ newtTextboxSetText(co, StringValuePtr(text));
839
841
  return Qnil;
840
842
  }
841
843
 
@@ -863,7 +865,7 @@ rb_ext_TextboxReflowed_new(VALUE self, VALUE left, VALUE top, VALUE text, VALUE
863
865
  {
864
866
  newtComponent co;
865
867
 
866
- co = newtTextboxReflowed(NUM2INT(left), NUM2INT(top), STR2CSTR(text), NUM2INT(width),
868
+ co = newtTextboxReflowed(NUM2INT(left), NUM2INT(top), StringValuePtr(text), NUM2INT(width),
867
869
  NUM2INT(flexDown), NUM2INT(flexUp), NUM2INT(flags));
868
870
  return Data_Wrap_Struct(self, 0, 0, co);
869
871
  }
@@ -919,8 +921,8 @@ rb_ext_Form_AddComponents(VALUE self, VALUE co)
919
921
 
920
922
  Data_Get_Struct(self, struct newtComponent_struct, form);
921
923
 
922
- for (i = 0; i < RARRAY(co)->len; i++) {
923
- Data_Get_Struct(RARRAY(co)->ptr[i], struct newtComponent_struct, cco);
924
+ for (i = 0; i < RARRAY_LEN(co); i++) {
925
+ Data_Get_Struct(RARRAY_PTR(co)[i], struct newtComponent_struct, cco);
924
926
  newtFormAddComponent(form, cco);
925
927
  }
926
928
  return Qnil;
@@ -981,7 +983,7 @@ rb_ext_Entry_new(VALUE self, VALUE left, VALUE top, VALUE initialValue, VALUE wi
981
983
  {
982
984
  newtComponent co;
983
985
 
984
- co = newtEntry(NUM2INT(left), NUM2INT(top), STR2CSTR(initialValue), NUM2INT(width),
986
+ co = newtEntry(NUM2INT(left), NUM2INT(top), StringValuePtr(initialValue), NUM2INT(width),
985
987
  NULL, NUM2INT(flags));
986
988
  return Data_Wrap_Struct(self, 0, 0, co);
987
989
  }
@@ -994,13 +996,13 @@ rb_ext_Entry_Set(VALUE self, VALUE value, VALUE cursorAtEnd)
994
996
  Data_Get_Struct(self, struct newtComponent_struct, co);
995
997
  switch(TYPE(cursorAtEnd)) {
996
998
  case T_TRUE:
997
- newtEntrySet(co, STR2CSTR(value), 1);
999
+ newtEntrySet(co, StringValuePtr(value), 1);
998
1000
  break;
999
1001
  case T_FALSE:
1000
- newtEntrySet(co, STR2CSTR(value), 0);
1002
+ newtEntrySet(co, StringValuePtr(value), 0);
1001
1003
  break;
1002
1004
  case T_FIXNUM:
1003
- newtEntrySet(co, STR2CSTR(value), NUM2INT(cursorAtEnd));
1005
+ newtEntrySet(co, StringValuePtr(value), NUM2INT(cursorAtEnd));
1004
1006
  break;
1005
1007
  default:
1006
1008
  rb_raise(rb_eTypeError, "Boolean or Fixnum expected");
@@ -1023,15 +1025,15 @@ static VALUE
1023
1025
  rb_ext_Entry_SetFlags(VALUE self, VALUE args)
1024
1026
  {
1025
1027
  newtComponent co;
1026
- int len;
1028
+ long len;
1027
1029
 
1028
- len = RARRAY(args)->len;
1030
+ len = RARRAY_LEN(args);
1029
1031
  if (len == 1) {
1030
1032
  Data_Get_Struct(self, struct newtComponent_struct, co);
1031
- newtEntrySetFlags(co, NUM2INT(RARRAY(args)->ptr[0]), NEWT_FLAGS_SET);
1033
+ newtEntrySetFlags(co, NUM2INT(RARRAY_PTR(args)[0]), NEWT_FLAGS_SET);
1032
1034
  } else if (len == 2) {
1033
1035
  Data_Get_Struct(self, struct newtComponent_struct, co);
1034
- newtEntrySetFlags(co, NUM2INT(RARRAY(args)->ptr[0]), NUM2INT(RARRAY(args)->ptr[1]));
1036
+ newtEntrySetFlags(co, NUM2INT(RARRAY_PTR(args)[0]), NUM2INT(RARRAY_PTR(args)[1]));
1035
1037
  } else {
1036
1038
  rb_raise(rb_eArgError, "1 argument or 2 arguments required");
1037
1039
  }
@@ -1098,16 +1100,16 @@ static VALUE
1098
1100
  rb_ext_Grid_WrappedWindow(VALUE self, VALUE args)
1099
1101
  {
1100
1102
  newtGrid grid;
1101
- int len;
1103
+ long len;
1102
1104
 
1103
- len = RARRAY(args)->len;
1105
+ len = RARRAY_LEN(args);
1104
1106
  if (len == 1) {
1105
1107
  Data_Get_Struct(self, struct grid_s, grid);
1106
- newtGridWrappedWindow(grid, STR2CSTR(RARRAY(args)->ptr[0]));
1108
+ newtGridWrappedWindow(grid, StringValuePtr(RARRAY_PTR(args)[0]));
1107
1109
  } else if (len == 3) {
1108
1110
  Data_Get_Struct(self, struct grid_s, grid);
1109
- newtGridWrappedWindowAt(grid, STR2CSTR(RARRAY(args)->ptr[0]),
1110
- NUM2INT(STR2CSTR(RARRAY(args)->ptr[1])), NUM2INT(STR2CSTR(RARRAY(args)->ptr[2])));
1111
+ newtGridWrappedWindowAt(grid, StringValuePtr(RARRAY_PTR(args)[0]),
1112
+ NUM2INT(StringValuePtr(RARRAY_PTR(args)[1])), NUM2INT(StringValuePtr(RARRAY_PTR(args)[2])));
1111
1113
  } else {
1112
1114
  rb_raise(rb_eArgError, "1 argument or 3 arguments required");
1113
1115
  }
data/lib/newt.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
- #require 'ruby_newt.so'
5
4
  module Newt
6
- VERSION = '0.0.1'
5
+ VERSION = '0.9.0'
7
6
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newt
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 59
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 9
8
9
  - 0
9
- - 1
10
- version: 0.0.1
10
+ version: 0.9.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Eric Sperano
@@ -63,7 +63,7 @@ dependencies:
63
63
  version: "2.14"
64
64
  type: :development
65
65
  version_requirements: *id003
66
- description: FIX (describe your package)
66
+ description: Ruby Bindings for the Newt Library
67
67
  email:
68
68
  - eric@sperano.org
69
69
  executables: []
@@ -82,6 +82,57 @@ files:
82
82
  - PostInstall.txt
83
83
  - README.rdoc
84
84
  - Rakefile
85
+ - examples/test-j.rb
86
+ - examples/test.rb
87
+ - examples/test_method/Button_new.rb
88
+ - examples/test_method/Checkbox_get.rb
89
+ - examples/test_method/Checkbox_new.rb
90
+ - examples/test_method/Checkbox_set.rb
91
+ - examples/test_method/Checkbox_set_flags.rb
92
+ - examples/test_method/CompactButton_new.rb
93
+ - examples/test_method/Entry_get.rb
94
+ - examples/test_method/Entry_new.rb
95
+ - examples/test_method/Entry_set.rb
96
+ - examples/test_method/Entry_set_flags.rb
97
+ - examples/test_method/Form_destroy.rb
98
+ - examples/test_method/Form_set_background.rb
99
+ - examples/test_method/Form_set_height.rb
100
+ - examples/test_method/Form_set_width.rb
101
+ - examples/test_method/Grid_new.rb
102
+ - examples/test_method/Label_new.rb
103
+ - examples/test_method/Label_setText.rb
104
+ - examples/test_method/Listbox_clear.rb
105
+ - examples/test_method/Listbox_current_bykey.rb
106
+ - examples/test_method/Listbox_delete.rb
107
+ - examples/test_method/Listbox_get_current.rb
108
+ - examples/test_method/Listbox_insert.rb
109
+ - examples/test_method/Listbox_new.rb
110
+ - examples/test_method/Listbox_select.rb
111
+ - examples/test_method/Listbox_set.rb
112
+ - examples/test_method/Listbox_set_current.rb
113
+ - examples/test_method/Listbox_set_width.rb
114
+ - examples/test_method/Newt_FLAG_SCROLL.rb
115
+ - examples/test_method/RadioButton_new.rb
116
+ - examples/test_method/ReflowText.rb
117
+ - examples/test_method/Scale_new.rb
118
+ - examples/test_method/Scale_set.rb
119
+ - examples/test_method/Screen_bell.rb
120
+ - examples/test_method/Screen_cls.rb
121
+ - examples/test_method/Screen_draw_roottext.rb
122
+ - examples/test_method/Screen_init.rb
123
+ - examples/test_method/Screen_pop_helpline.rb
124
+ - examples/test_method/Screen_push_helpline.rb
125
+ - examples/test_method/Screen_redraw_helpline.rb
126
+ - examples/test_method/Screen_size.rb
127
+ - examples/test_method/Screen_win_menu.rb
128
+ - examples/test_method/TextboxReflowed_new.rb
129
+ - examples/test_method/Textbox_get_num_lines.rb
130
+ - examples/test_method/Textbox_new.rb
131
+ - examples/test_method/Textbox_set_height.rb
132
+ - examples/testgrid-j.rb
133
+ - examples/testgrid.rb
134
+ - examples/testtree-j.rb
135
+ - examples/testtree.rb
85
136
  - ext/ruby_newt/extconf.rb
86
137
  - ext/ruby_newt/ruby_newt.c
87
138
  - lib/newt.rb
@@ -94,7 +145,7 @@ files:
94
145
  - test/test_newt.rb
95
146
  - test/test_ruby_newt_extn.rb
96
147
  - .gemtest
97
- homepage: http://github.com/#{github_username}/#{project_name}
148
+ homepage: http://github.com/esperano/ruby-newt
98
149
  licenses: []
99
150
 
100
151
  post_install_message: PostInstall.txt
@@ -128,7 +179,7 @@ rubyforge_project: newt
128
179
  rubygems_version: 1.8.6
129
180
  signing_key:
130
181
  specification_version: 3
131
- summary: FIX (describe your package)
182
+ summary: Ruby Bindings for the Newt Library
132
183
  test_files:
133
184
  - test/test_helper.rb
134
185
  - test/test_newt.rb