fxruby 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/ChangeLog +199 -0
  2. data/doc/apes02.html +2 -2
  3. data/doc/apes03.html +1 -1
  4. data/doc/book.html +1 -1
  5. data/doc/changes.html +48 -3
  6. data/doc/cvs.html +2 -2
  7. data/doc/differences.html +3 -3
  8. data/doc/gems.html +43 -43
  9. data/doc/implementation.html +1 -1
  10. data/doc/library.html +5 -5
  11. data/doc/opengl.html +5 -5
  12. data/doc/pt02.html +1 -1
  13. data/doc/scintilla.html +4 -4
  14. data/examples/browser.rb +1 -1
  15. data/examples/button.rb +59 -48
  16. data/examples/groupbox.rb +5 -4
  17. data/examples/ratio.rb +70 -0
  18. data/examples/table.rb +1 -1
  19. data/ext/fox12/FXRuby.cpp +2 -1
  20. data/ext/fox12/core_wrap.cpp +16 -6
  21. data/ext/fox12/dc_wrap.cpp +16 -6
  22. data/ext/fox12/dialogs_wrap.cpp +16 -6
  23. data/ext/fox12/frames_wrap.cpp +16 -6
  24. data/ext/fox12/fx3d_wrap.cpp +16 -6
  25. data/ext/fox12/iconlist_wrap.cpp +16 -6
  26. data/ext/fox12/icons_wrap.cpp +18 -7
  27. data/ext/fox12/image_wrap.cpp +16 -6
  28. data/ext/fox12/label_wrap.cpp +16 -6
  29. data/ext/fox12/layout_wrap.cpp +16 -6
  30. data/ext/fox12/librb.c +18 -7
  31. data/ext/fox12/list_wrap.cpp +16 -6
  32. data/ext/fox12/mdi_wrap.cpp +16 -6
  33. data/ext/fox12/menu_wrap.cpp +16 -6
  34. data/ext/fox12/scintilla_wrap.cpp +19 -12
  35. data/ext/fox12/table_wrap.cpp +16 -6
  36. data/ext/fox12/text_wrap.cpp +16 -6
  37. data/ext/fox12/treelist_wrap.cpp +16 -6
  38. data/ext/fox12/ui_wrap.cpp +16 -6
  39. data/lib/fox12/aliases.rb +32 -11
  40. data/lib/fox12/dialogs.rb +72 -0
  41. data/lib/fox12/execute_nonmodal.rb +70 -0
  42. data/lib/fox12/iterators.rb +3 -3
  43. data/lib/fox12/splashscreen.rb +83 -0
  44. data/lib/fox12/version.rb +1 -1
  45. data/rdoc-sources/FXDC.rb +14 -13
  46. data/rdoc-sources/FXDataTarget.rb +30 -5
  47. data/rdoc-sources/FXFileDialog.rb +50 -5
  48. data/rdoc-sources/FXList.rb +13 -13
  49. data/rdoc-sources/FXMemoryBuffer.rb +15 -10
  50. data/rdoc-sources/FXTable.rb +193 -107
  51. data/rdoc-sources/FXText.rb +2 -2
  52. data/rdoc-sources/FXToolBarTab.rb +69 -0
  53. data/rdoc-sources/FXToolTip.rb +1 -1
  54. data/tests/TC_FXMaterial.rb +14 -0
  55. metadata +10 -4
@@ -5,10 +5,30 @@ module Fox
5
5
  # Whenever the valuator control changes, the variable connected through
6
6
  # the data target is automatically updated; conversely, whenever the program
7
7
  # changes a variable, all the connected valuator widgets will be updated
