00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef __vtkKWMultiColumnList_h
00036 #define __vtkKWMultiColumnList_h
00037
00038 #include "vtkKWCoreWidget.h"
00039
00040 class vtkKWIcon;
00041 class vtkKWMultiColumnListInternals;
00042 class vtkKWCheckButton;
00043 class vtkKWComboBox;
00044 class vtkKWFrame;
00045 class vtkKWLoadSaveButton;
00046 class vtkStringArray;
00047
00048 class KWWidgets_EXPORT vtkKWMultiColumnList : public vtkKWCoreWidget
00049 {
00050 public:
00051 static vtkKWMultiColumnList* New();
00052 vtkTypeRevisionMacro(vtkKWMultiColumnList,vtkKWCoreWidget);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 virtual void SetBinding(
00066 const char *event, vtkObject *object, const char *method);
00067 virtual void SetBinding(
00068 const char *event, const char *command);
00069 virtual void AddBinding(
00070 const char *event, vtkObject *object, const char *method);
00071 virtual void AddBinding(
00072 const char *event, const char *command);
00073 virtual void RemoveBinding(const char *event);
00074 virtual void RemoveBinding(
00075 const char *event, vtkObject *object, const char *method);
00076
00077
00078
00079 virtual void Focus();
00080 virtual int HasFocus();
00081
00082
00083
00084
00085
00086
00087
00088 virtual void SetWidth(int width);
00089 virtual int GetWidth();
00090 virtual void SetHeight(int height);
00091 virtual int GetHeight();
00092
00093
00094
00095 virtual void GetBackgroundColor(double *r, double *g, double *b);
00096 virtual double* GetBackgroundColor();
00097 virtual void SetBackgroundColor(double r, double g, double b);
00098 virtual void SetBackgroundColor(double rgb[3])
00099 { this->SetBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00100
00101
00102
00103 virtual void GetForegroundColor(double *r, double *g, double *b);
00104 virtual double* GetForegroundColor();
00105 virtual void SetForegroundColor(double r, double g, double b);
00106 virtual void SetForegroundColor(double rgb[3])
00107 { this->SetForegroundColor(rgb[0], rgb[1], rgb[2]); };
00108
00109
00110
00111
00112
00113 virtual void SetHighlightThickness(int);
00114 virtual int GetHighlightThickness();
00115
00116
00117
00118
00119
00120 virtual void SetBorderWidth(int);
00121 virtual int GetBorderWidth();
00122
00123
00124
00125
00126
00127
00128 virtual void SetRelief(int);
00129 virtual int GetRelief();
00130 virtual void SetReliefToRaised();
00131 virtual void SetReliefToSunken();
00132 virtual void SetReliefToFlat();
00133 virtual void SetReliefToRidge();
00134 virtual void SetReliefToSolid();
00135 virtual void SetReliefToGroove();
00136
00137
00138
00139
00140
00141
00142
00143 virtual int InsertColumn(int col_index, const char *title);
00144 virtual int AddColumn(const char *title);
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155 virtual void SetColumnName(int col_index, const char *col_name);
00156 virtual const char* GetColumnName(int col_index);
00157 virtual int GetColumnIndexWithName(const char *col_name);
00158
00159
00160
00161
00162 virtual int GetNumberOfColumns();
00163
00164
00165
00166 virtual void SeeColumn(int col_index);
00167
00168
00169
00170 virtual void DeleteColumn(int col_index);
00171 virtual void DeleteAllColumns();
00172
00173
00174
00175
00176 vtkBooleanMacro(MovableColumns, int);
00177 virtual void SetMovableColumns(int);
00178 virtual int GetMovableColumns();
00179
00180
00181
00182
00183 virtual void SetRowSpacing(int);
00184 virtual int GetRowSpacing();
00185
00186
00187
00188
00189 vtkBooleanMacro(ResizableColumns, int);
00190 virtual void SetResizableColumns(int);
00191 virtual int GetResizableColumns();
00192
00193
00194
00195
00196 vtkBooleanMacro(ColumnSeparatorsVisibility, int);
00197 virtual void SetColumnSeparatorsVisibility(int);
00198 virtual int GetColumnSeparatorsVisibility();
00199
00200
00201
00202
00203 vtkBooleanMacro(ColumnLabelsVisibility, int);
00204 virtual void SetColumnLabelsVisibility(int);
00205 virtual int GetColumnLabelsVisibility();
00206
00207
00208
00209 virtual void GetColumnLabelBackgroundColor(double *r, double *g, double *b);
00210 virtual double* GetColumnLabelBackgroundColor();
00211 virtual void SetColumnLabelBackgroundColor(double r, double g, double b);
00212 virtual void SetColumnLabelBackgroundColor(double rgb[3])
00213 { this->SetColumnLabelBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00214 virtual void GetColumnLabelForegroundColor(double *r, double *g, double *b);
00215 virtual double* GetColumnLabelForegroundColor();
00216 virtual void SetColumnLabelForegroundColor(double r, double g, double b);
00217 virtual void SetColumnLabelForegroundColor(double rgb[3])
00218 { this->SetColumnLabelForegroundColor(rgb[0], rgb[1], rgb[2]); };
00219
00220
00221
00222 virtual void SetColumnTitle(int col_index, const char*);
00223 virtual const char* GetColumnTitle(int col_index);
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233 virtual void SetColumnWidth(int col_index, int width);
00234 virtual int GetColumnWidth(int col_index);
00235 virtual void SetColumnMaximumWidth(int col_index, int width);
00236 virtual int GetColumnMaximumWidth(int col_index);
00237
00238
00239
00240
00241
00242
00243
00244 virtual void SetColumnStretchable(int col_index, int flag);
00245 virtual void ColumnStretchableOn(int col_index)
00246 { this->SetColumnStretchable(col_index, 1); };
00247 virtual void ColumnStretchableOff(int col_index)
00248 { this->SetColumnStretchable(col_index, 0); };
00249 virtual int GetColumnStretchable(int col_index);
00250 vtkBooleanMacro(StretchableColumns, int);
00251 virtual void SetStretchableColumns(int);
00252
00253
00254
00255
00256
00257
00258 enum
00259 {
00260 ColumnAlignmentLeft = 0,
00261 ColumnAlignmentRight,
00262 ColumnAlignmentCenter,
00263 ColumnAlignmentUnknown
00264 };
00265
00266 virtual int GetColumnAlignment(int col_index);
00267 virtual void SetColumnAlignment(int col_index, int align);
00268 virtual void SetColumnAlignmentToLeft(int col_index)
00269 { this->SetColumnAlignment(
00270 col_index, vtkKWMultiColumnList::ColumnAlignmentLeft); };
00271 virtual void SetColumnAlignmentToRight(int col_index)
00272 { this->SetColumnAlignment(
00273 col_index, vtkKWMultiColumnList::ColumnAlignmentRight); };
00274 virtual void SetColumnAlignmentToCenter(int col_index)
00275 { this->SetColumnAlignment(
00276 col_index, vtkKWMultiColumnList::ColumnAlignmentCenter); };
00277 virtual int GetColumnLabelAlignment(int col_index);
00278 virtual void SetColumnLabelAlignment(int col_index, int align);
00279 virtual void SetColumnLabelAlignmentToLeft(int col_index)
00280 { this->SetColumnLabelAlignment(
00281 col_index, vtkKWMultiColumnList::ColumnAlignmentLeft); };
00282 virtual void SetColumnLabelAlignmentToRight(int col_index)
00283 { this->SetColumnLabelAlignment(
00284 col_index, vtkKWMultiColumnList::ColumnAlignmentRight); };
00285 virtual void SetColumnLabelAlignmentToCenter(int col_index)
00286 { this->SetColumnLabelAlignment(
00287 col_index, vtkKWMultiColumnList::ColumnAlignmentCenter); };
00288
00289
00290
00291
00292
00293
00294
00295 enum
00296 {
00297 SortByIncreasingOrder = 0,
00298 SortByDecreasingOrder,
00299 SortByUnknownOrder
00300 };
00301
00302 virtual void SortByColumn(int col_index, int order);
00303 virtual void SortByColumnIncreasingOrder(int col_index)
00304 { this->SortByColumn(
00305 col_index, vtkKWMultiColumnList::SortByIncreasingOrder); };
00306 virtual void SortByColumnDecreasingOrder(int col_index)
00307 { this->SortByColumn(
00308 col_index, vtkKWMultiColumnList::SortByDecreasingOrder); };
00309 virtual int GetLastSortedColumn();
00310 virtual int GetLastSortedOrder();
00311
00312
00313
00314
00315 enum
00316 {
00317 SortModeAscii = 0,
00318 SortModeDictionary,
00319 SortModeInteger,
00320 SortModeReal,
00321 SortModeCommand,
00322 SortModeUnknown
00323 };
00324
00325 virtual int GetColumnSortMode(int col_index);
00326 virtual void SetColumnSortMode(int col_index, int mode);
00327 virtual void SetColumnSortModeToAscii(int col_index)
00328 { this->SetColumnSortMode(
00329 col_index, vtkKWMultiColumnList::SortModeAscii); };
00330 virtual void SetColumnSortModeToDictionary(int col_index)
00331 { this->SetColumnSortMode(
00332 col_index, vtkKWMultiColumnList::SortModeDictionary); };
00333 virtual void SetColumnSortModeToInteger(int col_index)
00334 { this->SetColumnSortMode(
00335 col_index, vtkKWMultiColumnList::SortModeInteger); };
00336 virtual void SetColumnSortModeToReal(int col_index)
00337 { this->SetColumnSortMode(
00338 col_index, vtkKWMultiColumnList::SortModeReal); };
00339
00340
00341
00342
00343
00344 vtkBooleanMacro(SortArrowVisibility, int);
00345 virtual void SetSortArrowVisibility(int);
00346 virtual int GetSortArrowVisibility();
00347
00348
00349
00350
00351
00352
00353
00354 vtkBooleanMacro(ColorSortedColumn, int);
00355 vtkGetMacro(ColorSortedColumn, int);
00356 virtual void SetColorSortedColumn(int);
00357
00358
00359
00360
00361 vtkGetVector3Macro(SortedColumnBackgroundColor,double);
00362 virtual void SetSortedColumnBackgroundColor(
00363 double r, double g, double b);
00364 virtual void SetSortedColumnBackgroundColor(double rgb[3])
00365 { this->SetSortedColumnBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380 enum
00381 {
00382 ColumnEditWindowEntry = 0,
00383 ColumnEditWindowCheckButton,
00384 ColumnEditWindowSpinBox,
00385 ColumnEditWindowUnknown
00386 };
00387
00388 virtual int GetColumnEditWindow(int col_index);
00389 virtual void SetColumnEditWindow(int col_index, int arg);
00390 virtual void SetColumnEditWindowToEntry(int col_index)
00391 { this->SetColumnEditWindow(
00392 col_index, vtkKWMultiColumnList::ColumnEditWindowEntry); };
00393 virtual void SetColumnEditWindowToCheckButton(int col_index)
00394 { this->SetColumnEditWindow(
00395 col_index, vtkKWMultiColumnList::ColumnEditWindowCheckButton); };
00396 virtual void SetColumnEditWindowToSpinBox(int col_index)
00397 { this->SetColumnEditWindow(
00398 col_index, vtkKWMultiColumnList::ColumnEditWindowSpinBox); };
00399
00400
00401
00402
00403 virtual void SetColumnResizable(int col_index, int flag);
00404 virtual void ColumnResizableOn(int col_index)
00405 { this->SetColumnResizable(col_index, 1); };
00406 virtual void ColumnResizableOff(int col_index)
00407 { this->SetColumnResizable(col_index, 0); };
00408 virtual int GetColumnResizable(int col_index);
00409
00410
00411
00412
00413 virtual void SetColumnEditable(int col_index, int flag);
00414 virtual void ColumnEditableOn(int col_index)
00415 { this->SetColumnEditable(col_index, 1); };
00416 virtual void ColumnEditableOff(int col_index)
00417 { this->SetColumnEditable(col_index, 0); };
00418 virtual int GetColumnEditable(int col_index);
00419
00420
00421
00422
00423 virtual void SetColumnVisibility(int col_index, int flag);
00424 virtual void ColumnVisibilityOn(int col_index)
00425 { this->SetColumnVisibility(col_index, 1); };
00426 virtual void ColumnVisibilityOff(int col_index)
00427 { this->SetColumnVisibility(col_index, 0); };
00428 virtual int GetColumnVisibility(int col_index);
00429
00430
00431
00432
00433 virtual int HasColumnAttribute(
00434 int col_index, const char *name);
00435 virtual void SetColumnAttribute(
00436 int col_index, const char *name, const char *value);
00437 virtual const char* GetColumnAttribute(
00438 int col_index, const char *name);
00439 virtual void SetColumnAttributeAsInt(
00440 int col_index, const char *name, int value);
00441 virtual int GetColumnAttributeAsInt(
00442 int col_index, const char *name);
00443
00444
00445
00446 virtual void GetColumnBackgroundColor(
00447 int col_index, double *r, double *g, double *b);
00448 virtual double* GetColumnBackgroundColor(int col_index);
00449 virtual void SetColumnBackgroundColor(
00450 int col_index, double r, double g, double b);
00451 virtual void SetColumnBackgroundColor(int col_index, double rgb[3])
00452 { this->SetColumnBackgroundColor(col_index, rgb[0], rgb[1], rgb[2]); };
00453 virtual void ClearColumnBackgroundColor(int col_index);
00454 virtual void GetColumnForegroundColor(
00455 int col_index, double *r, double *g, double *b);
00456 virtual double* GetColumnForegroundColor(int col_index);
00457 virtual void SetColumnForegroundColor(
00458 int col_index, double r, double g, double b);
00459 virtual void SetColumnForegroundColor(int col_index, double rgb[3])
00460 { this->SetColumnForegroundColor(col_index, rgb[0], rgb[1], rgb[2]); };
00461
00462
00463
00464 virtual void SetColumnLabelImage(int col_index, const char *);
00465 virtual void SetColumnLabelImageToIcon(int col_index, vtkKWIcon *icon);
00466 virtual void SetColumnLabelImageToPredefinedIcon(
00467 int col_index, int icon_index);
00468 virtual void SetColumnLabelImageToPixels(
00469 int col_index,
00470 const unsigned char *pixels, int width, int height, int pixel_size,
00471 unsigned long buffer_length = 0);
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499 virtual void SetColumnFormatCommand(int col_index,
00500 vtkObject *object, const char *method);
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521 virtual void SetColumnSortCommand(int col_index,
00522 vtkObject *object, const char *method);
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538 virtual void SetColumnFormatCommandToEmptyOutput(int col_index);
00539 virtual void SetColumnFormatCommandToEmptyOutputIfWindowCommand(int col_index);
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552 virtual void SetKeyPressDeleteCommand(vtkObject *object,
00553 const char *method);
00554
00555
00556
00557
00558 vtkBooleanMacro(MovableRows, int);
00559 virtual void SetMovableRows(int);
00560 virtual int GetMovableRows();
00561
00562
00563
00564 virtual void AddRow();
00565 virtual void AddRows(int num_rows);
00566 virtual void InsertRow(int row_index);
00567 virtual void InsertRows(int row_index, int num_rows);
00568
00569
00570
00571
00572 virtual int GetNumberOfRows();
00573
00574
00575
00576 virtual void SeeRow(int row_index);
00577
00578
00579
00580 virtual void DeleteRow(int row_index);
00581 virtual void DeleteAllRows();
00582
00583
00584
00585
00586 virtual void FindAndDeleteRow(
00587 int look_for_col_index, const char *look_for_text);
00588
00589
00590
00591
00592 virtual int HasRowAttribute(
00593 int row_index, const char *name);
00594 virtual void SetRowAttribute(
00595 int row_index, const char *name, const char *value);
00596 virtual const char* GetRowAttribute(
00597 int row_index, const char *name);
00598 virtual void SetRowAttributeAsInt(
00599 int row_index, const char *name, int value);
00600 virtual int GetRowAttributeAsInt(
00601 int row_index, const char *name);
00602
00603
00604
00605 virtual void GetRowBackgroundColor(
00606 int row_index, double *r, double *g, double *b);
00607 virtual double* GetRowBackgroundColor(int row_index);
00608 virtual void SetRowBackgroundColor(
00609 int row_index, double r, double g, double b);
00610 virtual void SetRowBackgroundColor(int row_index, double rgb[3])
00611 { this->SetRowBackgroundColor(row_index, rgb[0], rgb[1], rgb[2]); };
00612 virtual void ClearRowBackgroundColor(int col_index);
00613 virtual void GetRowForegroundColor(
00614 int row_index, double *r, double *g, double *b);
00615 virtual double* GetRowForegroundColor(int row_index);
00616 virtual void SetRowForegroundColor(
00617 int row_index, double r, double g, double b);
00618 virtual void SetRowForegroundColor(int row_index, double rgb[3])
00619 { this->SetRowForegroundColor(row_index, rgb[0], rgb[1], rgb[2]); };
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632 virtual void GetStripeBackgroundColor(double *r, double *g, double *b);
00633 virtual double* GetStripeBackgroundColor();
00634 virtual void SetStripeBackgroundColor(double r, double g, double b);
00635 virtual void SetStripeBackgroundColor(double rgb[3])
00636 { this->SetStripeBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00637 virtual void ClearStripeBackgroundColor();
00638 virtual void GetStripeForegroundColor(double *r, double *g, double *b);
00639 virtual double* GetStripeForegroundColor();
00640 virtual void SetStripeForegroundColor(double r, double g, double b);
00641 virtual void SetStripeForegroundColor(double rgb[3])
00642 { this->SetStripeForegroundColor(rgb[0], rgb[1], rgb[2]); };
00643 virtual void SetStripeHeight(int height);
00644 virtual int GetStripeHeight();
00645
00646
00647
00648
00649 virtual void SetRowSelectable(int row_index, int flag);
00650 virtual void RowSelectableOn(int row_index)
00651 { this->SetRowSelectable(row_index, 1); };
00652 virtual void RowSelectableOff(int row_index)
00653 { this->SetRowSelectable(row_index, 0); };
00654 virtual int GetRowSelectable(int row_index);
00655
00656
00657
00658 virtual void ActivateRow(int row_index);
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669 virtual void InsertCellText(
00670 int row_index, int col_index, const char *text);
00671 virtual void InsertCellTextAsInt(
00672 int row_index, int col_index, int value);
00673 virtual void InsertCellTextAsDouble(
00674 int row_index, int col_index, double value);
00675 virtual void InsertCellTextAsFormattedDouble(
00676 int row_index, int col_index, double value, int size);
00677 virtual void SetCellText(
00678 int row_index, int col_index, const char *text);
00679 virtual const char* GetCellText(int row_index, int col_index);
00680 virtual void SetCellTextAsInt(
00681 int row_index, int col_index, int value);
00682 virtual int GetCellTextAsInt(int row_index, int col_index);
00683 virtual void SetCellTextAsDouble(
00684 int row_index, int col_index, double value);
00685 virtual void SetCellTextAsFormattedDouble(
00686 int row_index, int col_index, double value, int size);
00687 virtual double GetCellTextAsDouble(int row_index, int col_index);
00688
00689
00690
00691
00692 virtual int HasCellAttribute(
00693 int row_index, int col_index, const char *name);
00694 virtual void SetCellAttribute(
00695 int row_index, int col_index, const char *name, const char *value);
00696 virtual const char* GetCellAttribute(
00697 int row_index, int col_index, const char *name);
00698 virtual void SetCellAttributeAsInt(
00699 int row_index, int col_index, const char *name, int value);
00700 virtual int GetCellAttributeAsInt(
00701 int row_index, int col_index, const char *name);
00702
00703
00704
00705
00706
00707
00708
00709
00710 virtual void SetCellEnabledAttribute(
00711 int row_index, int col_index, int value);
00712 virtual int GetCellEnabledAttribute(
00713 int row_index, int col_index);
00714 virtual int HasCellEnabledAttribute(
00715 int row_index, int col_index);
00716
00717
00718
00719 virtual void InsertRowText(int row_index, const char *text);
00720 virtual void InsertColumnText(int col_index, const char *text);
00721
00722
00723
00724
00725
00726 virtual void FindAndInsertCellText(
00727 int look_for_col_index, const char *look_for_text ,
00728 int col_index, const char *text);
00729
00730
00731
00732 virtual void ActivateCell(int row_index, int col_index);
00733
00734
00735
00736 virtual void SeeCell(int row_index, int col_index);
00737
00738
00739
00740 virtual void GetCellBackgroundColor(
00741 int row_index, int col_index, double *r, double *g, double *b);
00742 virtual double* GetCellBackgroundColor(int row_index, int col_index);
00743 virtual void SetCellBackgroundColor(
00744 int row_index, int col_index, double r, double g, double b);
00745 virtual void SetCellBackgroundColor(
00746 int row_index, int col_index, double rgb[3])
00747 { this->SetCellBackgroundColor(
00748 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00749 virtual void ClearCellBackgroundColor(int row_index, int col_index);
00750 virtual void GetCellForegroundColor(
00751 int row_index, int col_index, double *r, double *g, double *b);
00752 virtual double* GetCellForegroundColor(int row_index, int col_index);
00753 virtual void SetCellForegroundColor(
00754 int row_index, int col_index, double r, double g, double b);
00755 virtual void SetCellForegroundColor(
00756 int row_index, int col_index, double rgb[3])
00757 { this->SetCellForegroundColor(
00758 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00759
00760
00761
00762
00763
00764
00765 virtual void GetCellCurrentBackgroundColor(
00766 int row_index, int col_index, double *r, double *g, double *b);
00767 virtual double* GetCellCurrentBackgroundColor(int row_index, int col_index);
00768 virtual void GetCellCurrentForegroundColor(
00769 int row_index, int col_index, double *r, double *g, double *b);
00770 virtual double* GetCellCurrentForegroundColor(int row_index, int col_index);
00771
00772
00773
00774
00775 virtual void SetCellEditable(int row_index, int col_index, int flag);
00776 virtual void CellEditableOn(int row_index, int col_index)
00777 { this->SetCellEditable(row_index, col_index, 1); };
00778 virtual void CellEditableOff(int row_index, int col_index)
00779 { this->SetCellEditable(row_index, col_index, 0); };
00780 virtual int GetCellEditable(int row_index, int col_index);
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794
00795 virtual void SetCellImage(int row_index, int col_index, const char *);
00796 virtual void SetCellImageToIcon(
00797 int row_index, int col_index, vtkKWIcon *icon);
00798 virtual void SetCellImageToPredefinedIcon(
00799 int row_index, int col_index, int icon_index);
00800 virtual void SetCellImageToPixels(
00801 int row_index, int col_index,
00802 const unsigned char *pixels, int width, int height, int pixel_size,
00803 unsigned long buffer_length = 0);
00804 virtual const char* GetCellImage(int row_index, int col_index);
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821 enum
00822 {
00823 CellEditWindowEntry = 0,
00824 CellEditWindowCheckButton,
00825 CellEditWindowSpinBox,
00826 CellEditWindowUnknown
00827 };
00828
00829 virtual int GetCellEditWindow(int row_index, int col_index);
00830 virtual void SetCellEditWindow(int row_index, int col_index, int arg);
00831 virtual void SetCellEditWindowToEntry(int row_index, int col_index)
00832 { this->SetCellEditWindow(
00833 row_index, col_index, vtkKWMultiColumnList::CellEditWindowEntry); };
00834 virtual void SetCellEditWindowToCheckButton(int row_index, int col_index)
00835 { this->SetCellEditWindow(
00836 row_index,col_index, vtkKWMultiColumnList::CellEditWindowCheckButton);};
00837 virtual void SetCellEditWindowToSpinBox(int row_index, int col_index)
00838 { this->SetCellEditWindow(
00839 row_index, col_index, vtkKWMultiColumnList::CellEditWindowSpinBox); };
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871 virtual void SetCellWindowCommand(
00872 int row_index, int col_index, vtkObject *object, const char *method);
00873
00874
00875
00876
00877
00878
00879
00880
00881
00882
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895 virtual void SetCellWindowCommandToCheckButton(int row_index, int col_index);
00896 virtual vtkKWCheckButton *GetCellWindowAsCheckButton(
00897 int row_index, int col_index);
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908
00909
00910 virtual void SetCellWindowCommandToComboBox(int row_index, int col_index);
00911 virtual void SetCellWindowCommandToComboBoxWithValues(
00912 int row_index, int col_index, int nb_values, const char *values[]);
00913 virtual void SetCellWindowCommandToComboBoxWithValuesAsArray(
00914 int row_index, int col_index, vtkStringArray *values);
00915 virtual void SetCellWindowCommandToComboBoxWithValuesAsSemiColonSeparated(
00916 int row_index, int col_index, const char *values);
00917 virtual vtkKWComboBox *GetCellWindowAsComboBox(int row_index, int col_index);
00918 virtual void SetCellWindowComboBoxValues(
00919 int row_index, int col_index, int nb_values, const char *values[]);
00920 virtual void SetCellWindowComboBoxValuesAsArray(
00921 int row_index, int col_index, vtkStringArray *values);
00922 virtual void SetCellWindowComboBoxValuesAsSemiColonSeparated(
00923 int row_index, int col_index, const char *values);
00924
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937
00938
00939
00940
00941
00942
00943
00944
00945
00946
00947 virtual void SetCellWindowCommandToColorButton(int row_index, int col_index);
00948 virtual vtkKWFrame* GetCellWindowAsFrame(int row_index, int col_index);
00949 vtkBooleanMacro(UseBalloonHelpStringInCellColorButton, int);
00950 vtkGetMacro(UseBalloonHelpStringInCellColorButton, int);
00951 virtual void SetUseBalloonHelpStringInCellColorButton(int);
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963 virtual void SetCellWindowCommandToPickDirectoryButton(
00964 int row_index, int col_index);
00965 virtual vtkKWLoadSaveButton* GetCellWindowAsPickDirectoryButton(
00966 int row_index, int col_index);
00967
00968
00969
00970
00971
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981 virtual void SetCellWindowDestroyCommand(
00982 int row_index, int col_index, vtkObject *object, const char *method);
00983
00984
00985
00986
00987
00988
00989
00990
00991
00992 virtual void SetCellWindowDestroyCommandToRemoveChild(
00993 int row_index, int col_index);
00994
00995
00996
00997
00998
00999
01000
01001
01002
01003
01004 virtual void RefreshCellWithWindowCommand(int row_index, int col_index);
01005 virtual void RefreshAllCellsWithWindowCommand();
01006 virtual void ScheduleRefreshAllCellsWithWindowCommand();
01007 virtual void RefreshAllRowsWithWindowCommand(int col);
01008 virtual void ScheduleRefreshAllRowsWithWindowCommand(int col);
01009 virtual void RefreshEnabledStateOfAllCellsWithWindowCommand();
01010 virtual void ScheduleRefreshEnabledStateOfAllCellsWithWindowCommand();
01011
01012
01013
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023
01024
01025
01026
01027
01028 virtual void RefreshColorsOfCellWithWindowCommand(
01029 int row_index, int col_index);
01030 virtual void RefreshColorsOfAllCellsWithWindowCommand();
01031 virtual void ScheduleRefreshColorsOfAllCellsWithWindowCommand();
01032
01033
01034
01035
01036 virtual const char* GetCellWindowWidgetName(int row_index, int col_index);
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048
01049
01050
01051
01052
01053
01054 virtual void AddBindingsToWidgetName(const char *widget_name);
01055 virtual void AddBindingsToWidget(vtkKWWidget *widget);
01056 virtual void AddBindingsToWidgetAndChildren(vtkKWWidget *widget);
01057
01058
01059
01060
01061
01062
01063
01064
01065
01066 virtual int FindCellText(const char *text, int *row_index, int *col_index);
01067 virtual int* FindCellText(const char *text);
01068 virtual int FindCellTextInColumn(int col_index, const char *text);
01069 virtual int FindCellTextAsIntInColumn(int col_index, int value);
01070
01071
01072
01073
01074
01075 virtual void EditCell(int row_index, int col_index);
01076 virtual void CancelEditing();
01077 virtual void FinishEditing();
01078
01079
01080
01081 virtual void GetSelectionBackgroundColor(double *r, double *g, double *b);
01082 virtual double* GetSelectionBackgroundColor();
01083 virtual void SetSelectionBackgroundColor(double r, double g, double b);
01084 virtual void SetSelectionBackgroundColor(double rgb[3])
01085 { this->SetSelectionBackgroundColor(rgb[0], rgb[1], rgb[2]); };
01086 virtual void GetSelectionForegroundColor(double *r, double *g, double *b);
01087 virtual double* GetSelectionForegroundColor();
01088 virtual void SetSelectionForegroundColor(double r, double g, double b);
01089 virtual void SetSelectionForegroundColor(double rgb[3])
01090 { this->SetSelectionForegroundColor(rgb[0], rgb[1], rgb[2]); };
01091
01092
01093
01094
01095 virtual void GetColumnSelectionBackgroundColor(
01096 int col_index, double *r, double *g, double *b);
01097 virtual double* GetColumnSelectionBackgroundColor(int col_index);
01098 virtual void SetColumnSelectionBackgroundColor(
01099 int col_index, double r, double g, double b);
01100 virtual void SetColumnSelectionBackgroundColor(int col_index, double rgb[3])
01101 { this->SetColumnSelectionBackgroundColor(
01102 col_index, rgb[0], rgb[1], rgb[2]); };
01103 virtual void GetColumnSelectionForegroundColor(
01104 int col_index, double *r, double *g, double *b);
01105 virtual double* GetColumnSelectionForegroundColor(int col_index);
01106 virtual void SetColumnSelectionForegroundColor(
01107 int col_index, double r, double g, double b);
01108 virtual void SetColumnSelectionForegroundColor(int col_index, double rgb[3])
01109 { this->SetColumnSelectionForegroundColor(
01110 col_index, rgb[0], rgb[1], rgb[2]); };
01111
01112
01113
01114
01115 virtual void GetRowSelectionBackgroundColor(
01116 int row_index, double *r, double *g, double *b);
01117 virtual double* GetRowSelectionBackgroundColor(int row_index);
01118 virtual void SetRowSelectionBackgroundColor(
01119 int row_index, double r, double g, double b);
01120 virtual void SetRowSelectionBackgroundColor(int row_index, double rgb[3])
01121 { this->SetRowSelectionBackgroundColor(
01122 row_index, rgb[0], rgb[1], rgb[2]); };
01123 virtual void GetRowSelectionForegroundColor(
01124 int row_index, double *r, double *g, double *b);
01125 virtual double* GetRowSelectionForegroundColor(int row_index);
01126 virtual void SetRowSelectionForegroundColor(
01127 int row_index, double r, double g, double b);
01128 virtual void SetRowSelectionForegroundColor(int row_index, double rgb[3])
01129 { this->SetRowSelectionForegroundColor(
01130 row_index, rgb[0], rgb[1], rgb[2]); };
01131
01132
01133
01134
01135 virtual void GetCellSelectionBackgroundColor(
01136 int row_index, int col_index, double *r, double *g, double *b);
01137 virtual double* GetCellSelectionBackgroundColor(
01138 int row_index, int col_index);
01139 virtual void SetCellSelectionBackgroundColor(
01140 int row_index, int col_index, double r, double g, double b);
01141 virtual void SetCellSelectionBackgroundColor(
01142 int row_index, int col_index, double rgb[3])
01143 { this->SetCellSelectionBackgroundColor(
01144 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
01145 virtual void GetCellSelectionForegroundColor(
01146 int row_index, int col_index, double *r, double *g, double *b);
01147 virtual double* GetCellSelectionForegroundColor(
01148 int row_index, int col_index);
01149 virtual void SetCellSelectionForegroundColor(
01150 int row_index, int col_index, double r, double g, double b);
01151 virtual void SetCellSelectionForegroundColor(
01152 int row_index, int col_index, double rgb[3])
01153 { this->SetCellSelectionForegroundColor(
01154 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
01155
01156
01157
01158
01159
01160 virtual void SetSelectionMode(int);
01161 virtual int GetSelectionMode();
01162 virtual void SetSelectionModeToSingle();
01163 virtual void SetSelectionModeToBrowse();
01164 virtual void SetSelectionModeToMultiple();
01165 virtual void SetSelectionModeToExtended();
01166
01167
01168
01169
01170
01171
01172
01173
01174
01175
01176
01177
01178 enum
01179 {
01180 SelectionTypeRow,
01181 SelectionTypeCell,
01182 SelectionTypeUnknown
01183 };
01184
01185 virtual int GetSelectionType();
01186 virtual void SetSelectionType(int align);
01187 virtual void SetSelectionTypeToRow()
01188 { this->SetSelectionType(vtkKWMultiColumnList::SelectionTypeRow); };
01189 virtual void SetSelectionTypeToCell()
01190 { this->SetSelectionType(vtkKWMultiColumnList::SelectionTypeCell); };
01191
01192
01193
01194 virtual void SelectRow(int row_index);
01195 virtual void DeselectRow(int row_index);
01196 virtual void SelectSingleRow(int row_index);
01197
01198
01199
01200 virtual int IsRowSelected(int row_index);
01201
01202
01203
01204
01205
01206 virtual int GetNumberOfSelectedRows();
01207 virtual int GetSelectedRows(int *indices);
01208
01209
01210
01211
01212 virtual int GetIndexOfFirstSelectedRow();
01213
01214
01215
01216 virtual void SelectCell(int row_index, int col_index);
01217 virtual void DeselectCell(int row_index, int col_index);
01218 virtual void SelectSingleCell(int row_index, int col_index);
01219
01220
01221
01222 virtual int IsCellSelected(int row_index, int col_index);
01223
01224
01225
01226
01227
01228 virtual int GetNumberOfSelectedCells();
01229 virtual int GetSelectedCells(int *row_indices, int *col_indices);
01230
01231
01232
01233 virtual void ClearSelection();
01234
01235
01236
01237
01238
01239
01240
01241 virtual void SetExportSelection(int);
01242 virtual int GetExportSelection();
01243 vtkBooleanMacro(ExportSelection, int);
01244
01245
01246
01247
01248
01249
01250
01251
01252
01253
01254
01255 virtual void SetSelectionCommand(vtkObject *object, const char *method);
01256
01257
01258
01259
01260
01261
01262
01263
01264
01265
01266 virtual void SetSelectionChangedCommand(
01267 vtkObject *object, const char *method);
01268
01269
01270
01271
01272
01273
01274
01275
01276
01277
01278
01279
01280
01281
01282 virtual void SetPotentialCellColorsChangedCommand(
01283 vtkObject *object, const char *method);
01284
01285
01286
01287
01288
01289
01290
01291 virtual void SetColumnSortedCommand(
01292 vtkObject *object, const char *method);
01293
01294
01295
01296
01297
01298
01299
01300 virtual void SetRowMovedCommand(
01301 vtkObject *object, const char *method);
01302
01303
01304
01305
01306
01307
01308
01309 virtual void SetNumberOfRowsChangedCommand(
01310 vtkObject *object, const char *method);
01311
01312
01313
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324
01325
01326
01327
01328
01329 virtual void SetEditStartCommand(vtkObject *object, const char *method);
01330
01331
01332
01333
01334
01335
01336
01337
01338
01339
01340
01341
01342
01343
01344
01345
01346
01347
01348
01349
01350
01351
01352
01353
01354
01355 virtual void SetEditEndCommand(vtkObject *object, const char *method);
01356
01357
01358
01359
01360
01361
01362 virtual void RejectInput();
01363
01364
01365
01366
01367
01368
01369
01370
01371
01372
01373
01374
01375
01376
01377
01378 virtual void SetCellUpdatedCommand(vtkObject *object, const char *method);
01379
01380
01381
01382
01383
01384
01385
01386
01387
01388
01389
01390
01391
01392
01393
01394 virtual void SetLabelCommand(vtkObject *object, const char *method);
01395
01396
01397
01398
01399
01400
01401
01402
01403
01404
01405
01406
01407
01408
01409
01410
01411
01412
01413
01414 virtual void SetSortCommand(vtkObject *object, const char *method);
01415
01416
01417
01418
01419
01420
01421
01422
01423
01424
01425 virtual void SetRightClickCommand(vtkObject *object, const char *method);
01426
01427
01428
01429
01430
01431
01432
01433
01434
01435 virtual void SetUneditableCellDoubleClickCommand(
01436 vtkObject *object, const char *method);
01437
01438
01439
01440
01441
01442
01443
01444
01445 virtual void UpdateEnableState();
01446
01447
01448
01449
01450
01451
01452
01453
01454
01455
01456
01457
01458
01459 enum
01460 {
01461 SelectionChangedEvent = 10000,
01462 NumberOfRowsChangedEvent,
01463 CellUpdatedEvent
01464 };
01465
01466
01467
01468
01469 virtual void SelectionCallback();
01470 virtual void CellWindowDestroyRemoveChildCallback(
01471 const char*, int, int, const char*);
01472 virtual void CellUpdatedCallback();
01473 virtual void UneditableCellDoubleClickCallback();
01474 virtual const char* EditStartCallback(
01475 const char *widget, int row, int col, const char *text);
01476 virtual const char* EditEndCallback(
01477 const char *widget, int row, int col, const char *text);
01478 virtual void CellWindowCommandToCheckButtonCreateCallback(
01479 const char*, int, int, const char*);
01480 virtual void CellWindowCommandToCheckButtonSelectCallback(
01481 vtkKWWidget*, int, int, int);
01482 virtual void CellWindowCommandToComboBoxCreateCallback(
01483 const char *values, const char*, int, int, const char*);
01484 virtual void CellWindowCommandToComboBoxValueCallback(
01485 vtkKWWidget*, int, int, const char *);
01486 virtual void CellWindowCommandToColorButtonCallback(
01487 const char*, int, int, const char*);
01488 virtual void CellWindowCommandToPickDirectoryButtonCallback(
01489 const char*, int, int, const char*);
01490 virtual void CellWindowCommandToPickDirectoryButtonChangeCallback(
01491 vtkKWWidget*, int, int);
01492 virtual const char* ColumnFormatCommandToEmptyOutputIfWindowCommandCallback(
01493 vtkKWWidget*, const char *);
01494 virtual void ColumnSortedCallback();
01495 virtual void ColumnMovedCallback();
01496 virtual void RowMovedCallback();
01497 virtual void RightClickCallback(
01498 const char *w, int x, int y, int root_x, int root_y);
01499 virtual void RefreshColorsOfAllCellsWithWindowCommandCallback();
01500 virtual void RefreshAllCellsWithWindowCommandCallback();
01501 virtual void RefreshEnabledStateOfAllCellsWithWindowCommandCallback();
01502 virtual void RefreshAllRowsWithWindowCommandCallback(int col);
01503 virtual void KeyPressDeleteCallback();
01504
01505 protected:
01506 vtkKWMultiColumnList();
01507 ~vtkKWMultiColumnList();
01508
01509
01510
01511 virtual void CreateWidget();
01512
01513 char *KeyPressDeleteCommand;
01514 void InvokeKeyPressDeleteCommand();
01515
01516 char *EditStartCommand;
01517 const char* InvokeEditStartCommand(int row, int col, const char *text);
01518
01519 char *EditEndCommand;
01520 const char* InvokeEditEndCommand(int row, int col, const char *text);
01521
01522 char *CellUpdatedCommand;
01523 void InvokeCellUpdatedCommand(int row, int col, const char *text);
01524
01525 char *SelectionCommand;
01526 virtual void InvokeSelectionCommand();
01527
01528 char *SelectionChangedCommand;
01529 virtual void InvokeSelectionChangedCommand();
01530
01531 char *PotentialCellColorsChangedCommand;
01532 virtual void InvokePotentialCellColorsChangedCommand();
01533
01534 char *ColumnSortedCommand;
01535 void InvokeColumnSortedCommand();
01536
01537 char *RowMovedCommand;
01538 void InvokeRowMovedCommand();
01539
01540 char *NumberOfRowsChangedCommand;
01541 void InvokeNumberOfRowsChangedCommand();
01542
01543 char *RightClickCommand;
01544 void InvokeRightClickCommand(int row, int col, int x, int y);
01545
01546 char *UneditableCellDoubleClickCommand;
01547 virtual void InvokeUneditableCellDoubleClickCommand();
01548
01549
01550
01551 virtual void NumberOfRowsChanged();
01552 virtual void NumberOfColumnsChanged();
01553
01554
01555
01556 virtual int SetColumnConfigurationOption(
01557 int col_index, const char* option, const char *value);
01558 virtual int HasColumnConfigurationOption(
01559 int col_index, const char* option);
01560 virtual const char* GetColumnConfigurationOption(
01561 int col_index, const char* option);
01562 virtual int GetColumnConfigurationOptionAsInt(
01563 int col_index, const char* option);
01564 virtual int SetColumnConfigurationOptionAsInt(
01565 int col_index, const char* option, int value);
01566 virtual void SetColumnConfigurationOptionAsText(
01567 int col_index, const char *option, const char *value);
01568 virtual const char* GetColumnConfigurationOptionAsText(
01569 int col_index, const char *option);
01570
01571
01572
01573 virtual int SetRowConfigurationOption(
01574 int row_index, const char* option, const char *value);
01575 virtual int HasRowConfigurationOption(
01576 int row_index, const char* option);
01577 virtual const char* GetRowConfigurationOption(
01578 int row_index, const char* option);
01579 virtual int GetRowConfigurationOptionAsInt(
01580 int row_index, const char* option);
01581 virtual int SetRowConfigurationOptionAsInt(
01582 int row_index, const char* option, int value);
01583
01584
01585
01586 virtual int SetCellConfigurationOption(
01587 int row_index, int col_index, const char* option, const char *value);
01588 virtual int HasCellConfigurationOption(
01589 int row_index, int col_index, const char* option);
01590 virtual const char* GetCellConfigurationOption(
01591 int row_index, int col_index, const char* option);
01592 virtual int GetCellConfigurationOptionAsInt(
01593 int row_index, int col_index, const char* option);
01594 virtual int SetCellConfigurationOptionAsInt(
01595 int row_index, int col_index, const char* option, int value);
01596 virtual double GetCellConfigurationOptionAsDouble(
01597 int row_index, int col_index, const char* option);
01598 virtual int SetCellConfigurationOptionAsDouble(
01599 int row_index, int col_index, const char* option, double value);
01600 virtual int SetCellConfigurationOptionAsFormattedDouble(
01601 int row_index, int col_index, const char* option, double value, int size);
01602 virtual int SetCellConfigurationOptionAsText(
01603 int row_index, int col_index, const char *option, const char *value);
01604 virtual const char* GetCellConfigurationOptionAsText(
01605 int row_index, int col_index, const char *option);
01606 virtual void ReportErrorOnSetCellConfigurationOption(
01607 int row_index, int col_index, const char* option, const char *res);
01608
01609
01610
01611 vtkKWMultiColumnListInternals *Internals;
01612
01613
01614
01615
01616 virtual void HasSelectionChanged();
01617
01618
01619
01620 virtual int FindCellAtRelativeCoordinates(
01621 int x, int y, int *row_index, int *col_index);
01622
01623
01624
01625 int ColorSortedColumn;
01626 double SortedColumnBackgroundColor[3];
01627 virtual void UpdateSortedColumnBackgroundColor();
01628
01629
01630
01631 virtual void RemoveAllWindowDestroyCommandFromCells();
01632
01633
01634
01635 virtual void AddInteractionBindings();
01636 virtual void RemoveInteractionBindings();
01637
01638
01639
01640 virtual void SetColumnNameToIndexCacheEntry(
01641 const char *col_name, int col_index);
01642 virtual int GetColumnNameToIndexCacheEntry(const char *col_name);
01643 virtual void DeleteColumnNameToIndexCacheEntry(const char *col_name);
01644 virtual void InvalidateColumnNameToIndexCache();
01645
01646
01647
01648 virtual void SetColumnIndexToVisibilityCacheEntry(
01649 int col_index, int vis);
01650 virtual int GetColumnIndexToVisibilityCacheEntry(int col_index);
01651 virtual void InvalidateColumnIndexToVisibilityCache();
01652
01653 int UseBalloonHelpStringInCellColorButton;
01654
01655 private:
01656 vtkKWMultiColumnList(const vtkKWMultiColumnList&);
01657 void operator=(const vtkKWMultiColumnList&);
01658 };
01659
01660 #endif