00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00040 #ifndef __vtkKWMultiColumnList_h
00041 #define __vtkKWMultiColumnList_h
00042
00043 #include "vtkKWCoreWidget.h"
00044
00045 class vtkKWIcon;
00046 class vtkKWMultiColumnListInternals;
00047 class vtkKWCheckButton;
00048 class vtkKWComboBox;
00049 class vtkKWFrame;
00050 class vtkKWLoadSaveButton;
00051 class vtkStringArray;
00052
00053 class KWWidgets_EXPORT vtkKWMultiColumnList : public vtkKWCoreWidget
00054 {
00055
00056 public:
00057 static vtkKWMultiColumnList* New();
00058 vtkTypeRevisionMacro(vtkKWMultiColumnList,vtkKWCoreWidget);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00062
00071 virtual void SetBinding(
00072 const char *event, vtkObject *object, const char *method);
00073 virtual void SetBinding(
00074 const char *event, const char *command);
00075 virtual void AddBinding(
00076 const char *event, vtkObject *object, const char *method);
00077 virtual void AddBinding(
00078 const char *event, const char *command);
00079 virtual void RemoveBinding(const char *event);
00080 virtual void RemoveBinding(
00081 const char *event, vtkObject *object, const char *method);
00083
00085
00086 virtual void Focus();
00087 virtual int HasFocus();
00089
00091
00096 virtual void SetWidth(int width);
00097 virtual int GetWidth();
00098 virtual void SetHeight(int height);
00099 virtual int GetHeight();
00101
00103
00104 virtual void GetBackgroundColor(double *r, double *g, double *b);
00105 virtual double* GetBackgroundColor();
00106 virtual void SetBackgroundColor(double r, double g, double b);
00107 virtual void SetBackgroundColor(double rgb[3])
00108 { this->SetBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00110
00112
00113 virtual void GetForegroundColor(double *r, double *g, double *b);
00114 virtual double* GetForegroundColor();
00115 virtual void SetForegroundColor(double r, double g, double b);
00116 virtual void SetForegroundColor(double rgb[3])
00117 { this->SetForegroundColor(rgb[0], rgb[1], rgb[2]); };
00119
00121
00124 virtual void SetHighlightThickness(int);
00125 virtual int GetHighlightThickness();
00127
00129
00132 virtual void SetBorderWidth(int);
00133 virtual int GetBorderWidth();
00135
00137
00140 virtual void SetRelief(int);
00141 virtual int GetRelief();
00142 virtual void SetReliefToRaised();
00143 virtual void SetReliefToSunken();
00144 virtual void SetReliefToFlat();
00145 virtual void SetReliefToRidge();
00146 virtual void SetReliefToSolid();
00147 virtual void SetReliefToGroove();
00149
00151
00156 virtual int InsertColumn(int col_index, const char *title);
00157 virtual int AddColumn(const char *title);
00159
00161
00169 virtual void SetColumnName(int col_index, const char *col_name);
00170 virtual const char* GetColumnName(int col_index);
00171 virtual int GetColumnIndexWithName(const char *col_name);
00173
00175 virtual int GetNumberOfColumns();
00176
00178 virtual void SeeColumn(int col_index);
00179
00181
00182 virtual void DeleteColumn(int col_index);
00183 virtual void DeleteAllColumns();
00185
00187
00189 vtkBooleanMacro(MovableColumns, int);
00190 virtual void SetMovableColumns(int);
00191 virtual int GetMovableColumns();
00193
00195
00197 virtual void SetRowSpacing(int);
00198 virtual int GetRowSpacing();
00200
00202
00204 vtkBooleanMacro(ResizableColumns, int);
00205 virtual void SetResizableColumns(int);
00206 virtual int GetResizableColumns();
00208
00210
00212 vtkBooleanMacro(ColumnSeparatorsVisibility, int);
00213 virtual void SetColumnSeparatorsVisibility(int);
00214 virtual int GetColumnSeparatorsVisibility();
00216
00218
00220 vtkBooleanMacro(ColumnLabelsVisibility, int);
00221 virtual void SetColumnLabelsVisibility(int);
00222 virtual int GetColumnLabelsVisibility();
00224
00226
00227 virtual void GetColumnLabelBackgroundColor(double *r, double *g, double *b);
00228 virtual double* GetColumnLabelBackgroundColor();
00229 virtual void SetColumnLabelBackgroundColor(double r, double g, double b);
00230 virtual void SetColumnLabelBackgroundColor(double rgb[3])
00231 { this->SetColumnLabelBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00232 virtual void GetColumnLabelForegroundColor(double *r, double *g, double *b);
00233 virtual double* GetColumnLabelForegroundColor();
00234 virtual void SetColumnLabelForegroundColor(double r, double g, double b);
00235 virtual void SetColumnLabelForegroundColor(double rgb[3])
00236 { this->SetColumnLabelForegroundColor(rgb[0], rgb[1], rgb[2]); };
00238
00240
00241 virtual void SetColumnTitle(int col_index, const char*);
00242 virtual const char* GetColumnTitle(int col_index);
00244
00246
00253 virtual void SetColumnWidth(int col_index, int width);
00254 virtual int GetColumnWidth(int col_index);
00255 virtual void SetColumnMaximumWidth(int col_index, int width);
00256 virtual int GetColumnMaximumWidth(int col_index);
00258
00260
00265 virtual void SetColumnStretchable(int col_index, int flag);
00266 virtual void ColumnStretchableOn(int col_index)
00267 { this->SetColumnStretchable(col_index, 1); };
00268 virtual void ColumnStretchableOff(int col_index)
00269 { this->SetColumnStretchable(col_index, 0); };
00270 virtual int GetColumnStretchable(int col_index);
00271 vtkBooleanMacro(StretchableColumns, int);
00272 virtual void SetStretchableColumns(int);
00274
00276
00279 enum
00280 {
00281 ColumnAlignmentLeft = 0,
00282 ColumnAlignmentRight,
00283 ColumnAlignmentCenter,
00284 ColumnAlignmentUnknown
00285 };
00286
00287 virtual int GetColumnAlignment(int col_index);
00288 virtual void SetColumnAlignment(int col_index, int align);
00289 virtual void SetColumnAlignmentToLeft(int col_index)
00290 { this->SetColumnAlignment(
00291 col_index, vtkKWMultiColumnList::ColumnAlignmentLeft); };
00292 virtual void SetColumnAlignmentToRight(int col_index)
00293 { this->SetColumnAlignment(
00294 col_index, vtkKWMultiColumnList::ColumnAlignmentRight); };
00295 virtual void SetColumnAlignmentToCenter(int col_index)
00296 { this->SetColumnAlignment(
00297 col_index, vtkKWMultiColumnList::ColumnAlignmentCenter); };
00298 virtual int GetColumnLabelAlignment(int col_index);
00299 virtual void SetColumnLabelAlignment(int col_index, int align);
00300 virtual void SetColumnLabelAlignmentToLeft(int col_index)
00301 { this->SetColumnLabelAlignment(
00302 col_index, vtkKWMultiColumnList::ColumnAlignmentLeft); };
00303 virtual void SetColumnLabelAlignmentToRight(int col_index)
00304 { this->SetColumnLabelAlignment(
00305 col_index, vtkKWMultiColumnList::ColumnAlignmentRight); };
00306 virtual void SetColumnLabelAlignmentToCenter(int col_index)
00307 { this->SetColumnLabelAlignment(
00308 col_index, vtkKWMultiColumnList::ColumnAlignmentCenter); };
00310
00312
00315 enum
00316 {
00317 SortByIncreasingOrder = 0,
00318 SortByDecreasingOrder,
00319 SortByUnknownOrder
00320 };
00321
00322 virtual void SortByColumn(int col_index, int order);
00323 virtual void SortByColumnIncreasingOrder(int col_index)
00324 { this->SortByColumn(
00325 col_index, vtkKWMultiColumnList::SortByIncreasingOrder); };
00326 virtual void SortByColumnDecreasingOrder(int col_index)
00327 { this->SortByColumn(
00328 col_index, vtkKWMultiColumnList::SortByDecreasingOrder); };
00329 virtual int GetLastSortedColumn();
00330 virtual int GetLastSortedOrder();
00332
00334
00335 enum
00336 {
00337 SortModeAscii = 0,
00338 SortModeDictionary,
00339 SortModeInteger,
00340 SortModeReal,
00341 SortModeCommand,
00342 SortModeUnknown
00343 };
00344
00345 virtual int GetColumnSortMode(int col_index);
00346 virtual void SetColumnSortMode(int col_index, int mode);
00347 virtual void SetColumnSortModeToAscii(int col_index)
00348 { this->SetColumnSortMode(
00349 col_index, vtkKWMultiColumnList::SortModeAscii); };
00350 virtual void SetColumnSortModeToDictionary(int col_index)
00351 { this->SetColumnSortMode(
00352 col_index, vtkKWMultiColumnList::SortModeDictionary); };
00353 virtual void SetColumnSortModeToInteger(int col_index)
00354 { this->SetColumnSortMode(
00355 col_index, vtkKWMultiColumnList::SortModeInteger); };
00356 virtual void SetColumnSortModeToReal(int col_index)
00357 { this->SetColumnSortMode(
00358 col_index, vtkKWMultiColumnList::SortModeReal); };
00360
00362
00365 vtkBooleanMacro(SortArrowVisibility, int);
00366 virtual void SetSortArrowVisibility(int);
00367 virtual int GetSortArrowVisibility();
00369
00371
00376 vtkBooleanMacro(ColorSortedColumn, int);
00377 vtkGetMacro(ColorSortedColumn, int);
00378 virtual void SetColorSortedColumn(int);
00380
00382
00384 vtkGetVector3Macro(SortedColumnBackgroundColor,double);
00385 virtual void SetSortedColumnBackgroundColor(
00386 double r, double g, double b);
00387 virtual void SetSortedColumnBackgroundColor(double rgb[3])
00388 { this->SetSortedColumnBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00390
00392
00403 enum
00404 {
00405 ColumnEditWindowEntry = 0,
00406 ColumnEditWindowCheckButton,
00407 ColumnEditWindowSpinBox,
00408 ColumnEditWindowUnknown
00409 };
00410
00411 virtual int GetColumnEditWindow(int col_index);
00412 virtual void SetColumnEditWindow(int col_index, int arg);
00413 virtual void SetColumnEditWindowToEntry(int col_index)
00414 { this->SetColumnEditWindow(
00415 col_index, vtkKWMultiColumnList::ColumnEditWindowEntry); };
00416 virtual void SetColumnEditWindowToCheckButton(int col_index)
00417 { this->SetColumnEditWindow(
00418 col_index, vtkKWMultiColumnList::ColumnEditWindowCheckButton); };
00419 virtual void SetColumnEditWindowToSpinBox(int col_index)
00420 { this->SetColumnEditWindow(
00421 col_index, vtkKWMultiColumnList::ColumnEditWindowSpinBox); };
00423
00425
00427 virtual void SetColumnResizable(int col_index, int flag);
00428 virtual void ColumnResizableOn(int col_index)
00429 { this->SetColumnResizable(col_index, 1); };
00430 virtual void ColumnResizableOff(int col_index)
00431 { this->SetColumnResizable(col_index, 0); };
00432 virtual int GetColumnResizable(int col_index);
00434
00436
00438 virtual void SetColumnEditable(int col_index, int flag);
00439 virtual void ColumnEditableOn(int col_index)
00440 { this->SetColumnEditable(col_index, 1); };
00441 virtual void ColumnEditableOff(int col_index)
00442 { this->SetColumnEditable(col_index, 0); };
00443 virtual int GetColumnEditable(int col_index);
00445
00447
00449 virtual void SetColumnVisibility(int col_index, int flag);
00450 virtual void ColumnVisibilityOn(int col_index)
00451 { this->SetColumnVisibility(col_index, 1); };
00452 virtual void ColumnVisibilityOff(int col_index)
00453 { this->SetColumnVisibility(col_index, 0); };
00454 virtual int GetColumnVisibility(int col_index);
00456
00458
00460 virtual int HasColumnAttribute(
00461 int col_index, const char *name);
00462 virtual void SetColumnAttribute(
00463 int col_index, const char *name, const char *value);
00464 virtual const char* GetColumnAttribute(
00465 int col_index, const char *name);
00466 virtual void SetColumnAttributeAsInt(
00467 int col_index, const char *name, int value);
00468 virtual int GetColumnAttributeAsInt(
00469 int col_index, const char *name);
00471
00473
00474 virtual void GetColumnBackgroundColor(
00475 int col_index, double *r, double *g, double *b);
00476 virtual double* GetColumnBackgroundColor(int col_index);
00477 virtual void SetColumnBackgroundColor(
00478 int col_index, double r, double g, double b);
00479 virtual void SetColumnBackgroundColor(int col_index, double rgb[3])
00480 { this->SetColumnBackgroundColor(col_index, rgb[0], rgb[1], rgb[2]); };
00481 virtual void ClearColumnBackgroundColor(int col_index);
00482 virtual void GetColumnForegroundColor(
00483 int col_index, double *r, double *g, double *b);
00484 virtual double* GetColumnForegroundColor(int col_index);
00485 virtual void SetColumnForegroundColor(
00486 int col_index, double r, double g, double b);
00487 virtual void SetColumnForegroundColor(int col_index, double rgb[3])
00488 { this->SetColumnForegroundColor(col_index, rgb[0], rgb[1], rgb[2]); };
00490
00492
00493 virtual void SetColumnLabelImage(int col_index, const char *);
00494 virtual void SetColumnLabelImageToIcon(int col_index, vtkKWIcon *icon);
00495 virtual void SetColumnLabelImageToPredefinedIcon(
00496 int col_index, int icon_index);
00497 virtual void SetColumnLabelImageToPixels(
00498 int col_index,
00499 const unsigned char *pixels, int width, int height, int pixel_size,
00500 unsigned long buffer_length = 0);
00502
00504
00529 virtual void SetColumnFormatCommand(int col_index,
00530 vtkObject *object, const char *method);
00532
00534
00551 virtual void SetColumnSortCommand(int col_index,
00552 vtkObject *object, const char *method);
00554
00556
00569 virtual void SetColumnFormatCommandToEmptyOutput(int col_index);
00570 virtual void SetColumnFormatCommandToEmptyOutputIfWindowCommand(int col_index);
00572
00574
00584 virtual void SetKeyPressDeleteCommand(vtkObject *object,
00585 const char *method);
00587
00589
00591 vtkBooleanMacro(MovableRows, int);
00592 virtual void SetMovableRows(int);
00593 virtual int GetMovableRows();
00595
00597
00598 virtual void AddRow();
00599 virtual void AddRows(int num_rows);
00600 virtual void InsertRow(int row_index);
00601 virtual void InsertRows(int row_index, int num_rows);
00603
00605 virtual int GetNumberOfRows();
00606
00608 virtual void SeeRow(int row_index);
00609
00611
00612 virtual void DeleteRow(int row_index);
00613 virtual void DeleteAllRows();
00615
00617
00619 virtual void FindAndDeleteRow(
00620 int look_for_col_index, const char *look_for_text);
00622
00624
00626 virtual int HasRowAttribute(
00627 int row_index, const char *name);
00628 virtual void SetRowAttribute(
00629 int row_index, const char *name, const char *value);
00630 virtual const char* GetRowAttribute(
00631 int row_index, const char *name);
00632 virtual void SetRowAttributeAsInt(
00633 int row_index, const char *name, int value);
00634 virtual int GetRowAttributeAsInt(
00635 int row_index, const char *name);
00637
00639
00640 virtual void GetRowBackgroundColor(
00641 int row_index, double *r, double *g, double *b);
00642 virtual double* GetRowBackgroundColor(int row_index);
00643 virtual void SetRowBackgroundColor(
00644 int row_index, double r, double g, double b);
00645 virtual void SetRowBackgroundColor(int row_index, double rgb[3])
00646 { this->SetRowBackgroundColor(row_index, rgb[0], rgb[1], rgb[2]); };
00647 virtual void ClearRowBackgroundColor(int col_index);
00648 virtual void GetRowForegroundColor(
00649 int row_index, double *r, double *g, double *b);
00650 virtual double* GetRowForegroundColor(int row_index);
00651 virtual void SetRowForegroundColor(
00652 int row_index, double r, double g, double b);
00653 virtual void SetRowForegroundColor(int row_index, double rgb[3])
00654 { this->SetRowForegroundColor(row_index, rgb[0], rgb[1], rgb[2]); };
00656
00658
00668 virtual void GetStripeBackgroundColor(double *r, double *g, double *b);
00669 virtual double* GetStripeBackgroundColor();
00670 virtual void SetStripeBackgroundColor(double r, double g, double b);
00671 virtual void SetStripeBackgroundColor(double rgb[3])
00672 { this->SetStripeBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00673 virtual void ClearStripeBackgroundColor();
00674 virtual void GetStripeForegroundColor(double *r, double *g, double *b);
00675 virtual double* GetStripeForegroundColor();
00676 virtual void SetStripeForegroundColor(double r, double g, double b);
00677 virtual void SetStripeForegroundColor(double rgb[3])
00678 { this->SetStripeForegroundColor(rgb[0], rgb[1], rgb[2]); };
00679 virtual void SetStripeHeight(int height);
00680 virtual int GetStripeHeight();
00682
00684
00686 virtual void SetRowSelectable(int row_index, int flag);
00687 virtual void RowSelectableOn(int row_index)
00688 { this->SetRowSelectable(row_index, 1); };
00689 virtual void RowSelectableOff(int row_index)
00690 { this->SetRowSelectable(row_index, 0); };
00691 virtual int GetRowSelectable(int row_index);
00693
00695 virtual void ActivateRow(int row_index);
00696
00698
00706 virtual void InsertCellText(
00707 int row_index, int col_index, const char *text);
00708 virtual void InsertCellTextAsInt(
00709 int row_index, int col_index, int value);
00710 virtual void InsertCellTextAsDouble(
00711 int row_index, int col_index, double value);
00712 virtual void InsertCellTextAsFormattedDouble(
00713 int row_index, int col_index, double value, int size);
00714 virtual void SetCellText(
00715 int row_index, int col_index, const char *text);
00716 virtual const char* GetCellText(int row_index, int col_index);
00717 virtual void SetCellTextAsInt(
00718 int row_index, int col_index, int value);
00719 virtual int GetCellTextAsInt(int row_index, int col_index);
00720 virtual void SetCellTextAsDouble(
00721 int row_index, int col_index, double value);
00722 virtual void SetCellTextAsFormattedDouble(
00723 int row_index, int col_index, double value, int size);
00724 virtual double GetCellTextAsDouble(int row_index, int col_index);
00726
00728
00730 virtual int HasCellAttribute(
00731 int row_index, int col_index, const char *name);
00732 virtual void SetCellAttribute(
00733 int row_index, int col_index, const char *name, const char *value);
00734 virtual const char* GetCellAttribute(
00735 int row_index, int col_index, const char *name);
00736 virtual void SetCellAttributeAsInt(
00737 int row_index, int col_index, const char *name, int value);
00738 virtual int GetCellAttributeAsInt(
00739 int row_index, int col_index, const char *name);
00741
00743
00749 virtual void SetCellEnabledAttribute(
00750 int row_index, int col_index, int value);
00751 virtual int GetCellEnabledAttribute(
00752 int row_index, int col_index);
00753 virtual int HasCellEnabledAttribute(
00754 int row_index, int col_index);
00756
00758
00759 virtual void InsertRowText(int row_index, const char *text);
00760 virtual void InsertColumnText(int col_index, const char *text);
00762
00764
00768 virtual void FindAndInsertCellText(
00769 int look_for_col_index, const char *look_for_text ,
00770 int col_index, const char *text);
00772
00774 virtual void ActivateCell(int row_index, int col_index);
00775
00777 virtual void SeeCell(int row_index, int col_index);
00778
00780
00781 virtual void GetCellBackgroundColor(
00782 int row_index, int col_index, double *r, double *g, double *b);
00783 virtual double* GetCellBackgroundColor(int row_index, int col_index);
00784 virtual void SetCellBackgroundColor(
00785 int row_index, int col_index, double r, double g, double b);
00786 virtual void SetCellBackgroundColor(
00787 int row_index, int col_index, double rgb[3])
00788 { this->SetCellBackgroundColor(
00789 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00790 virtual void ClearCellBackgroundColor(int row_index, int col_index);
00791 virtual void GetCellForegroundColor(
00792 int row_index, int col_index, double *r, double *g, double *b);
00793 virtual double* GetCellForegroundColor(int row_index, int col_index);
00794 virtual void SetCellForegroundColor(
00795 int row_index, int col_index, double r, double g, double b);
00796 virtual void SetCellForegroundColor(
00797 int row_index, int col_index, double rgb[3])
00798 { this->SetCellForegroundColor(
00799 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00801
00803
00806 virtual void GetCellCurrentBackgroundColor(
00807 int row_index, int col_index, double *r, double *g, double *b);
00808 virtual double* GetCellCurrentBackgroundColor(int row_index, int col_index);
00809 virtual void GetCellCurrentForegroundColor(
00810 int row_index, int col_index, double *r, double *g, double *b);
00811 virtual double* GetCellCurrentForegroundColor(int row_index, int col_index);
00813
00815
00817 virtual void SetCellEditable(int row_index, int col_index, int flag);
00818 virtual void CellEditableOn(int row_index, int col_index)
00819 { this->SetCellEditable(row_index, col_index, 1); };
00820 virtual void CellEditableOff(int row_index, int col_index)
00821 { this->SetCellEditable(row_index, col_index, 0); };
00822 virtual int GetCellEditable(int row_index, int col_index);
00824
00826
00838 virtual void SetCellImage(int row_index, int col_index, const char *);
00839 virtual void SetCellImageToIcon(
00840 int row_index, int col_index, vtkKWIcon *icon);
00841 virtual void SetCellImageToPredefinedIcon(
00842 int row_index, int col_index, int icon_index);
00843 virtual void SetCellImageToPixels(
00844 int row_index, int col_index,
00845 const unsigned char *pixels, int width, int height, int pixel_size,
00846 unsigned long buffer_length = 0);
00847 virtual const char* GetCellImage(int row_index, int col_index);
00849
00851
00864 enum
00865 {
00866 CellEditWindowEntry = 0,
00867 CellEditWindowCheckButton,
00868 CellEditWindowSpinBox,
00869 CellEditWindowUnknown
00870 };
00871
00872 virtual int GetCellEditWindow(int row_index, int col_index);
00873 virtual void SetCellEditWindow(int row_index, int col_index, int arg);
00874 virtual void SetCellEditWindowToEntry(int row_index, int col_index)
00875 { this->SetCellEditWindow(
00876 row_index, col_index, vtkKWMultiColumnList::CellEditWindowEntry); };
00877 virtual void SetCellEditWindowToCheckButton(int row_index, int col_index)
00878 { this->SetCellEditWindow(
00879 row_index,col_index, vtkKWMultiColumnList::CellEditWindowCheckButton);};
00880 virtual void SetCellEditWindowToSpinBox(int row_index, int col_index)
00881 { this->SetCellEditWindow(
00882 row_index, col_index, vtkKWMultiColumnList::CellEditWindowSpinBox); };
00884
00886
00914 virtual void SetCellWindowCommand(
00915 int row_index, int col_index, vtkObject *object, const char *method);
00917
00919
00939 virtual void SetCellWindowCommandToCheckButton(int row_index, int col_index);
00940 virtual vtkKWCheckButton *GetCellWindowAsCheckButton(
00941 int row_index, int col_index);
00943
00945
00955 virtual void SetCellWindowCommandToComboBox(int row_index, int col_index);
00956 virtual void SetCellWindowCommandToComboBoxWithValues(
00957 int row_index, int col_index, int nb_values, const char *values[]);
00958 virtual void SetCellWindowCommandToComboBoxWithValuesAsArray(
00959 int row_index, int col_index, vtkStringArray *values);
00960 virtual void SetCellWindowCommandToComboBoxWithValuesAsSemiColonSeparated(
00961 int row_index, int col_index, const char *values);
00962 virtual vtkKWComboBox *GetCellWindowAsComboBox(int row_index, int col_index);
00963 virtual void SetCellWindowComboBoxValues(
00964 int row_index, int col_index, int nb_values, const char *values[]);
00965 virtual void SetCellWindowComboBoxValuesAsArray(
00966 int row_index, int col_index, vtkStringArray *values);
00967 virtual void SetCellWindowComboBoxValuesAsSemiColonSeparated(
00968 int row_index, int col_index, const char *values);
00970
00972
00993 virtual void SetCellWindowCommandToColorButton(int row_index, int col_index);
00994 virtual vtkKWFrame* GetCellWindowAsFrame(int row_index, int col_index);
00995 vtkBooleanMacro(UseBalloonHelpStringInCellColorButton, int);
00996 vtkGetMacro(UseBalloonHelpStringInCellColorButton, int);
00997 virtual void SetUseBalloonHelpStringInCellColorButton(int);
00999
01001
01011 virtual void SetCellWindowCommandToPickDirectoryButton(
01012 int row_index, int col_index);
01013 virtual vtkKWLoadSaveButton* GetCellWindowAsPickDirectoryButton(
01014 int row_index, int col_index);
01016
01018
01030 virtual void SetCellWindowDestroyCommand(
01031 int row_index, int col_index, vtkObject *object, const char *method);
01033
01035
01043 virtual void SetCellWindowDestroyCommandToRemoveChild(
01044 int row_index, int col_index);
01046
01048
01056 virtual void RefreshCellWithWindowCommand(int row_index, int col_index);
01057 virtual void RefreshAllCellsWithWindowCommand();
01058 virtual void ScheduleRefreshAllCellsWithWindowCommand();
01059 virtual void RefreshAllRowsWithWindowCommand(int col);
01060 virtual void ScheduleRefreshAllRowsWithWindowCommand(int col);
01061 virtual void RefreshEnabledStateOfAllCellsWithWindowCommand();
01062 virtual void ScheduleRefreshEnabledStateOfAllCellsWithWindowCommand();
01064
01066
01081 virtual void RefreshColorsOfCellWithWindowCommand(
01082 int row_index, int col_index);
01083 virtual void RefreshColorsOfAllCellsWithWindowCommand();
01084 virtual void ScheduleRefreshColorsOfAllCellsWithWindowCommand();
01086
01089 virtual const char* GetCellWindowWidgetName(int row_index, int col_index);
01090
01092
01107 virtual void AddBindingsToWidgetName(const char *widget_name);
01108 virtual void AddBindingsToWidget(vtkKWWidget *widget);
01109 virtual void AddBindingsToWidgetAndChildren(vtkKWWidget *widget);
01111
01113
01119 virtual int FindCellText(const char *text, int *row_index, int *col_index);
01120 virtual int* FindCellText(const char *text);
01121 virtual int FindCellTextInColumn(int col_index, const char *text);
01122 virtual int FindCellTextAsIntInColumn(int col_index, int value);
01124
01126
01130 virtual void EditCell(int row_index, int col_index);
01131 virtual void CancelEditing();
01132 virtual void FinishEditing();
01134
01136
01137 virtual void GetSelectionBackgroundColor(double *r, double *g, double *b);
01138 virtual double* GetSelectionBackgroundColor();
01139 virtual void SetSelectionBackgroundColor(double r, double g, double b);
01140 virtual void SetSelectionBackgroundColor(double rgb[3])
01141 { this->SetSelectionBackgroundColor(rgb[0], rgb[1], rgb[2]); };
01142 virtual void GetSelectionForegroundColor(double *r, double *g, double *b);
01143 virtual double* GetSelectionForegroundColor();
01144 virtual void SetSelectionForegroundColor(double r, double g, double b);
01145 virtual void SetSelectionForegroundColor(double rgb[3])
01146 { this->SetSelectionForegroundColor(rgb[0], rgb[1], rgb[2]); };
01148
01150
01152 virtual void GetColumnSelectionBackgroundColor(
01153 int col_index, double *r, double *g, double *b);
01154 virtual double* GetColumnSelectionBackgroundColor(int col_index);
01155 virtual void SetColumnSelectionBackgroundColor(
01156 int col_index, double r, double g, double b);
01157 virtual void SetColumnSelectionBackgroundColor(int col_index, double rgb[3])
01158 { this->SetColumnSelectionBackgroundColor(
01159 col_index, rgb[0], rgb[1], rgb[2]); };
01160 virtual void GetColumnSelectionForegroundColor(
01161 int col_index, double *r, double *g, double *b);
01162 virtual double* GetColumnSelectionForegroundColor(int col_index);
01163 virtual void SetColumnSelectionForegroundColor(
01164 int col_index, double r, double g, double b);
01165 virtual void SetColumnSelectionForegroundColor(int col_index, double rgb[3])
01166 { this->SetColumnSelectionForegroundColor(
01167 col_index, rgb[0], rgb[1], rgb[2]); };
01169
01171
01173 virtual void GetRowSelectionBackgroundColor(
01174 int row_index, double *r, double *g, double *b);
01175 virtual double* GetRowSelectionBackgroundColor(int row_index);
01176 virtual void SetRowSelectionBackgroundColor(
01177 int row_index, double r, double g, double b);
01178 virtual void SetRowSelectionBackgroundColor(int row_index, double rgb[3])
01179 { this->SetRowSelectionBackgroundColor(
01180 row_index, rgb[0], rgb[1], rgb[2]); };
01181 virtual void GetRowSelectionForegroundColor(
01182 int row_index, double *r, double *g, double *b);
01183 virtual double* GetRowSelectionForegroundColor(int row_index);
01184 virtual void SetRowSelectionForegroundColor(
01185 int row_index, double r, double g, double b);
01186 virtual void SetRowSelectionForegroundColor(int row_index, double rgb[3])
01187 { this->SetRowSelectionForegroundColor(
01188 row_index, rgb[0], rgb[1], rgb[2]); };
01190
01192
01194 virtual void GetCellSelectionBackgroundColor(
01195 int row_index, int col_index, double *r, double *g, double *b);
01196 virtual double* GetCellSelectionBackgroundColor(
01197 int row_index, int col_index);
01198 virtual void SetCellSelectionBackgroundColor(
01199 int row_index, int col_index, double r, double g, double b);
01200 virtual void SetCellSelectionBackgroundColor(
01201 int row_index, int col_index, double rgb[3])
01202 { this->SetCellSelectionBackgroundColor(
01203 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
01204 virtual void GetCellSelectionForegroundColor(
01205 int row_index, int col_index, double *r, double *g, double *b);
01206 virtual double* GetCellSelectionForegroundColor(
01207 int row_index, int col_index);
01208 virtual void SetCellSelectionForegroundColor(
01209 int row_index, int col_index, double r, double g, double b);
01210 virtual void SetCellSelectionForegroundColor(
01211 int row_index, int col_index, double rgb[3])
01212 { this->SetCellSelectionForegroundColor(
01213 row_index, col_index, rgb[0], rgb[1], rgb[2]); };
01215
01217
01220 virtual void SetSelectionMode(int);
01221 virtual int GetSelectionMode();
01222 virtual void SetSelectionModeToSingle();
01223 virtual void SetSelectionModeToBrowse();
01224 virtual void SetSelectionModeToMultiple();
01225 virtual void SetSelectionModeToExtended();
01227
01229
01237 enum
01238 {
01239 SelectionTypeRow,
01240 SelectionTypeCell,
01241 SelectionTypeUnknown
01242 };
01243
01244 virtual int GetSelectionType();
01245 virtual void SetSelectionType(int align);
01246 virtual void SetSelectionTypeToRow()
01247 { this->SetSelectionType(vtkKWMultiColumnList::SelectionTypeRow); };
01248 virtual void SetSelectionTypeToCell()
01249 { this->SetSelectionType(vtkKWMultiColumnList::SelectionTypeCell); };
01251
01253
01255 virtual void SelectRow(int row_index);
01256 virtual void DeselectRow(int row_index);
01257 virtual void SelectSingleRow(int row_index);
01259
01261 virtual int IsRowSelected(int row_index);
01262
01264
01267 virtual int GetNumberOfSelectedRows();
01268 virtual int GetSelectedRows(int *indices);
01270
01272 virtual int GetIndexOfFirstSelectedRow();
01273
01275
01277 virtual void SelectCell(int row_index, int col_index);
01278 virtual void DeselectCell(int row_index, int col_index);
01279 virtual void SelectSingleCell(int row_index, int col_index);
01281
01283 virtual int IsCellSelected(int row_index, int col_index);
01284
01286
01289 virtual int GetNumberOfSelectedCells();
01290 virtual int GetSelectedCells(int *row_indices, int *col_indices);
01292
01294 virtual void ClearSelection();
01295
01297
01302 virtual void SetExportSelection(int);
01303 virtual int GetExportSelection();
01304 vtkBooleanMacro(ExportSelection, int);
01306
01316 virtual void SetSelectionCommand(vtkObject *object, const char *method);
01317
01319
01327 virtual void SetSelectionChangedCommand(
01328 vtkObject *object, const char *method);
01330
01332
01344 virtual void SetPotentialCellColorsChangedCommand(
01345 vtkObject *object, const char *method);
01347
01349
01354 virtual void SetColumnSortedCommand(
01355 vtkObject *object, const char *method);
01357
01359
01364 virtual void SetRowMovedCommand(
01365 vtkObject *object, const char *method);
01367
01369
01374 virtual void SetNumberOfRowsChangedCommand(
01375 vtkObject *object, const char *method);
01377
01393 virtual void SetEditStartCommand(vtkObject *object, const char *method);
01394
01418 virtual void SetEditEndCommand(vtkObject *object, const char *method);
01419
01424 virtual void RejectInput();
01425
01438 virtual void SetCellUpdatedCommand(vtkObject *object, const char *method);
01439
01452 virtual void SetLabelCommand(vtkObject *object, const char *method);
01453
01470 virtual void SetSortCommand(vtkObject *object, const char *method);
01471
01480 virtual void SetRightClickCommand(vtkObject *object, const char *method);
01481
01483
01489 virtual void SetUneditableCellDoubleClickCommand(
01490 vtkObject *object, const char *method);
01492
01499 virtual void UpdateEnableState();
01500
01502
01511 enum
01512 {
01513 SelectionChangedEvent = 10000,
01514 NumberOfRowsChangedEvent,
01515 CellUpdatedEvent
01516 };
01517
01519
01521
01522 virtual void SelectionCallback();
01523 virtual void CellWindowDestroyRemoveChildCallback(
01524 const char*, int, int, const char*);
01525 virtual void CellUpdatedCallback();
01526 virtual void UneditableCellDoubleClickCallback();
01527 virtual const char* EditStartCallback(
01528 const char *widget, int row, int col, const char *text);
01529 virtual const char* EditEndCallback(
01530 const char *widget, int row, int col, const char *text);
01531 virtual void CellWindowCommandToCheckButtonCreateCallback(
01532 const char*, int, int, const char*);
01533 virtual void CellWindowCommandToCheckButtonSelectCallback(
01534 vtkKWWidget*, int, int, int);
01535 virtual void CellWindowCommandToComboBoxCreateCallback(
01536 const char *values, const char*, int, int, const char*);
01537 virtual void CellWindowCommandToComboBoxValueCallback(
01538 vtkKWWidget*, int, int, const char *);
01539 virtual void CellWindowCommandToColorButtonCallback(
01540 const char*, int, int, const char*);
01541 virtual void CellWindowCommandToPickDirectoryButtonCallback(
01542 const char*, int, int, const char*);
01543 virtual void CellWindowCommandToPickDirectoryButtonChangeCallback(
01544 vtkKWWidget*, int, int);
01545 virtual const char* ColumnFormatCommandToEmptyOutputIfWindowCommandCallback(
01546 vtkKWWidget*, const char *);
01547 virtual void ColumnSortedCallback();
01548 virtual void ColumnMovedCallback();
01549 virtual void RowMovedCallback();
01550 virtual void RightClickCallback(
01551 const char *w, int x, int y, int root_x, int root_y);
01552 virtual void RefreshColorsOfAllCellsWithWindowCommandCallback();
01553 virtual void RefreshAllCellsWithWindowCommandCallback();
01554 virtual void RefreshEnabledStateOfAllCellsWithWindowCommandCallback();
01555 virtual void RefreshAllRowsWithWindowCommandCallback(int col);
01556 virtual void KeyPressDeleteCallback();
01558
01559
01560
01561 protected:
01562 vtkKWMultiColumnList();
01563 ~vtkKWMultiColumnList();
01564
01566 virtual void CreateWidget();
01567
01568 char *KeyPressDeleteCommand;
01569 void InvokeKeyPressDeleteCommand();
01570
01571 char *EditStartCommand;
01572 const char* InvokeEditStartCommand(int row, int col, const char *text);
01573
01574 char *EditEndCommand;
01575 const char* InvokeEditEndCommand(int row, int col, const char *text);
01576
01577 char *CellUpdatedCommand;
01578 void InvokeCellUpdatedCommand(int row, int col, const char *text);
01579
01580 char *SelectionCommand;
01581 virtual void InvokeSelectionCommand();
01582
01583 char *SelectionChangedCommand;
01584 virtual void InvokeSelectionChangedCommand();
01585
01586 char *PotentialCellColorsChangedCommand;
01587 virtual void InvokePotentialCellColorsChangedCommand();
01588
01589 char *ColumnSortedCommand;
01590 void InvokeColumnSortedCommand();
01591
01592 char *RowMovedCommand;
01593 void InvokeRowMovedCommand();
01594
01595 char *NumberOfRowsChangedCommand;
01596 void InvokeNumberOfRowsChangedCommand();
01597
01598 char *RightClickCommand;
01599 void InvokeRightClickCommand(int row, int col, int x, int y);
01600
01601 char *UneditableCellDoubleClickCommand;
01602 virtual void InvokeUneditableCellDoubleClickCommand();
01603
01605
01606 virtual void NumberOfRowsChanged();
01607 virtual void NumberOfColumnsChanged();
01609
01611
01612 virtual int SetColumnConfigurationOption(
01613 int col_index, const char* option, const char *value);
01614 virtual int HasColumnConfigurationOption(
01615 int col_index, const char* option);
01616 virtual const char* GetColumnConfigurationOption(
01617 int col_index, const char* option);
01618 virtual int GetColumnConfigurationOptionAsInt(
01619 int col_index, const char* option);
01620 virtual int SetColumnConfigurationOptionAsInt(
01621 int col_index, const char* option, int value);
01622 virtual void SetColumnConfigurationOptionAsText(
01623 int col_index, const char *option, const char *value);
01624 virtual const char* GetColumnConfigurationOptionAsText(
01625 int col_index, const char *option);
01627
01629
01630 virtual int SetRowConfigurationOption(
01631 int row_index, const char* option, const char *value);
01632 virtual int HasRowConfigurationOption(
01633 int row_index, const char* option);
01634 virtual const char* GetRowConfigurationOption(
01635 int row_index, const char* option);
01636 virtual int GetRowConfigurationOptionAsInt(
01637 int row_index, const char* option);
01638 virtual int SetRowConfigurationOptionAsInt(
01639 int row_index, const char* option, int value);
01641
01643
01644 virtual int SetCellConfigurationOption(
01645 int row_index, int col_index, const char* option, const char *value);
01646 virtual int HasCellConfigurationOption(
01647 int row_index, int col_index, const char* option);
01648 virtual const char* GetCellConfigurationOption(
01649 int row_index, int col_index, const char* option);
01650 virtual int GetCellConfigurationOptionAsInt(
01651 int row_index, int col_index, const char* option);
01652 virtual int SetCellConfigurationOptionAsInt(
01653 int row_index, int col_index, const char* option, int value);
01654 virtual double GetCellConfigurationOptionAsDouble(
01655 int row_index, int col_index, const char* option);
01656 virtual int SetCellConfigurationOptionAsDouble(
01657 int row_index, int col_index, const char* option, double value);
01658 virtual int SetCellConfigurationOptionAsFormattedDouble(
01659 int row_index, int col_index, const char* option, double value, int size);
01660 virtual int SetCellConfigurationOptionAsText(
01661 int row_index, int col_index, const char *option, const char *value);
01662 virtual const char* GetCellConfigurationOptionAsText(
01663 int row_index, int col_index, const char *option);
01664 virtual void ReportErrorOnSetCellConfigurationOption(
01665 int row_index, int col_index, const char* option, const char *res);
01667
01668
01669
01670 vtkKWMultiColumnListInternals *Internals;
01671
01672
01675 virtual void HasSelectionChanged();
01676
01678
01679 virtual int FindCellAtRelativeCoordinates(
01680 int x, int y, int *row_index, int *col_index);
01682
01684
01685 int ColorSortedColumn;
01686 double SortedColumnBackgroundColor[3];
01687 virtual void UpdateSortedColumnBackgroundColor();
01689
01691 virtual void RemoveAllWindowDestroyCommandFromCells();
01692
01694
01695 virtual void AddInteractionBindings();
01696 virtual void RemoveInteractionBindings();
01698
01700
01701 virtual void SetColumnNameToIndexCacheEntry(
01702 const char *col_name, int col_index);
01703 virtual int GetColumnNameToIndexCacheEntry(const char *col_name);
01704 virtual void DeleteColumnNameToIndexCacheEntry(const char *col_name);
01705 virtual void InvalidateColumnNameToIndexCache();
01707
01709
01710 virtual void SetColumnIndexToVisibilityCacheEntry(
01711 int col_index, int vis);
01712 virtual int GetColumnIndexToVisibilityCacheEntry(int col_index);
01713 virtual void InvalidateColumnIndexToVisibilityCache();
01715
01716 int UseBalloonHelpStringInCellColorButton;
01717
01718
01719
01720 private:
01721 vtkKWMultiColumnList(const vtkKWMultiColumnList&);
01722 void operator=(const vtkKWMultiColumnList&);
01723 };
01724
01725 #endif
01726