8
- # to reflect this new value on the display.
9
- # Data targets also allow connecting FXRadioButtons, FXMenuCommands, and so on
10
- # to a variable. In this case, the new value of the connected variable is computed
11
- # by subtracting +FXDataTarget::ID_OPTION+ from the message identifier.
8
+ # to reflect this new value on the display. For example:
9
+ #
10
+ # data = FXDataTarget.new("Some Text")
11
+ # textfield = FXTextField.new(p, 12, data, FXDataTarget::ID_VALUE)
12
+ #
13
+ # Data targets also allow connecting other kinds of widgets (like FXRadioButton and
14
+ # FXMenuCommand) to a variable. In this case, the new value of the connected variable
15
+ # is computed by subtracting <code>FXDataTarget::ID_OPTION</code> from the message
16
+ # identifier. For example, to tie a group of radio buttons to a single data target's
17
+ # value (so that the buttons are mutually exclusive), use code like this:
18
+ #
19
+ # data = FXDataTarget.new(0)
20
+ # radio1 = FXRadioButton.new(p, "1st choice", data, FXDataTarget::ID_OPTION)
21
+ # radio2 = FXRadioButton.new(p, "2nd choice", data, FXDataTarget::ID_OPTION + 1)
22
+ # radio3 = FXRadioButton.new(p, "3rd choice", data, FXDataTarget::ID_OPTION + 2)
23
+ #
24
+ # Note that if you'd like the data target to "forward" its +SEL_COMMAND+ or
25
+ # +SEL_CHANGED+ to some other target object after it has updated the data
26
+ # target value, you can do that just as you would for any other widget.
27
+ # For example, continuing the previous code snippet:
28
+ #
29
+ # data.connect(SEL_COMMAND) {
30
+ # puts "The new data target value is #{data.value}"
31
+ # }
12
32
  #
13
33
  # === Events
14
34
  #
@@ -33,7 +53,12 @@ module Fox
33
53
  # The data target's current value [Object]
34
54
  attr_accessor :value
35
55
 
36
- # Initialize with this value
56
+ #
57
+ # Return a new FXDataTarget instance, initialized with the specified _value_.
58
+ # If the optional message target object and message identifier (_tgt_ and _sel_)
59
+ # are specified, the data target will forward the +SEL_COMMAND+ or +SEL_COMMAND+
60
+ # to this other target.
61
+ #
37
62
  def initialize(value=nil, tgt=nil, sel=0) # :yields: theDataTarget
38
63
  end
39
64
  end
@@ -116,16 +116,61 @@ module Fox
116
116
  # Return +true+ if read-only
117
117
  def readOnly?; end
118
118
 
119
- # Open existing filename
119
+ #
120
+ # Display a dialog box that allows the user to select a single existing file name
121
+ # for opening.
122
+ # Returns the selected file name (a String).
123
+ #
124
+ # ==== Parameters:
125
+ #
126
+ # +owner+:: the owner window for the dialog box [FXWindow]
127
+ # +caption+:: the caption for the dialog box [String]
128
+ # +path+:: the initial filename [String]
129
+ # +patterns+:: the pattern list [String]
130
+ # +initial+:: the initial pattern to be used (an index into the pattern list) [Integer]
131
+ #
120
132
  def FXFileDialog.getOpenFilename(owner, caption, path, patterns="*", initial=0); end
121
133
 
122
- # Open multiple existing files
123
- def FXFileDialog.getOpenFilenames(owner, caption, path, patterns = "*", initial=0); end
134
+ #
135
+ # Display a dialog box that allows the user to select multiple existing file names
136
+ # for opening.
137
+ # Returns an array of the selected file names (an array of strings).
138
+ #
139
+ # ==== Parameters:
140
+ #
141
+ # +owner+:: the owner window for the dialog box [FXWindow]
142
+ # +caption+:: the caption for the dialog box [String]
143
+ # +path+:: the initial filename [String]
144
+ # +patterns+:: the pattern list [String]
145
+ # +initial+:: the initial pattern to be used (an index into the pattern list) [Integer]
146
+ #
147
+ def FXFileDialog.getOpenFilenames(owner, caption, path, patterns="*", initial=0); end
124
148
 
125
- # Save to filename
149
+ #
150
+ # Display a dialog box that allows the user to select an existing file name, or
151
+ # enter a new file name, for saving.
152
+ # Returns the save file name (a String).
153
+ #
154
+ # ==== Parameters:
155
+ #
156
+ # +owner+:: the owner window for the dialog box [FXWindow]
157
+ # +caption+:: the caption for the dialog box [String]
158
+ # +path+:: the initial filename [String]
159
+ # +patterns+:: the pattern list [String]
160
+ # +initial+:: the initial pattern to be used (an index into the pattern list) [Integer]
161
+ #
126
162
  def FXFileDialog.getSaveFilename(owner, caption, path, patterns="*", initial=0); end
