00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIGRIDDATA_H__
00018 #define __XSIGRIDDATA_H__
00019
00020 #include <xsi_base.h>
00021 #include <xsi_ppgitem.h>
00022 #include <xsi_value.h>
00023 #include <xsi_bitarray.h>
00024
00025 namespace XSI {
00026 struct CColor ;
00027
00180
00181
00182 class GridWidget ;
00183
00184 class SICPPSDKDECL GridData : public CBase
00185 {
00186 public:
00188 GridData();
00189
00191 ~GridData();
00192
00196 GridData(const CRef& in_ref);
00197
00201 GridData(const GridData& in_obj);
00202
00207 bool IsA( siClassID in_ClassID) const;
00208
00212 siClassID GetClassID() const;
00213
00218 GridData& operator=(const GridData& in_obj);
00219
00225 GridData& operator=(const CRef& in_ref);
00226
00231 CValueArray GetData() const;
00232
00239 CStatus PutData( const CValueArray& in_items ) ;
00240
00246 CStatus PutColumnCount( LONG in_val );
00247
00251 LONG GetColumnCount() const ;
00252
00258 CStatus PutRowCount( LONG in_val ) ;
00259
00263 LONG GetRowCount() const ;
00264
00272 CStatus PutCell(LONG in_Column, LONG in_Row, const CValue& in_CellValue);
00273
00282 CStatus PutCell(const CString& in_ColumnLabel, const CString& in_RowLabel, const CValue& in_CellValue);
00283
00290 CValue GetCell(LONG in_Column, LONG in_Row) const;
00291
00301 CValue GetCell(const CString& in_ColumnLabel, const CString& in_RowLabel) const;
00307 CStatus PutColumnValues( LONG in_Column, const CValueArray & in_ColumnItems );
00313 CStatus PutColumnValues( const CString& in_ColumnLabel, const CValueArray & in_ColumnItems );
00314
00319 CValueArray GetColumnValues(LONG in_Column ) const ;
00320
00325 CValueArray GetColumnValues(const CString& in_ColumnLabel ) const ;
00326
00332 CStatus PutRowValues( LONG in_Row, const CValueArray & in_RowItems );
00333
00339 CStatus PutRowValues( const CString& in_RowLabel, const CValueArray & in_RowItems );
00340
00345 CValueArray GetRowValues(LONG in_Row ) const ;
00346
00351 CValueArray GetRowValues(const CString& in_RowLabel ) const ;
00352
00361 CStatus PutRowLabel(LONG in_RowIndex, const CString& in_RowLabel );
00362
00368 CString GetRowLabel(LONG in_RowIndex) const;
00369
00378 CStatus PutColumnLabel(LONG in_ColumnIndex, const CString& in_ColumnLabel);
00379
00385 CString GetColumnLabel(LONG in_ColumnIndex) const;
00386
00393 CStatus BeginEdit();
00394
00400 CStatus EndEdit();
00401
00409 CStatus PutColumnType(LONG in_ColumnIndex, siGridWidgetColumnType in_Type );
00410
00416 siGridWidgetColumnType GetColumnType( LONG in_ColumnIndex ) const;
00417
00426 CStatus PutColumnComboItems(LONG in_ColumnIndex, const CValueArray& in_Items);
00427
00433 CValueArray GetColumnComboItems(LONG in_ColumnIndex);
00434
00440 GridWidget GetGridWidget() ;
00441
00449 CStatus SetRowBackgroundColor( LONG in_Row, const CColor &in_Color );
00450
00456 CColor GetRowBackgroundColor(LONG in_Row );
00457
00466 CStatus SetIntColumnDef( LONG in_lColumnIndex, LONG in_lMin = INT_MIN, LONG in_lMax = INT_MAX, LONG in_lInc = 1 );
00467
00476 CStatus GetIntColumnDef( LONG in_lColumnIndex, LONG &out_lMin, LONG &out_lMax, LONG &out_lInc ) const;
00477
00487 CStatus SetFloatColumnDef( LONG in_lColumnIndex, double in_dMin = DBL_MIN, double in_dMax = DBL_MAX, double in_dInc = 1.0, short in_sDecimal = 2 ) ;
00488
00498 CStatus GetFloatColumnDef( LONG in_lColumnIndex, double &out_dMin, double &out_dMax, double &out_dInc, short &out_sDecimal ) const;
00499
00510 CStatus SetVectorColumnDef( LONG in_lColumnIndex, short in_sVectorSize, double in_dMin = DBL_MIN, double in_dMax = DBL_MAX, double in_dInc = 1.0, short in_sDecimal = 2 ) ;
00511
00522 CStatus GetVectorColumnDef( LONG in_lColumnIndex, short &out_sVectorSize, double &out_dMin, double &out_dMax, double &out_dInc, short &out_sDecimal ) const;
00523
00532 CStatus SetFileColumnDef( LONG in_lColumnIndex, const CString &in_csBrowseType = "File", const CString &in_csStartupPath = "/", const CString &in_csFilter = ".*" ) ;
00533
00542 CStatus GetFileColumnDef( LONG in_lColumnIndex, CString& out_csBrowseType, CString& out_csStartupPath, CString& out_csFilter ) const;
00543
00550 CStatus SetShaderBallColumnDef( LONG in_lColumnIndex, LONG in_lThumbnailSize = 28 ) ;
00551
00558 CStatus GetShaderBallColumnDef( LONG in_lColumnIndex, LONG &out_lThumbnailSize ) const;
00559
00565 CStatus SetImageClipColumnDef( LONG in_lColumnIndex, LONG in_lThumbnailSize = 28 );
00566
00572 CStatus GetImageClipColumnDef( LONG in_lColumnIndex, LONG &out_lThumbnailSize ) const;
00573
00579 CStatus InsertRow( LONG in_lRowIndex ) ;
00580
00586 CStatus RemoveRow( LONG in_lRowIndex ) ;
00587
00593 CStatus InsertColumn( LONG in_lColumnIndex ) ;
00594
00600 CStatus RemoveColumn( LONG in_lColumnIndex ) ;
00601
00609 CStatus SetCellBackgroundColor( LONG in_lCol, LONG in_lRow, const CColor &in_Color ) ;
00610
00617 CColor GetCellBackgroundColor( LONG in_lCol, LONG in_lRow ) const ;
00618
00625 CStatus SetColumnsVisibility( const CLongArray &in_alCols, bool in_bVisible ) ;
00626
00633 CStatus SetRowsVisibility( const CLongArray &in_alRows, bool in_bVisible ) ;
00634
00641 CStatus SetCellReadOnlyFlags( const CLongArray &in_alCells, bool in_bROFlag ) ;
00642
00649 CStatus GetCellReadOnlyFlags( const CLongArray &in_alCells, CBitArray &out_aROFlags ) const;
00650
00656 CStatus PutMultiSelectionMode( XSI::siGridDataMultiSelectionMode in_eSelectionMode ) ;
00657
00662 XSI::siGridDataMultiSelectionMode GetMultiSelectionMode() const;
00663
00669 CStatus PutReadOnly( bool in_bROFlag ) ;
00670
00675 bool GetReadOnly() const;
00676
00677 private:
00678
00679 GridData * operator&() const;
00680 GridData * operator&();
00681 };
00682
00683 };
00684 #endif // __XSIGRIDDATA_H__