Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

GUI/Widgets/vtkKWMultiColumnList.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWMultiColumnList.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00037 #ifndef __vtkKWMultiColumnList_h
00038 #define __vtkKWMultiColumnList_h
00039 
00040 #include "vtkKWCoreWidget.h"
00041 
00042 class vtkKWIcon;
00043 class vtkKWMultiColumnListInternals;
00044 
00045 class KWWIDGETS_EXPORT vtkKWMultiColumnList : public vtkKWCoreWidget
00046 {
00047 public:
00048   static vtkKWMultiColumnList* New();
00049   vtkTypeRevisionMacro(vtkKWMultiColumnList,vtkKWCoreWidget);
00050   void PrintSelf(ostream& os, vtkIndent indent);
00051 
00053   virtual void Create(vtkKWApplication *app);
00054 
00056 
00061   virtual void SetWidth(int width);
00062   virtual int GetWidth();
00063   virtual void SetHeight(int height);
00064   virtual int GetHeight();
00066 
00068 
00070   virtual void SetBackgroundColor(double r, double g, double b);
00071   virtual void SetBackgroundColor(double rgb[3])
00072     { this->SetBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00073   virtual void SetForegroundColor(double r, double g, double b);
00074   virtual void SetForegroundColor(double rgb[3])
00075     { this->SetForegroundColor(rgb[0], rgb[1], rgb[2]); };
00077 
00079 
00084   virtual int InsertColumn(int col_index, const char *title);
00085   virtual int AddColumn(const char *title);
00087 
00089 
00097   virtual void SetColumnName(int col_index, const char *name);
00098   virtual const char* GetColumnName(int col_index);
00099   virtual int GetColumnIndexWithName(const char *name);
00101 
00103   virtual int GetNumberOfColumns();
00104 
00106   virtual void SeeColumn(int col_index);
00107 
00109 
00110   virtual void DeleteColumn(int col_index);
00111   virtual void DeleteAllColumns();
00113 
00115 
00117   vtkBooleanMacro(MovableColumns, int);
00118   virtual void SetMovableColumns(int);
00119   virtual int GetMovableColumns();
00121 
00123 
00125   virtual void SetRowSpacing(int);
00126   virtual int GetRowSpacing();
00128 
00130 
00132   vtkBooleanMacro(ResizableColumns, int);
00133   virtual void SetResizableColumns(int);
00134   virtual int GetResizableColumns();
00136 
00138 
00140   vtkBooleanMacro(ColumnSeparatorsVisibility, int);
00141   virtual void SetColumnSeparatorsVisibility(int);
00142   virtual int GetColumnSeparatorsVisibility();
00144 
00146 
00148   vtkBooleanMacro(ColumnLabelsVisibility, int);
00149   virtual void SetColumnLabelsVisibility(int);
00150   virtual int GetColumnLabelsVisibility();
00152 
00154 
00155   virtual void GetColumnLabelBackgroundColor(double *r, double *g, double *b);
00156   virtual double* GetColumnLabelBackgroundColor();
00157   virtual void SetColumnLabelBackgroundColor(double r, double g, double b);
00158   virtual void SetColumnLabelBackgroundColor(double rgb[3])
00159     { this->SetColumnLabelBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00160   virtual void GetColumnLabelForegroundColor(double *r, double *g, double *b);
00161   virtual double* GetColumnLabelForegroundColor();
00162   virtual void SetColumnLabelForegroundColor(double r, double g, double b);
00163   virtual void SetColumnLabelForegroundColor(double rgb[3])
00164     { this->SetColumnLabelForegroundColor(rgb[0], rgb[1], rgb[2]); };
00166 
00168 
00169   virtual void SetColumnTitle(int col_index, const char*);
00170   virtual const char* GetColumnTitle(int col_index);
00172 
00174 
00181   virtual void SetColumnWidth(int col_index, int width);
00182   virtual int GetColumnWidth(int col_index);
00183   virtual void SetColumnMaximumWidth(int col_index, int width);
00184   virtual int GetColumnMaximumWidth(int col_index);
00186 
00188 
00193   virtual void SetColumnStretchable(int col_index, int flag);
00194   virtual void ColumnStretchableOn(int col_index)
00195     { this->SetColumnStretchable(col_index, 1); };
00196   virtual void ColumnStretchableOff(int col_index)
00197     { this->SetColumnStretchable(col_index, 0); };
00198   virtual int GetColumnStretchable(int col_index);
00199   vtkBooleanMacro(StretchableColumns, int);
00200   virtual void SetStretchableColumns(int);
00202 
00204 
00207   enum 
00208   {
00209     ColumnAlignmentLeft = 0,
00210     ColumnAlignmentRight,
00211     ColumnAlignmentCenter,
00212     ColumnAlignmentUnknown
00213   };
00214   //ETX
00215   virtual int GetColumnAlignment(int col_index);
00216   virtual void SetColumnAlignment(int col_index, int align);
00217   virtual void SetColumnAlignmentToLeft(int col_index)
00218     { this->SetColumnAlignment(
00219       col_index, vtkKWMultiColumnList::ColumnAlignmentLeft); };
00220   virtual void SetColumnAlignmentToRight(int col_index)
00221     { this->SetColumnAlignment(
00222       col_index, vtkKWMultiColumnList::ColumnAlignmentRight); };
00223   virtual void SetColumnAlignmentToCenter(int col_index)
00224     { this->SetColumnAlignment(
00225       col_index, vtkKWMultiColumnList::ColumnAlignmentCenter); };
00226   virtual int GetColumnLabelAlignment(int col_index);
00227   virtual void SetColumnLabelAlignment(int col_index, int align);
00228   virtual void SetColumnLabelAlignmentToLeft(int col_index)
00229     { this->SetColumnLabelAlignment(
00230       col_index, vtkKWMultiColumnList::ColumnAlignmentLeft); };
00231   virtual void SetColumnLabelAlignmentToRight(int col_index)
00232     { this->SetColumnLabelAlignment(
00233       col_index, vtkKWMultiColumnList::ColumnAlignmentRight); };
00234   virtual void SetColumnLabelAlignmentToCenter(int col_index)
00235     { this->SetColumnLabelAlignment(
00236       col_index, vtkKWMultiColumnList::ColumnAlignmentCenter); };
00238 
00240 
00241   enum 
00242   {
00243     SortByIncreasingOrder = 0,
00244     SortByDecreasingOrder,
00245     SortByUnknownOrder
00246   };
00247   //ETX
00248   virtual void SortByColumn(int col_index, int order);
00249   virtual void SortByColumnIncreasingOrder(int col_index)
00250     { this->SortByColumn(
00251       col_index, vtkKWMultiColumnList::SortByIncreasingOrder); };
00252   virtual void SortByColumnDecreasingOrder(int col_index)
00253     { this->SortByColumn(
00254       col_index, vtkKWMultiColumnList::SortByDecreasingOrder); };
00256 
00258 
00259   enum 
00260   {
00261     SortModeAscii = 0,
00262     SortModeDictionary,
00263     SortModeInteger,
00264     SortModeReal,
00265     SortModeUnknown
00266   };
00267   //ETX
00268   virtual int GetColumnSortMode(int col_index);
00269   virtual void SetColumnSortMode(int col_index, int mode);
00270   virtual void SetColumnSortModeToAscii(int col_index)
00271     { this->SetColumnSortMode(
00272       col_index, vtkKWMultiColumnList::SortModeAscii); };
00273   virtual void SetColumnSortModeToDictionary(int col_index)
00274     { this->SetColumnSortMode(
00275       col_index, vtkKWMultiColumnList::SortModeDictionary); };
00276   virtual void SetColumnSortModeToInteger(int col_index)
00277     { this->SetColumnSortMode(
00278       col_index, vtkKWMultiColumnList::SortModeInteger); };
00279   virtual void SetColumnSortModeToReal(int col_index)
00280     { this->SetColumnSortMode(
00281       col_index, vtkKWMultiColumnList::SortModeReal); };
00283 
00285 
00288   vtkBooleanMacro(SortArrowVisibility, int);
00289   virtual void SetSortArrowVisibility(int);
00290   virtual int GetSortArrowVisibility();
00292 
00294 
00296   virtual void SetColumnResizable(int col_index, int flag);
00297   virtual void ColumnResizableOn(int col_index)
00298     { this->SetColumnResizable(col_index, 1); };
00299   virtual void ColumnResizableOff(int col_index)
00300     { this->SetColumnResizable(col_index, 0); };
00301   virtual int GetColumnResizable(int col_index);
00303 
00305 
00307   virtual void SetColumnEditable(int col_index, int flag);
00308   virtual void ColumnEditableOn(int col_index)
00309     { this->SetColumnEditable(col_index, 1); };
00310   virtual void ColumnEditableOff(int col_index)
00311     { this->SetColumnEditable(col_index, 0); };
00312   virtual int GetColumnEditable(int col_index);
00314 
00316 
00318   virtual void SetColumnVisibility(int col_index, int flag);
00319   virtual void ColumnVisibilityOn(int col_index)
00320     { this->SetColumnVisibility(col_index, 1); };
00321   virtual void ColumnVisibilityOff(int col_index)
00322     { this->SetColumnVisibility(col_index, 0); };
00323   virtual int GetColumnVisibility(int col_index);
00325 
00327 
00328   virtual void GetColumnBackgroundColor(
00329     int col_index, double *r, double *g, double *b);
00330   virtual double* GetColumnBackgroundColor(int col_index);
00331   virtual void SetColumnBackgroundColor(
00332     int col_index, double r, double g, double b);
00333   virtual void SetColumnBackgroundColor(int col_index, double rgb[3])
00334     { this->SetColumnBackgroundColor(col_index, rgb[0], rgb[1], rgb[2]); };
00335   virtual void GetColumnForegroundColor(
00336     int col_index, double *r, double *g, double *b);
00337   virtual double* GetColumnForegroundColor(int col_index);
00338   virtual void SetColumnForegroundColor(
00339     int col_index, double r, double g, double b);
00340   virtual void SetColumnForegroundColor(int col_index, double rgb[3])
00341     { this->SetColumnForegroundColor(col_index, rgb[0], rgb[1], rgb[2]); };
00343 
00345 
00346   virtual void SetColumnLabelImage(int col_index, const char *);
00347   virtual void SetColumnLabelImageToIcon(int col_index, vtkKWIcon *icon);
00348   virtual void SetColumnLabelImageToPredefinedIcon(
00349     int col_index, int icon_index);
00350   virtual void SetColumnLabelImageToPixels(
00351     int col_index, 
00352     const unsigned char *pixels, int width, int height, int pixel_size,
00353     unsigned long buffer_length = 0);
00355 
00357 
00378   virtual void SetColumnFormatCommand(int col_index, 
00379                                       vtkObject* object, const char *method);
00380   virtual void SetColumnFormatCommandToEmptyOutput(int col_index);
00382 
00384 
00386   vtkBooleanMacro(MovableRows, int);
00387   virtual void SetMovableRows(int);
00388   virtual int GetMovableRows();
00390 
00392 
00393   virtual void InsertRow(int row_index);
00394   virtual void AddRow();
00396 
00398   virtual int GetNumberOfRows();
00399 
00401   virtual void SeeRow(int row_index);
00402 
00404 
00405   virtual void DeleteRow(int row_index);
00406   virtual void DeleteAllRows();
00408 
00410 
00411   virtual void GetRowBackgroundColor(
00412     int row_index, double *r, double *g, double *b);
00413   virtual double* GetRowBackgroundColor(int row_index);
00414   virtual void SetRowBackgroundColor(
00415     int row_index, double r, double g, double b);
00416   virtual void SetRowBackgroundColor(int row_index, double rgb[3])
00417     { this->SetRowBackgroundColor(row_index, rgb[0], rgb[1], rgb[2]); };
00418   virtual void GetRowForegroundColor(
00419     int row_index, double *r, double *g, double *b);
00420   virtual double* GetRowForegroundColor(int row_index);
00421   virtual void SetRowForegroundColor(
00422     int row_index, double r, double g, double b);
00423   virtual void SetRowForegroundColor(int row_index, double rgb[3])
00424     { this->SetRowForegroundColor(row_index, rgb[0], rgb[1], rgb[2]); };
00426 
00428 
00438   virtual void GetStripeBackgroundColor(double *r, double *g, double *b);
00439   virtual double* GetStripeBackgroundColor();
00440   virtual void SetStripeBackgroundColor(double r, double g, double b);
00441   virtual void SetStripeBackgroundColor(double rgb[3])
00442     { this->SetStripeBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00443   virtual void GetStripeForegroundColor(double *r, double *g, double *b);
00444   virtual double* GetStripeForegroundColor();
00445   virtual void SetStripeForegroundColor(double r, double g, double b);
00446   virtual void SetStripeForegroundColor(double rgb[3])
00447     { this->SetStripeForegroundColor(rgb[0], rgb[1], rgb[2]); };
00448   virtual void SetStripeHeight(int height);
00449   virtual int GetStripeHeight();
00451   
00453 
00455   virtual void SetRowSelectable(int row_index, int flag);
00456   virtual void RowSelectableOn(int row_index)
00457     { this->SetRowSelectable(row_index, 1); };
00458   virtual void RowSelectableOff(int row_index)
00459     { this->SetRowSelectable(row_index, 0); };
00460   virtual int GetRowSelectable(int row_index);
00462 
00464   virtual void ActivateRow(int row_index);
00465 
00467 
00472   virtual void InsertCellText(
00473     int row_index, int col_index, const char *text);
00474   virtual void InsertCellTextAsInt(
00475     int row_index, int col_index, int value);
00476   virtual void InsertCellTextAsDouble(
00477     int row_index, int col_index, double value);
00478   virtual void InsertCellTextAsFormattedDouble(
00479     int row_index, int col_index, double value, int size);
00480   virtual void SetCellText(
00481     int row_index, int col_index, const char *text);
00482   virtual void SetCellTextAsInt(
00483     int row_index, int col_index, int value);
00484   virtual void SetCellTextAsDouble(
00485     int row_index, int col_index, double value);
00486   virtual void SetCellTextAsFormattedDouble(
00487     int row_index, int col_index, double value, int size);
00488   virtual const char* GetCellText(int row_index, int col_index);
00489   virtual int GetCellTextAsInt(int row_index, int col_index);
00490   virtual double GetCellTextAsDouble(int row_index, int col_index);
00492 
00494 
00495   virtual void InsertRowText(int row_index, const char *text);
00496   virtual void InsertColumnText(int col_index, const char *text);
00498 
00500 
00504   virtual void FindAndInsertCellText(
00505     int look_for_col_index, const char *look_for_text , 
00506     int col_index, const char *text);
00508 
00510   virtual void ActivateCell(int row_index, int col_index);
00511 
00513   virtual void SeeCell(int row_index, int col_index);
00514 
00516 
00517   virtual void GetCellBackgroundColor(
00518     int row_index, int col_index, double *r, double *g, double *b);
00519   virtual double* GetCellBackgroundColor(int row_index, int col_index);
00520   virtual void SetCellBackgroundColor(
00521     int row_index, int col_index, double r, double g, double b);
00522   virtual void SetCellBackgroundColor(
00523     int row_index, int col_index, double rgb[3])
00524     { this->SetCellBackgroundColor(
00525       row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00526   virtual void GetCellForegroundColor(
00527     int row_index, int col_index, double *r, double *g, double *b);
00528   virtual double* GetCellForegroundColor(int row_index, int col_index);
00529   virtual void SetCellForegroundColor(
00530     int row_index, int col_index, double r, double g, double b);
00531   virtual void SetCellForegroundColor(
00532     int row_index, int col_index, double rgb[3])
00533     { this->SetCellForegroundColor(
00534       row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00536 
00538 
00541   virtual void GetCellCurrentBackgroundColor(
00542     int row_index, int col_index, double *r, double *g, double *b);
00543   virtual double* GetCellCurrentBackgroundColor(int row_index, int col_index);
00544   virtual void GetCellCurrentForegroundColor(
00545     int row_index, int col_index, double *r, double *g, double *b);
00546   virtual double* GetCellCurrentForegroundColor(int row_index, int col_index);
00548 
00550 
00552   virtual void SetCellEditable(int row_index, int col_index, int flag);
00553   virtual void CellEditableOn(int row_index, int col_index)
00554     { this->SetCellEditable(row_index, col_index, 1); };
00555   virtual void CellEditableOff(int row_index, int col_index)
00556     { this->SetCellEditable(row_index, col_index, 0); };
00557   virtual int GetCellEditable(int row_index, int col_index);
00559 
00561 
00571   virtual void SetCellImage(int row_index, int col_index, const char *);
00572   virtual void SetCellImageToIcon(
00573     int row_index, int col_index, vtkKWIcon *icon);
00574   virtual void SetCellImageToPredefinedIcon(
00575     int row_index, int col_index, int icon_index);
00576   virtual void SetCellImageToPixels(
00577     int row_index, int col_index,
00578     const unsigned char *pixels, int width, int height, int pixel_size,
00579     unsigned long buffer_length = 0);
00580   virtual const char* GetCellImage(int row_index, int col_index);
00582 
00584 
00589   virtual void SetCellWindowCommand(
00590     int row_index, int col_index, vtkObject* object, const char *method);
00592 
00594 
00604   virtual void SetCellWindowDestroyCommand(
00605     int row_index, int col_index, vtkObject* object, const char *method);
00606   virtual void SetCellWindowDestroyCommandToRemoveChild(
00607     int row_index, int col_index);
00609 
00611 
00615   virtual void RefreshCellWithWindowCommand(int row_index, int col_index);
00616   virtual void RefreshAllCellsWithWindowCommand();
00618 
00620 
00628   virtual void RefreshColorsOfCellWithWindowCommand(
00629     int row_index, int col_index);
00630   virtual void RefreshColorsOfAllCellsWithWindowCommand();
00632 
00635   virtual const char* GetCellWindowWidgetName(int row_index, int col_index);
00636 
00638 
00653   virtual void AddBindingsToWidgetName(const char *widget_name);
00654   virtual void AddBindingsToWidget(vtkKWWidget *widget);
00655   virtual void AddBindingsToWidgetAndChildren(vtkKWWidget *widget);
00657 
00659 
00665   virtual int FindCellText(const char *text, int *row_index, int *col_index);
00666   virtual int* FindCellText(const char *text);
00667   virtual int FindCellTextInColumn(int col_index, const char *text);
00668   virtual int FindCellTextAsIntInColumn(int col_index, int value);
00670 
00672 
00674   virtual void EditCell(int row_index, int col_index);
00675   virtual void CancelEditing();
00677 
00679 
00680   virtual void GetSelectionBackgroundColor(double *r, double *g, double *b);
00681   virtual double* GetSelectionBackgroundColor();
00682   virtual void SetSelectionBackgroundColor(double r, double g, double b);
00683   virtual void SetSelectionBackgroundColor(double rgb[3])
00684     { this->SetSelectionBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00685   virtual void GetSelectionForegroundColor(double *r, double *g, double *b);
00686   virtual double* GetSelectionForegroundColor();
00687   virtual void SetSelectionForegroundColor(double r, double g, double b);
00688   virtual void SetSelectionForegroundColor(double rgb[3])
00689     { this->SetSelectionForegroundColor(rgb[0], rgb[1], rgb[2]); };
00691 
00693 
00695   virtual void GetColumnSelectionBackgroundColor(
00696     int col_index, double *r, double *g, double *b);
00697   virtual double* GetColumnSelectionBackgroundColor(int col_index);
00698   virtual void SetColumnSelectionBackgroundColor(
00699     int col_index, double r, double g, double b);
00700   virtual void SetColumnSelectionBackgroundColor(int col_index, double rgb[3])
00701     { this->SetColumnSelectionBackgroundColor(
00702       col_index, rgb[0], rgb[1], rgb[2]); };
00703   virtual void GetColumnSelectionForegroundColor(
00704     int col_index, double *r, double *g, double *b);
00705   virtual double* GetColumnSelectionForegroundColor(int col_index);
00706   virtual void SetColumnSelectionForegroundColor(
00707     int col_index, double r, double g, double b);
00708   virtual void SetColumnSelectionForegroundColor(int col_index, double rgb[3])
00709     { this->SetColumnSelectionForegroundColor(
00710       col_index, rgb[0], rgb[1], rgb[2]); };
00712 
00714 
00716   virtual void GetRowSelectionBackgroundColor(
00717     int row_index, double *r, double *g, double *b);
00718   virtual double* GetRowSelectionBackgroundColor(int row_index);
00719   virtual void SetRowSelectionBackgroundColor(
00720     int row_index, double r, double g, double b);
00721   virtual void SetRowSelectionBackgroundColor(int row_index, double rgb[3])
00722     { this->SetRowSelectionBackgroundColor(
00723       row_index, rgb[0], rgb[1], rgb[2]); };
00724   virtual void GetRowSelectionForegroundColor(
00725     int row_index, double *r, double *g, double *b);
00726   virtual double* GetRowSelectionForegroundColor(int row_index);
00727   virtual void SetRowSelectionForegroundColor(
00728     int row_index, double r, double g, double b);
00729   virtual void SetRowSelectionForegroundColor(int row_index, double rgb[3])
00730     { this->SetRowSelectionForegroundColor(
00731       row_index, rgb[0], rgb[1], rgb[2]); };
00733 
00735 
00737   virtual void GetCellSelectionBackgroundColor(
00738     int row_index, int col_index, double *r, double *g, double *b);
00739   virtual double* GetCellSelectionBackgroundColor(
00740     int row_index, int col_index);
00741   virtual void SetCellSelectionBackgroundColor(
00742     int row_index, int col_index, double r, double g, double b);
00743   virtual void SetCellSelectionBackgroundColor(
00744     int row_index, int col_index, double rgb[3])
00745     { this->SetCellSelectionBackgroundColor(
00746       row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00747   virtual void GetCellSelectionForegroundColor(
00748     int row_index, int col_index, double *r, double *g, double *b);
00749   virtual double* GetCellSelectionForegroundColor(
00750     int row_index, int col_index);
00751   virtual void SetCellSelectionForegroundColor(
00752     int row_index, int col_index, double r, double g, double b);
00753   virtual void SetCellSelectionForegroundColor(
00754     int row_index, int col_index, double rgb[3])
00755     { this->SetCellSelectionForegroundColor(
00756       row_index, col_index, rgb[0], rgb[1], rgb[2]); };
00758 
00760 
00762   virtual void SetSelectionMode(int);
00763   virtual int GetSelectionMode();
00764   virtual void SetSelectionModeToSingle() 
00765     { this->SetSelectionMode(vtkKWTkOptions::SelectionModeSingle); };
00766   virtual void SetSelectionModeToBrowse() 
00767     { this->SetSelectionMode(vtkKWTkOptions::SelectionModeBrowse); };
00768   virtual void SetSelectionModeToMultiple() 
00769     { this->SetSelectionMode(vtkKWTkOptions::SelectionModeMultiple); };
00770   virtual void SetSelectionModeToExtended() 
00771     { this->SetSelectionMode(vtkKWTkOptions::SelectionModeExtended); };
00773 
00775 
00783   enum 
00784   {
00785     SelectionTypeRow,
00786     SelectionTypeCell,
00787     SelectionTypeUnknown
00788   };
00789   //ETX
00790   virtual int GetSelectionType();
00791   virtual void SetSelectionType(int align);
00792   virtual void SetSelectionTypeToRow()
00793     { this->SetSelectionType(vtkKWMultiColumnList::SelectionTypeRow); };
00794   virtual void SetSelectionTypeToCell()
00795     { this->SetSelectionType(vtkKWMultiColumnList::SelectionTypeCell); };
00797 
00799 
00801   virtual void SelectRow(int row_index);
00802   virtual void DeselectRow(int row_index);
00803   virtual void SelectSingleRow(int row_index);
00805 
00807   virtual int IsRowSelected(int row_index);
00808 
00810 
00813   virtual int GetNumberOfSelectedRows();
00814   virtual int GetSelectedRows(int *indices);
00816 
00818   virtual int GetIndexOfFirstSelectedRow();
00819 
00821 
00823   virtual void SelectCell(int row_index, int col_index);
00824   virtual void DeselectCell(int row_index, int col_index);
00825   virtual void SelectSingleCell(int row_index, int col_index);
00827 
00829   virtual int IsCellSelected(int row_index, int col_index);
00830 
00832 
00835   virtual int GetNumberOfSelectedCells();
00836   virtual int GetSelectedCells(int *row_indices, int *col_indices);
00838 
00840   virtual void ClearSelection();
00841 
00843 
00848   virtual void SetExportSelection(int);
00849   virtual int GetExportSelection();
00850   vtkBooleanMacro(ExportSelection, int);
00852   
00854 
00859   virtual void SetSelectionCommand(
00860     vtkObject* object, const char *method);
00862 
00864 
00869   virtual void SetSelectionChangedCommand(
00870     vtkObject* object, const char *method);
00872 
00874 
00880   virtual void SetPotentialCellColorsChangedCommand(
00881     vtkObject* object, const char *method);
00883 
00891   virtual void SetEditStartCommand(vtkObject* object, const char *method);
00892 
00904   virtual void SetEditEndCommand(vtkObject* object, const char *method);
00905 
00910   virtual void RejectInput();
00911 
00918   virtual void SetCellUpdatedCommand(vtkObject* object, const char *method);
00919 
00926   virtual void SetLabelCommand(vtkObject* object, const char *method);
00927 
00936   virtual void SetSortCommand(vtkObject* object, const char *method);
00937 
00939 
00940   virtual void SelectionCallback();
00941   virtual void CellWindowDestroyRemoveChildCallback(
00942     const char*, int, int, const char*);
00943   virtual void CellUpdatedCallback();
00944   virtual const char* EditStartCallback(
00945     const char *widget, int row, int col, const char *text);
00946   virtual const char* EditEndCallback(
00947     const char *widget, int row, int col, const char *text);
00949 
00956   virtual void UpdateEnableState();
00957  
00958 protected:
00959   vtkKWMultiColumnList();
00960   ~vtkKWMultiColumnList();
00961 
00962   char *EditStartCommand;
00963   const char* InvokeEditStartCommand(int row, int col, const char *text);
00964 
00965   char *EditEndCommand;
00966   const char* InvokeEditEndCommand(int row, int col, const char *text);
00967 
00968   char *CellUpdatedCommand;
00969   void InvokeCellUpdatedCommand(int row, int col, const char *text);
00970 
00971   char *SelectionCommand;
00972   virtual void InvokeSelectionCommand();
00973 
00974   char *SelectionChangedCommand;
00975   virtual void InvokeSelectionChangedCommand();
00976 
00977   char *PotentialCellColorsChangedCommand;
00978   virtual void InvokePotentialCellColorsChangedCommand();
00979 
00981 
00982   virtual void NumberOfRowsChanged();
00983   virtual void NumberOfColumnsChanged();
00985 
00987 
00988   virtual int SetColumnConfigurationOption(
00989     int col_index, const char* option, const char *value);
00990   virtual int HasColumnConfigurationOption(
00991     int col_index, const char* option);
00992   virtual const char* GetColumnConfigurationOption(
00993     int col_index, const char* option);
00994   virtual int GetColumnConfigurationOptionAsInt(
00995     int col_index, const char* option);
00996   virtual int SetColumnConfigurationOptionAsInt(
00997     int col_index, const char* option, int value);
00998   virtual void SetColumnConfigurationOptionAsText(
00999     int col_index, const char *option, const char *value);
01000   virtual const char* GetColumnConfigurationOptionAsText(
01001     int col_index, const char *option);
01003 
01005 
01006   virtual int SetRowConfigurationOption(
01007     int row_index, const char* option, const char *value);
01008   virtual int HasRowConfigurationOption(
01009     int row_index, const char* option);
01010   virtual const char* GetRowConfigurationOption(
01011     int row_index, const char* option);
01012   virtual int GetRowConfigurationOptionAsInt(
01013     int row_index, const char* option);
01014   virtual int SetRowConfigurationOptionAsInt(
01015     int row_index, const char* option, int value);
01017 
01019 
01020   virtual int SetCellConfigurationOption(
01021     int row_index, int col_index, const char* option, const char *value);
01022   virtual int HasCellConfigurationOption(
01023     int row_index, int col_index, const char* option);
01024   virtual const char* GetCellConfigurationOption(
01025     int row_index, int col_index, const char* option);
01026   virtual int GetCellConfigurationOptionAsInt(
01027     int row_index, int col_index, const char* option);
01028   virtual int SetCellConfigurationOptionAsInt(
01029     int row_index, int col_index, const char* option, int value);
01030   virtual void SetCellConfigurationOptionAsText(
01031     int row_index, int col_index, const char *option, const char *value);
01032   virtual const char* GetCellConfigurationOptionAsText(
01033     int row_index, int col_index, const char *option);
01035 
01036   // PIMPL Encapsulation for STL containers
01037   //BTX
01038   vtkKWMultiColumnListInternals *Internals;
01039   //ETX
01040 
01043   virtual void HasSelectionChanged();
01044 
01045 private:
01046   vtkKWMultiColumnList(const vtkKWMultiColumnList&); // Not implemented
01047   void operator=(const vtkKWMultiColumnList&); // Not implemented
01048 };
01049 
01050 #endif

Generated on Tue May 30 12:31:43 2006 for ParaView by doxygen 1.3.5