127
163
 
128
- # Open directory name
164
+ #
165
+ # Display a dialog box that allows the user to select a directory.
166
+ # Returns the directory name (a String).
167
+ #
168
+ # ==== Parameters:
169
+ #
170
+ # +owner+:: the owner window for the dialog box [FXWindow]
171
+ # +caption+:: the caption for the dialog box [String]
172
+ # +path+:: the initial directory path [String]
173
+ #
129
174
  def FXFileDialog.getOpenDirectory(owner, caption, path); end
130
175
  end
131
176
  end
@@ -152,27 +152,27 @@ module Fox
152
152
 
153
153
  # Return the item at the given _index_; returns a reference to an FXListItem instance.
154
154
  # Raises IndexError if _index_ is out of bounds.
155
- def retrieveItem(index) ; end
155
+ def getItem(index) ; end
156
156
 
157
157
  # Replace the item at _index_ with a (possibly subclassed) _item_, e.g.
158
158
  #
159
- # list.replaceItem(0, FXListItem.new("inky"))
159
+ # list.setItem(0, FXListItem.new("inky"))
160
160
  #
161
161
  # If _notify_ is +true+, a +SEL_REPLACED+ message is sent to the list's message target
162
162
  # before the item is replaced.
163
163
  # Raises IndexError if _index_ is out of bounds.
164
164
  # Returns the integer index of the replaced item.
165
- def replaceItem(index, item, notify=false) ; end
165
+ def setItem(index, item, notify=false) ; end
166
166
 
167
167
  # Replace the _text_, _icon_, and user _data_ for the item at _index_, e.g.
168
168
  #
169
- # list.replaceItem(0, "inky")
169
+ # list.setItem(0, "inky")
170
170
  #
171
171
  # If _notify_ is +true+, a +SEL_REPLACED+ message is sent to the list's message target
172
172
  # before the item is replaced.
173
173
  # Raises IndexError if _index_ is out of bounds.
174
174
  # Returns the integer index of the replaced item.
175
- def replaceItem(index, text, icon=nil, data=nil, notify=false) ; end
175
+ def setItem(index, text, icon=nil, data=nil, notify=false) ; end
176
176
 
177
177
  # Insert a new (possibly subclassed) _item_ at the given _index_, e.g.
178
178
  #
@@ -281,7 +281,7 @@ module Fox
281
281
  # Change item text and mark the list's layout as dirty; this is
282
282
  # equivalent to:
283
283
  #
284
- # retrieveItem(index).text = text
284
+ # getItem(index).text = text
285
285
  # recalc
286
286
  #
287
287
  # Raises IndexError if _index_ is out of bounds.
@@ -291,7 +291,7 @@ module Fox
291
291
  #
292
292
  # Return item text; this is equivalent to:
293
293
  #
294
- # retrieveItem(index).text
294
+ # getItem(index).text
295
295
  #
296
296
  # Raises IndexError if _index_ is out of bounds.
297
297
  #
@@ -300,7 +300,7 @@ module Fox
300
300
  #
301
301
  # Change item icon and mark the list's layout as dirty; this is equivalent to:
302
302
  #
303
- # retrieveItem(index).icon = icon
303
+ # getItem(index).icon = icon
304
304
  # recalc
305
305
  #
306
306
  # Raises IndexError if _index_ is out of bounds.
@@ -310,7 +310,7 @@ module Fox
310
310
  #
311
311
  # Return item icon, if any. This is equivalent to:
312
312
  #
313
- # retrieveItem(index).icon
313
+ # getItem(index).icon
314
314
  #
315
315
  # Raises IndexError if _index_ is out of bounds.
316
316
  #
@@ -319,7 +319,7 @@ module Fox
319
319
  #
320
320
  # Change item user data; this is equivalent to:
321
321
  #
322
- # retrieveItem(index).data = data
322
+ # getItem(index).data = data
323
323
  #
