fxruby 1.2.2 → 1.2.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.
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].