324
324
  # Raises IndexError if _index_ is out of bounds.
325
325
  #
@@ -328,7 +328,7 @@ module Fox
328
328
  #
329
329
  # Return item user data; this is equivalent to:
330
330
  #
331
- # retrieveItem(index).data
331
+ # getItem(index).data
332
332
  #
333
333
  # Raises IndexError if _index_ is out of bounds.
334
334
  #
@@ -337,7 +337,7 @@ module Fox
337
337
  #
338
338
  # Return +true+ if item is selected; this is equivalent to:
339
339
  #
340
- # retrieveItem(index).selected?
340
+ # getItem(index).selected?
341
341
  #
342
342
  # Raises IndexError if _index_ is out of bounds.
343
343
  #
@@ -352,7 +352,7 @@ module Fox
352
352
  #
353
353
  # Return +true+ if item is enabled; this is equivalent to:
354
354
  #
355
- # retrieveItem(index).enabled?
355
+ # getItem(index).enabled?
356
356
  #
357
357
  # Raises IndexError if _index_ is out of bounds.
358
358
  #
@@ -1,19 +1,24 @@
1
1
  module Fox
2
2
  class FXMemoryBuffer
3
3
 
4
- # Size in bytes [Integer]
5
- attr_reader :size
4
+ # Pixel buffer, an array of FXColor values [Array]
5
+ attr_reader :data
6
6
 
7
- # Return the specified element (an Integer)
8
- def [](index); end
9
-
10
- # Set the specified element to _value_.
11
- def []=(index, value); end
12
-
13
7
  #
14
- # Return a copy of the buffer data as a String.
8
+ # Return a new FXMemoryBuffer instance, initialized with the
9
+ # provided array of FXColor values.
10
+ #
11
+ # ==== Parameters:
12
+ #
13
+ # +data+:: the initial array of FXColor values.
15
14
  #
16
- def to_s; end
15
+ def initialize(data, size); end
16
+
17
+ # Return the specified element (an FXColor value)
18
+ def [](index); end
19
+
20
+ # Set the specified element to _clr_.
21
+ def []=(index, clr); end
17
22
  end
18
23
  end
19
24
 
@@ -57,8 +57,12 @@ module Fox
57
57
  # Indicates whether this item is draggable [Boolean]
58
58
  attr_writer :draggable
59
59
 
60
- # Indicates how the text in the cell will be justified (some
61
- # combination of +LEFT+ or +RIGHT+ and +TOP+ or +BOTTOM+) [Integer]
60
+ #
61
+ # Indicates how the text in the cell will be justified.
62
+ # This value is some combination of the horizontal justification
63
+ # flags +LEFT+, +CENTER_X+ and +RIGHT+, and the vertical
64
+ # justification flags +TOP+, +CENTER_Y+ and +BOTTOM+.
65
+ #
62
66
  attr_accessor :justify
63
67
 
64
68
  # The icon's position in the cell, relative to the text (one
@@ -223,7 +227,7 @@ module Fox
223
227
  attr_reader :numRows
224
228
 
225
229
  # Number of columns [Integer]
226
- attr_reader :numCols
230
+ attr_reader :numColumns
227
231
 
228
232
  # Top cell margin, in pixels [Integer]
229
233
  attr_accessor :marginTop
@@ -392,7 +396,33 @@ module Fox
392
396
  #
393
397
  def showVertGrid(on=true) ; end
394
398
 
399
+ #
400
+ # Determine row containing _y_.
401
+ # Returns -1 if _y_ is above the first row, and _numRows_ if _y_ is below the last row.
402
+ # Otherwise, returns the row in the table containing _y_.
403
+ #
404
+ def rowAtY(y) ; end
405
+
406
+ #
407
+ # Determine column containing _x_.
408
+ # Returns -1 if _x_ is to the left of the first column, and _numColumns_ if _x_ is
409
+ # to the right of the last column. Otherwise, returns the column in the table
410
+ # containing _x_.
411
+ #
412
+ def colAtX(x) ; end
413
+
414
+ # Return the item (a reference to an FXTableItem) at the given _row_ and _column_.
415
+ # Raises IndexError if either _row_ or _column_ is out of bounds.
416
+ def getItem(row, column) ; end
417
+
418
+ # Replace the item at the given _row_ and _column_ with a (possibly subclassed) _item_.
419
+ # Raises IndexError if either _row_ or _column_ is out of bounds.
420
+ def setItem(row, column, item) ; end
421
+
422
+ #
395
423
  # Resize the table content to _numRows_ rows and _numCols_ columns.
424
+ # Note that all existing items in the table will be destroyed and new
425
+ # items will be constructed.
396
426
  # If _notify_ is +true+, then
397
427
  # * a +SEL_DELETED+ message will be sent to the table's message target
398
428
  # indicating which cells (if any) are about to be destroyed as a result of the resize;
@@ -402,24 +432,76 @@ module Fox
402
432
  # indicating the new current cell.
403
433
  def setTableSize(numRows, numCols, notify=false) ; end
404
434
 
405
- # Determine row containing _y_; returns -1 if _y_ outside of table
406
- def rowAtY(y) ; end
435
+ #
436
+ # Insert _numRows_ rows beginning at the specified _row_ number.
437
+ # If _row_ is equal to the number of rows in the table, the new
438
+ # rows are added to the bottom of the table.
439
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the table's
440
+ # message target for each cell that is inserted.
441
+ # Raises IndexError if _row_ is out of bounds.
442
+ #
443
+ def insertRows(row, numRows=1, notify=false) ; end
407
444
 
408
- # Determine column containing _x_; returns -1 if _x_ outside of table
409
- def colAtX(x) ; end
410
-
411
- # Return the item (a reference to an FXTableItem) at the given _row_ and _column_.
412
- # Raises IndexError if either _row_ or _column_ is out of bounds.
413
- def getItem(row, column) ; end
445
+ #
446
+ # Insert _numColumns_ columns beginning at the specified _column_ number.
447
+ # If _column_ is equal to the number of columns in the table, the
448
+ # new columns are added to the right of the table.
449
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the table's
450
+ # message target for each cell that is inserted.
451
+ # Raises IndexError if _column_ is out of bounds.
452
+ #
453
+ def insertColumns(column, numColumns=1, notify=false) ; end
454
+
455
+ #
456
+ # Remove the _nr_ rows starting at the specified _row_.
457
+ # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
458
+ # message target for each cell that is removed.
459
+ # Raises IndexError if _row_ is less than zero, or if _row_ + _nr_
460
+ # is greater than the current number of table rows.
461
+ #
462
+ def removeRows(row, nr=1, notify=false) ; end
463
+
464
+ #
465
+ # Remove the _nc_ columns starting at the specified _column_.
466
+ # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
467
+ # message target for each cell that is removed.
468
+ # Raises IndexError if _column_ is less than zero, or if
469
+ # _column_ + _nc_ is greater than the current number of table columns.
470
+ #
471
+ def removeColumns(column, nc=1, notify=false) ; end
472
+
473
+ #
474
+ # Remove item at (_row_, _col_), replacing it with +nil+.
475
+ # If _notify_ is +true+, a +SEL_REPLACED+ message is sent to the table's
476
+ # message target before this cell is removed.
477
+ # Raises IndexError if either _row_ or _col_ is out of bounds.
478
+ #
479
+ def removeItem(row, col, notify=false) ; end
414
480
 
415
- # Replace the item at the given _row_ and _column_ with a (possibly subclassed) _item_.
416
- # Raises IndexError if either _row_ or _column_ is out of bounds.
417
- def setItem(row, column, item) ; end
481
+ #
482
+ # Remove all cells in the specified range of rows and columns.
483
+ # If _notify_ is +true+, a +SEL_REPLACED+ message is sent to the table's
484
+ # message target before each cell is removed.
485
+ # Raises IndexError if _startrow_, _endrow_, _startcol_ or
486
+ # _endcol_ is out of bounds.
487
+ #
488
+ def removeRange(startrow, endrow, startcol, endcol, notify=false); end
489
+
490
+ #
491
+ # Remove all items from table.
492
+ # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
493
+ # message target before the cells are removed.
494
+ #
495
+ def clearItems(notify=false); end
418
496
 
419
497
  # Scroll to make cell at (_row_, _column_) fully visible.
420
498
  # Raises IndexError if either _row_ or _column_ is out of bounds.
421
499
  def makePositionVisible(row, column) ; end
422
500
 
501
+ # Returns +true+ if the cell at position (_row_, _column_) is visible.
502
+ # Raises IndexError if either _row_ or _column_ is out of bounds.
503
+ def itemVisible?(row, column) ; end
504
+
423
505
  # Set column width.
424
506
  # Raises IndexError if _column_ is out of bounds.
425
507
  def setColumnWidth(column, columnWidth) ; end
@@ -436,18 +518,6 @@ module Fox
436
518
  # Raises IndexError if _row_ is out of bounds.
437
519
  def getRowHeight(row) ; end
438
520
 
439
- # Set column header at _index_ to _text_.
440
- def setColumnText(index, text); end
441
-
442
- # Return text of column header at _index_.
443
- def getColumnText(index); end
444
-
445
- # Set row header at _index_ to _text_.
446
- def setRowText(index, text); end
447
-
448
- # Return text of row header at _index_.
449
- def getRowText(index); end
450
-
451
521
  # Set x-coordinate for column.
452
522
  # Raises IndexError if _column_ is out of bounds.
453
523
  def setColumnX(column, x) ; end
@@ -464,6 +534,26 @@ module Fox
464
534
  # Raises IndexError if _row_ is out of bounds.
465
535
  def getRowY(row) ; end
466
536
 
537
+ # Return minimum row height for row _r_.
538
+ # Raises IndexError if _r_ is out of bounds.
539
+ def minRowHeight(r); end
540
+
541
+ # Return minimum column width for column _c_.
542
+ # Raises IndexError if _c_ is out of bounds.
543
+ def minColumnWidth(c); end
544
+
545
+ # Set column header at _index_ to _text_.
546
+ def setColumnText(index, text); end
547
+
548
+ # Return text of column header at _index_.
549
+ def getColumnText(index); end
550
+
551
+ # Set row header at _index_ to _text_.
552
+ def setRowText(index, text); end
553
+
554
+ # Return text of row header at _index_.
555
+ def getRowText(index); end
556
+
467
557
  # Modify cell text for item at specified _row_ and _column_.
468
558
  # Raises IndexError if either _row_ or _column_ is out of bounds.
469
559
  def setItemText(row, column, text) ; end
@@ -488,22 +578,16 @@ module Fox
488
578
  # Raises IndexError if either _row_ or _column_ is out of bounds.
489
579
  def getItemData(row, column) ; end
490
580
 
491
- # Returns +true+ if the cell at position (_row_, _column_) is selected.
492
- # Raises IndexError if either _row_ or _column_ is out of bounds.
493
- def itemSelected?(row, column) ; end
581
+ # Extract cells from given range as text.
582
+ def extractText(startrow, endrow, startcol, endcol, cs='\t', rs='\n'); end
494
583
 
495
- # Returns +true+ if the cell at position (_row_, _column_) is the current cell.
496
- # Raises IndexError if either _row_ or _column_ is out of bounds.
497
- def itemCurrent?(row, column) ; end
584
+ # Overlay text over given cell range.
585
+ def overlayText(startrow, endrow, startcol, endcol, text, cs='\t', rs='\n'); end
498
586
 
499
- # Returns +true+ if the cell at position (_row_, _column_) is visible.
500
- # Raises IndexError if either _row_ or _column_ is out of bounds.
501
- def itemVisible?(row, column) ; end
587
+ # Return +true+ if the cell at position (_r_, _c_) is a spanning cell.
588
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
589
+ def itemSpanning?(r, c); end
502
590
 
503
- # Returns +true+ if the cell at position (_row_, _column_) is enabled.
504
- # Raises IndexError if either _row_ or _column_ is out of bounds.
505
- def itemEnabled?(row, column) ; end
506
-
507
591
  #
508
592
  # Repaint cells between grid lines (_startRow_, _endRow_) and grid lines
509
593
  # (_startCol_, _endCol_).
@@ -523,36 +607,91 @@ module Fox
523
607
  # Raises IndexError if either _row_ or _column_ is out of bounds.
524
608
  def disableItem(row, column) ; end
525
609
 
526
- # Select cell.
527
- # If _notify_ is +true+, a +SEL_SELECTED+ message is sent to the table's message target
528
- # after the item is selected.
610
+ # Returns +true+ if the cell at position (_row_, _column_) is enabled.
529
611
  # Raises IndexError if either _row_ or _column_ is out of bounds.
530
- def selectItem(row, column, notify=false) ; end
612
+ def itemEnabled?(row, column) ; end
613
+
614
+ # Set item justification for the cell at (_r_, _c_).
615
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
616
+ def setItemJustify(r, c, justify); end
531
617
 
532
- # Deselect cell.
533
- # If _notify_ is +true+, a +SEL_DESELECTED+ message is sent to the table's message target
534
- # after the item is deselected.
535
- # Raises IndexError if either _row_ or _column_ is out of bounds.
536
- def deselectItem(row, column, notify=false) ; end
618
+ # Return item justification for the cell at (_r_, _c_).
619
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
620
+ def getItemJustify(r, c); end
537
621
 
538
- # Toggle cell.
539
- # If _notify_ is +true+, a +SEL_SELECTED+ or +SEL_DESELECTED+ message is sent to the table's
540
- # message target after the item is (de)selected.
541
- # Raises IndexError if either _row_ or _column_ is out of bounds.
542
- def toggleItem(row, column, notify=false) ; end
622
+ # Set the relative position of the icon and text for the cell at (_r_, _c_).
623
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
624
+ def setItemIconPosition(r, c, mode); end
625
+
626
+ # Return the relative position of the icon and text for the cell at (_r_, _c_).
627
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
628
+ def getItemIconPosition(r, c); end
543
629
 
630
+ # Set the border style for the cell at (_r_, _c_).
631
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
632
+ def setItemBorders(r, c, borders); end
633
+
634
+ # Return the border style for the cell at (_r_, _c_).
635
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
636
+ def getItemBorders(r, c); end
637
+
638
+ # Set the background stipple style for the cell at (_r_, _c_).
639
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
640
+ def setItemStipple(r, c, pat); end
641
+
642
+ # Return the background stipple style for the cell at (_r_, _c_).
643
+ # Raises IndexError if either _r_ or _c_ is out of bounds.
644
+ def getItemStipple(r, c); end
645
+
544
646
  # Change current cell.
545
647
  # If _notify_ is +true+, a +SEL_CHANGED+ message is sent to the table's
546
648
  # message target after the current item changes.
547
649
  # Raises IndexError if either _row_ or _column_ is out of bounds.
548
650
  def setCurrentItem(row, column, notify=false) ; end
549
651
 
652
+ # Returns +true+ if the cell at position (_row_, _column_) is the current cell.
653
+ # Raises IndexError if either _row_ or _column_ is out of bounds.
654
+ def itemCurrent?(row, column) ; end
655
+
550
656
  # Change anchored cell.
551
657
  # Raises IndexError if either _row_ or _column_ is out of bounds.
552
658
  def setAnchorItem(row, column) ; end
553
659
 
660
+ # Returns +true+ if the cell at position (_row_, _column_) is selected.
661
+ # Raises IndexError if either _row_ or _column_ is out of bounds.
662
+ def itemSelected?(row, column) ; end
663
+
664
+ # Return +true+ if the specified row of cells is selected.
665
+ # Raises IndexError if _r_ is out of bounds.
666
+ def rowSelected?(r); end
667
+
668
+ # Return +true+ if the specified column of cells is selected.
669
+ # Raises IndexError if _c_ is out of bounds.
670
+ def columnSelected?(c); end
671
+
672
+ # Return +true+ if any cells are selected.
673
+ def anythingSelected?; end
674
+
675
+ # Select a row of cells.
676
+ # If _notify_ is +true+, a +SEL_DESELECTED+ message is sent to the table's message
677
+ # target for each previously selected cell that becomes deselected as a result of
678
+ # this operation. Likewise, a +SEL_SELECTED+ message is sent to the table's
679
+ # message target for each newly-selected cell.
680
+ # Raises IndexError if _row_ is out of bounds.
681
+ def selectRow(row, notify=false); end
682
+
683
+ # Select a column of cells.
684
+ # If _notify_ is +true+, a +SEL_DESELECTED+ message is sent to the table's message
685
+ # target for each previously selected cell that becomes deselected as a result of
686
+ # this operation. Likewise, a +SEL_SELECTED+ message is sent to the table's
687
+ # message target for each newly-selected cell.
688
+ # Raises IndexError if _col_ is out of bounds.
689
+ def selectColumn(col, notify=false); end
690
+
554
691
  # Select range.
555
- # If _notify_ is +true+, a +SEL_SELECTED+ message is sent to the table's
692
+ # If _notify_ is +true+, a +SEL_DESELECTED+ message is sent to the table's message
693
+ # target for each previously selected cell that becomes deselected as a result of
694
+ # this operation. Likewise, a +SEL_SELECTED+ message is sent to the table's
556
695
  # message target for each newly-selected cell.
557
696
  # Raises IndexError if _startRow_, _endRow_, _startColumn_ or _endColumn_ is out of bounds.
558
697
  def selectRange(startRow, endRow, startColumn, endColumn, notify=false) ; end
@@ -596,59 +735,6 @@ module Fox
596
735
 
597
736
  # Draw a range of cells
598
737
  def drawRange(dc, xlo, xhi, ylo, yhi, xoff, yoff, rlo, rhi, clo, chi) ; end
599
-
600
- #
601
- # Insert _numRows_ rows beginning at the specified _row_ number.
602
- # If _row_ is equal to the number of rows in the table, the new
603
- # rows are added to the bottom of the table.
604
- # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the table's
605
- # message target for each cell that is inserted.
606
- # Raises IndexError if _row_ is out of bounds.
607
- #
608
- def insertRows(row, numRows=1, notify=false) ; end
609
-
610
- #
611
- # Insert _numColumns_ columns beginning at the specified _column_ number.
612
- # If _column_ is equal to the number of columns in the table, the
613
- # new columns are added to the right of the table.
614
- # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the table's
615
- # message target for each cell that is inserted.
616
- # Raises IndexError if _column_ is out of bounds.
617
- #
618
- def insertColumns(column, numColumns=1, notify=false) ; end
619
-
620
- #
621
- # Remove the _nr_ rows starting at the specified _row_.
622
- # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
623
- # message target for each cell that is removed.
624
- # Raises IndexError if _row_ is less than zero, or if _row_ + _nr_
625
- # is greater than the current number of table rows.
626
- #
627
- def removeRows(row, nr=1, notify=false) ; end
628
-
629
- #
630
- # Remove the _nc_ columns starting at the specified _column_.
631
- # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
632
- # message target for each cell that is removed.
633
- # Raises IndexError if _column_ is less than zero, or if
634
- # _column_ + _nc_ is greater than the current number of table columns.
635
- #
636
- def removeColumns(column, nc=1, notify=false) ; end
637
-
638
- #
639
- # Remove item at (_row_, _column_).
640
- # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
641
- # message target after this cell is removed.
642
- # Raises IndexError if either _row_ or _column_ is out of bounds.
643
- #
644
- def removeItem(row, column, notify=false) ; end
645
-
646
- #
647
- # Remove all items from table.
648
- # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the table's
649
- # message target for each cell that is removed.
650
- #
651
- def clearItems(notify=false); end
652
738
  end
653
739
  end
654
740
 
@@ -283,10 +283,10 @@ module Fox
283
283
  attr_accessor :textStyle
284
284
 
285
285
  # Number of visible rows [Integer]
286
- attr_accessor :visRows
286
+ attr_accessor :visibleRows
287
287
 
288
288
  # Number of visible columns [Integer]
289
- attr_accessor :visCols
289
+ attr_accessor :visibleColumns
290
290
 
291
291
  #
292
292
  # Brace and parenthesis match highlighting time, in milliseconds [Integer].