Mobile API Reference  MicroStrategy 2019
MSIWidgetHelper Class Reference

#import <MSIWidgetHelper.h>

Inheritance diagram for MSIWidgetHelper:
<ImageCacheCallback>

Instance Methods

(id) - initHelper:withCommander:withProps:
 
(BOOL- isCrosstabDataModel
 
(id< MSIDataProviderProtocol >) - dataProviderByType:
 
(NSInteger) - numOfSecondaryDataProviders
 
(id< MSIDataProviderProtocol >) - secondaryDataProviderByType:andIndex:
 
(void) - registerMasterView:forDataProviderAtIndex:
 
(BOOL- hasRegularDrillByAxisType:andOrdinal:andDepth:
 
(BOOL- hasRegularDrillByGridIterator:andAxisType:andOrdinal:andDepth:
 
(void) - handleRegularDrillByAxisType:andOrdinal:andDepth:
 
(BOOL- hasLinkDrillByAxisType:andOrdinal:andDepth:
 
(BOOL- hasLinkDrillByGridIterator:andAxisType:andOrdinal:andDepth:
 
(void) - handleLinkDrillByAxisType:andOrdinal:andDepth:
 
(BOOL- hasLinkDrillOnMetricWithOrdinal:andDepth:
 
(void) - handleLinkDrillOnMetricWithOrdinal:andDepth:
 
(void) - handleLinkDrillByAxisType:andOrdinals:andDepth:
 
(void) - handleLinkDrillByGridIterator:andAxisType:andOrdinals:andDepth:
 
(void) - handleLinkDrillOnMetricWithOrdinals:andDepth:
 
(BOOL- isCellSelectableByAxisType:andOrdinal:andDepth:
 
(BOOL- isCellSelectableByGridIterator:andAxisType:andOrdinal:andDepth:
 
(void) - handleCellSelectionByAxisType:andOrdinal:andDepth:
 
(void) - handleCellSelectionWithGridIterator:andAxisType:andOrdinal:andDepth:
 
(void) - handleCellSelectionByAxisType:andOrdinals:andDepth:
 
(void) - handleCellSelectionWithGridIterator:andAxisType:andOrdinals:andDepth:
 
(void) - handleCellSelectionWithMultiActionsParas:
 
(void) - handleCellSelectionForEntireRowByAxisType:andOrdinal:
 
(BOOL- isHeaderSelectableByAxisType:andIndex:
 
(void) - handleHeaderSelectionByAxisType:andIndex:
 
(EnumDataStatus- handleCellSelectionAndInfoWindowOnView:frame:withAxisType:andOrdinal:andDepth:
 
(EnumDataStatus- handleCellSelectionAndInfoWindowOnView:frame:withGridIterator:withAxisType:andOrdinal:andDepth:
 
(EnumDataStatus- handleCellsSelectionAndInfoWindowOnView:frame:withAxisType:andOrdinals:andDepth:
 
(void) - handleCellSelectionForEntireRowAndInfoWindowOnView:frame:withAxisType:andOrdinal:
 
(BOOL- isMetricInRowAxis
 
(NSInteger) - numOfAttributesInRowAxis
 
(NSInteger) - numOfAttributesInColumnAxis
 
(NSInteger) - numOfMetrics
 
(NSArray *) - secondaryDataProviderNodeKeys
 
(void) - invalidateSecondaryDataProviders
 
(BOOL- validateLinkDrillCachedByAxisType:andOrdinal:andDepth:
 
(BOOL- validateLinkDrillCachedOnMetricAtOrdinal:andDepth:
 
(id) - setupHelper2:withCommander:withProps:
 
(id< MSIDataProviderProtocol >) - dataProvider
 
(bool) - reInitDataModels
 
(void) - reInitDataModelIterator
 
(bool) - reInitDataModelStruct
 
(void) - reinit:
 
(NSMutableArray *) - arrayWithSecondaryDataProviderWidgetHelper:
 
(int) - getDepthByAxisType:andColIndex:
 
(int) - getColIndexByAxisType:andDepth:
 
(int) - getUnitIndexByAxisType:andColIndex:
 
(int) - getColIndexByAxisType:andUnitIndex:
 
(BOOL- hasRegularDrillByAxisType:andRowIndex:andColIndex:
 
(void) - handleRegularDrillByAxisType:andRowIndex:andColIndex:
 
(BOOL- hasLinkDrillByAxisType:andRowIndex:andColIndex:
 
(void) - handleLinkDrillByAxisType:andRowIndex:andColIndex:
 
(void) - handleLinkDrillByAxisType:andRows:andColIndex:
 
(BOOL- validateLinkDrillCachedByAxisType:andRowIndex:andColIndex:
 
(std::vector< DSSBaseElementProxy * >) - getSelectedElementProxyItems:
 
(NSArray *) - getSelectedElementIds:
 
(void) - setupPopoverContext:withFrame:
 
(BOOL- isHeaderSelectableByAxisType:andColIndex:
 
(void) - handleHeaderSelectionsByAxisType:andColIndex:
 
(void) - handleHeaderSelectionsWithColArrayByAxisType:andColArray:
 
(BOOL- isCellSelectableByAxisType:andRowIndex:andColIndex:
 
(BOOL- isColumnHasSelectableByAxisType:andColIndex:
 
(void) - handleCellSelectionByAxisType:andRowIndex:andColIndex:
 
(void) - handleCellSelectionsForEntireRowByAxisType:andRowIndex:
 
(void) - handleCellSelectionByAxisType:andRows:andColIndex:
 
(void) - handleSelectionsForCoordinateArray:
 
(BOOL- handleURLLinkOnView:withURL:
 
(EnumDataStatus- handleCellSelectionAndInfoWindowOnView:frame:withAxis:andOrdinal:andDepth:andInfoWindowLayoutKey:andCaller:andSelector:
 
(EnumDataStatus- handleCellSelectionAndInfoWindowOnView:frame:withGridIterator:withAxis:andOrdinal:andDepth:andInfoWindowLayoutKey:andCaller:andSelector:
 
(DSSTemplate *) - getTemplate
 
(BOOL- hasData
 
(BOOL- isMetricValid
 
(CGRect) - getWidgetFrame
 
(bool) - isWidgetVisible
 
(void) - registerViewer:
 
(void) - registerMasterViewer:
 
(void) - unregisterMasterViewer:
 
(UIView *) - getInfoWindowViewer
 
(UIView *) - getInfoWindowViewerForIterator:
 
(NSArray *) - getArrayWithInfoWindowViewersByAxisType:andUnitIndex:
 
(NSArray *) - getArrayWithAllInfoWindowViewers
 
(void) - hideControlledInfoWindow
 
(void) - hideInfoWindowContainsSelf
 
(PanelStackViewer *) - getPanelStackViewer
 
(BOOL- isInfoWindowSupported
 
(BOOL- isPanelStackInfoWinDefinedForGridIterator:
 
(BOOL- isLayoutInfoWindowSupported
 
(BOOL- isInLayoutInfoWindow
 
(BOOL- isInPanelStack
 
(BOOL- isInInfoWindow
 
(BOOL- isAnalysisDocument
 
(BOOL- onlyInfoWindowDefined:
 
(BOOL- onlyInfoWindowDefinedOnAxis:
 
(BOOL- isReport
 
(WebServerCredentials *) - getWebServerCredentials:
 
(BOOL- checkPrivilege:
 
(void) - handleItemSelection:
 
(BOOL- isRWControl
 
(std::string) - nodeKeyForWidget:
 
(BOOL- hasLinkDrillDefined
 
(BOOL- hasURLLinkDefined
 
(void) - setInfoWindowPopup:
 
(BOOL- hasInfoWindowDefinedOnUnit:
 
(EnumSelectorTargetType- getSelectorTargetTypeFromAxis:andUnitIndex:
 
(int) - ColorToInt:
 
(int) - readPanelColor:
 
(int) - readSubSectionColor:
 
(int) - readDocumentColor:
 
(UIView *) - getPanelViewFromPanelStack:andRowIndex:
 
(NSInteger) - getLinkDrillCountByAxisType:andOrdinal:andDepth:
 
(NSString *) - getLinkDrillDisplayStringByAxisType:andOrdinal:andDepth:andOrder:
 
(void) - handleLinkDrillByAxisType:andOrdinal:andDepth:andOrder:
 
(void) - queueReusableView:forPanelStack:
 
- Instance Methods inherited from <ImageCacheCallback>
(void) - imageReceived:forURL:withLocalURL:isHitCache:
 
(NSString *) - getSubscriptionId
 

Class Methods

(void) + handleSelectionsWithSelectionOperationArray:withCommander:
 
(MSTROrientation+ getSupportedOrientationByWidgetStyle:
 
(MSTROrientation+ getSupportedOrientationByWidgetClass:
 
(BOOL+ hasImportantDrillPath:
 
(EnumMSIViewTypeInPanelStackViewer+ getViewerTypeInPanelStackViewer:
 
(NSString *) + getTextViewerText:
 
(void) + setTextViewer:withText:
 
(NSString *) + getImageViewerImageSource:
 
(void) + setImageViewer:withImage:
 

Properties

DSSRWIteratormpIterator
 
Commandercommander
 
NSString * widgetProps
 
void * formatManager
 
MSISelectionHelperselectionHelper
 
ViewerDataModelviewerDataModel
 

Method Documentation

◆ arrayWithSecondaryDataProviderWidgetHelper:()

- (NSMutableArray*) arrayWithSecondaryDataProviderWidgetHelper: (ViewerDataModel *)  viewerDataModel
Returns
: widgetHelper for all secondary data provider
Parameters
the ViewerDataModel obj : one widgetHelper corresponds to one dataSet. MSIWidgetViewer has one default widgetHelper. If a widget has only one dataSet, superClass widgetViewer will help to create default widgetHelper corresponding to the dataSet. If a widget has 3 dataSet A,B,C, A is primary dataSet, superClass widgetViewer will help to create a default widgetHelper corresponding to dataSet A, you can get widgetHelper for the dataSet A and B through this API.

◆ checkPrivilege:()

- (BOOL) checkPrivilege: (EnumDSSPrivilegeType privilege

:chcek if user has privilege on this document.

Returns
:YES if user has the privilege

◆ ColorToInt:()

- (int) ColorToInt: (UIColor *)  color

get integer repsenting of UIColor in order 'RGB'

Parameters
inputUIColor
Returns
the color represented by integer in 'RGB' order

◆ dataProvider()

- (id<MSIDataProviderProtocol>) dataProvider

get data provider

Returns
object conforming to MSIDataProviderProtocol, please convert it to concrete object if there is any warning

◆ dataProviderByType:()

- (id<MSIDataProviderProtocol>) dataProviderByType: (DPType nType
Deprecated:
:use (id<MSIDataProviderProtocol>)dataProvider instead, each widgetHelper handles only one dataSet;

◆ getArrayWithAllInfoWindowViewers()

- (NSArray*) getArrayWithAllInfoWindowViewers

◆ getArrayWithInfoWindowViewersByAxisType:andUnitIndex:()

- (NSArray*) getArrayWithInfoWindowViewersByAxisType: (AxisType axisType
andUnitIndex: (int)  unitIndex 

◆ getColIndexByAxisType:andDepth:()

- (int) getColIndexByAxisType: (AxisType type
andDepth: (int)  depth 
Returns
: colIndex converted from depth
Parameters
the ViewerDataModel obj : if several colIndex has the same depth, return the min one

◆ getColIndexByAxisType:andUnitIndex:()

- (int) getColIndexByAxisType: (AxisType type
andUnitIndex: (int)  unitIndex 

◆ getDepthByAxisType:andColIndex:()

- (int) getDepthByAxisType: (AxisType type
andColIndex: (int)  col 
Returns
: depth converted from colIndex
Parameters
the ViewerDataModel obj : the demo dataSet has one attribute, while two attribute forms. all the metric share the same depth RegionID DESC Profit Revenue depth: 0 0 1 1 colIndex : 0 1 2 3

◆ getImageViewerImageSource:()

+ (NSString*) getImageViewerImageSource: (UIView *)  viewer

return the imageSource in the viewer, only valid for MSIViewInPanelStackViewer_ImageViewer ,otherwise return nil

Parameters
theviewer we want to get image source from
Returns
the text if viewer type is MSIViewInPanelStackViewer_ImageViewer ,sometimes the imagesource is dynamic image, we need to analyse and get the right image then set the righ image using
  • (void) setImageViewer:(UIView *)viewer withImage:(UIImage *)image;

◆ getInfoWindowViewer()

- (UIView*) getInfoWindowViewer

getInfoWindowViewer get the info window viewer for current view (if it exists)

◆ getInfoWindowViewerForIterator:()

- (UIView*) getInfoWindowViewerForIterator: (DSSRWGridIterator *)  gridIterator

◆ getLinkDrillCountByAxisType:andOrdinal:andDepth:()

- (NSInteger) getLinkDrillCountByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 

getLinkDrillCountByAxisType:andOrdinal:andDepth get link drill count at specific grid cell, return 0 if no linkdrill

Returns
an int means the number of linkdrill

◆ getLinkDrillDisplayStringByAxisType:andOrdinal:andDepth:andOrder:()

- (NSString*) getLinkDrillDisplayStringByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth
andOrder: (int)  order 

◆ getPanelStackViewer()

- (PanelStackViewer*) getPanelStackViewer

getPanelStackViewer get the panelstack viewer for current view (if it exists)

◆ getPanelViewFromPanelStack:andRowIndex:()

- (UIView*) getPanelViewFromPanelStack: (NSString *)  panelStackName
andRowIndex: (int)  rowIndex 

return the panelView from the given panelStack name and row index of the dataset

Parameters
thetarget panelStack nodekey
therow index of the dataset
Returns
the first panelView in the panelstack

◆ getSelectedElementIds:()

- (NSArray*) getSelectedElementIds: (NSString *)  displayInfoID
Parameters
1: displayInfoID for a MSIDisplayInfo object
Returns
: array of initial selected element ID for given displayInfoID

◆ getSelectedElementProxyItems:()

- (vector<DSSBaseElementProxy*>) MSIWidgetHelper: (NSString *)  displayInfoID
Parameters
1: displayInfoID for a MSIDisplayInfo object
Returns
: vector of pointer for DSSBaseElementProxy object

◆ getSelectorTargetTypeFromAxis:andUnitIndex:()

- (EnumSelectorTargetType) getSelectorTargetTypeFromAxis: (AxisType type
andUnitIndex: (int)  index 
Parameters
axisTypeand colIndex
theunit index
Returns
:the selectorTargetType on a specific unit

◆ getSupportedOrientationByWidgetClass:()

+ (MSTROrientation) getSupportedOrientationByWidgetClass: (Class)  widgetClass

getSupportedOrientationByWidgetClass: returns supported orinetation by the widget in iPhone used in the section viewer

Parameters
classof widget

◆ getSupportedOrientationByWidgetStyle:()

+ (MSTROrientation) getSupportedOrientationByWidgetStyle: (NSString *)  widgetStyle

getSupportedOrientationByWidgetStyle: returns supported orinetation by the widget in iPhone used in the subsection viewer

Parameters
styleof widget defined in Generic.h

◆ getTemplate()

- (DSSTemplate*) getTemplate

getTemplate get the widget template

Returns
DSSTemplate object

◆ getTextViewerText:()

+ (NSString*) getTextViewerText: (UIView *)  viewer

return the text in the viewer, only valid for MSIViewInPanelStackViewer_TextViewer ,otherwise return nil

Parameters
theviewer we want to get the text from
Returns
the text if viewer type is MSIViewInPanelStackViewer_TextViewer,sometimes the text is dynamic text, we need to analyse, then set the righ text using + (void) setTextViewer:(UIView *)viewer withText:(NSString *)text;

◆ getUnitIndexByAxisType:andColIndex:()

- (int) getUnitIndexByAxisType: (AxisType type
andColIndex: (int)  col 

◆ getViewerTypeInPanelStackViewer:()

+ (EnumMSIViewTypeInPanelStackViewer) getViewerTypeInPanelStackViewer: (UIView *)  viewer

return the view type for the given view

Parameters
theviewer we want to get the type
Returns
the view type EnumMSIViewTypeInPanelStackViewer

◆ getWebServerCredentials:()

- (WebServerCredentials*) getWebServerCredentials: (MSIReportDisplayInfo *)  objectInfo

getWebServerCredentials get web server credential for the document.

◆ getWidgetFrame()

- (CGRect) getWidgetFrame

getWidgetFrame get widget frame if iPhone, the frame is the whole screen; if iPad, it's the actual size of the document

Returns
the frame of the widget

◆ handleCellSelectionAndInfoWindowOnView:frame:withAxis:andOrdinal:andDepth:andInfoWindowLayoutKey:andCaller:andSelector:()

- (EnumDataStatus) handleCellSelectionAndInfoWindowOnView: (UIView *)  view
frame: (CGRect)  frame
withAxis: (AxisType iAxis
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth
andInfoWindowLayoutKey: (NSString *)  iwLayoutKey
andCaller: (id< BinaryRetrievalHandler >)  iCaller
andSelector: (SEL)  iCallbackFunction 

handleCellSelectionForEntireRowAndInfoWindowOnView:frame:withAxisType:andOrdinal:andDepth: handle cell seleciton and handle info window some widget may need the entire row for the info window


handleHeaderSelectionsAndInfoWindowOnView:frame:withAxis:andOrdinal:andDepth:andInfoWindowLayoutKey; handle header seleciton and handle info window

Parameters
viewthe view where to attach the info window
framethe position of the info window
iAxis0 means row axis, 1 means column axis
iOrdinalordinal of the grid cell
iDepthdepth of the grid cell
iwLayoutKeythe info window layout key.

◆ handleCellSelectionAndInfoWindowOnView:frame:withAxisType:andOrdinal:andDepth:()

- (EnumDataStatus) handleCellSelectionAndInfoWindowOnView: (UIView *)  view
frame: (CGRect)  frame
withAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: two step first use (void) setupPopoverContext:(UIView*)targetView withFrame:(CGRect)targetFrame; then use (void) handleCellSelectionByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col;

◆ handleCellSelectionAndInfoWindowOnView:frame:withGridIterator:withAxis:andOrdinal:andDepth:andInfoWindowLayoutKey:andCaller:andSelector:()

- (EnumDataStatus) handleCellSelectionAndInfoWindowOnView: (UIView *)  view
frame: (CGRect)  frame
withGridIterator: (DSSRWGridIterator *)  gridIterator
withAxis: (AxisType iAxis
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth
andInfoWindowLayoutKey: (NSString *)  iwLayoutKey
andCaller: (id< BinaryRetrievalHandler >)  iCaller
andSelector: (SEL)  iCallbackFunction 

◆ handleCellSelectionAndInfoWindowOnView:frame:withGridIterator:withAxisType:andOrdinal:andDepth:()

- (EnumDataStatus) handleCellSelectionAndInfoWindowOnView: (UIView *)  view
frame: (CGRect)  frame
withGridIterator: (DSSRWGridIterator *)  gridIterator
withAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 

◆ handleCellSelectionByAxisType:andOrdinal:andDepth:()

- (void) handleCellSelectionByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
:use (void) handleCellSelectionByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ handleCellSelectionByAxisType:andOrdinals:andDepth:()

- (void) handleCellSelectionByAxisType: (AxisType type
andOrdinals: (NSArray *)  iOrdinals
andDepth: (int)  iDepth 

◆ handleCellSelectionByAxisType:andRowIndex:andColIndex:()

- (void) handleCellSelectionByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 

handle cell selection

◆ handleCellSelectionByAxisType:andRows:andColIndex:()

- (void) handleCellSelectionByAxisType: (AxisType type
andRows: (NSArray *)  rows
andColIndex: (int)  col 

handle cell selection for the whole row

◆ handleCellSelectionForEntireRowAndInfoWindowOnView:frame:withAxisType:andOrdinal:()

- (void) handleCellSelectionForEntireRowAndInfoWindowOnView: (UIView *)  view
frame: (CGRect)  frame
withAxisType: (AxisType type
andOrdinal: (int)  iOrdinal 
Deprecated:
: two step first use (void) setupPopoverContext:(UIView*)targetView withFrame:(CGRect)targetFrame; then use (void) handleCellSelectionsForEntireRowByAxisType:(AxisType)type andRowIndex:(int)row;

◆ handleCellSelectionForEntireRowByAxisType:andOrdinal:()

- (void) handleCellSelectionForEntireRowByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal 

◆ handleCellSelectionsForEntireRowByAxisType:andRowIndex:()

- (void) handleCellSelectionsForEntireRowByAxisType: (AxisType type
andRowIndex: (int)  row 

handle cell selection for the whole row

◆ handleCellSelectionWithGridIterator:andAxisType:andOrdinal:andDepth:()

- (void) handleCellSelectionWithGridIterator: (DSSRWGridIterator *)  gridIterator
andAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 

◆ handleCellSelectionWithGridIterator:andAxisType:andOrdinals:andDepth:()

- (void) handleCellSelectionWithGridIterator: (DSSRWGridIterator *)  gridIterator
andAxisType: (AxisType type
andOrdinals: (NSArray *)  iOrdinals
andDepth: (int)  iDepth 
Deprecated:
:use (void)handleCellSelectionsForEntireRowByAxisType:(AxisType)type andRowIndex:(int)row instead

◆ handleCellSelectionWithMultiActionsParas:()

- (void) handleCellSelectionWithMultiActionsParas: (NSArray *)  multiActionsParas

◆ handleCellsSelectionAndInfoWindowOnView:frame:withAxisType:andOrdinals:andDepth:()

- (EnumDataStatus) handleCellsSelectionAndInfoWindowOnView: (UIView *)  view
frame: (CGRect)  frame
withAxisType: (AxisType type
andOrdinals: (NSArray *)  iOrdinals
andDepth: (int)  iDepth 
Deprecated:
: two step first use (void) setupPopoverContext:(UIView*)targetView withFrame:(CGRect)targetFrame; then use (void) handleSelectionsForCoordinateArray:array;

◆ handleHeaderSelectionByAxisType:andIndex:()

- (void) handleHeaderSelectionByAxisType: (AxisType type
andIndex: (NSInteger)  index 
Deprecated:
:use (void)handleHeaderSelectionsByAxisType:(AxisType)type andColIndex:(int)col instead

◆ handleHeaderSelectionsByAxisType:andColIndex:()

- (void) handleHeaderSelectionsByAxisType: (AxisType type
andColIndex: (int)  col 

handle header selection

Parameters
axisTypeand colIndex

◆ handleHeaderSelectionsWithColArrayByAxisType:andColArray:()

- (void) handleHeaderSelectionsWithColArrayByAxisType: (AxisType iAxis
andColArray: (NSArray *)  iColArray 

handle header selection for several columns

Parameters
axisTypeand colArry containing several colIndex

◆ handleItemSelection:()

- (void) handleItemSelection: (int)  itemIndex

:This API is workable When dataType is RWControlDataType,

◆ handleLinkDrillByAxisType:andOrdinal:andDepth:()

- (void) handleLinkDrillByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: use (void)handleLinkDrillByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ handleLinkDrillByAxisType:andOrdinal:andDepth:andOrder:()

- (void) handleLinkDrillByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth
andOrder: (int)  order 

◆ handleLinkDrillByAxisType:andOrdinals:andDepth:()

- (void) handleLinkDrillByAxisType: (AxisType type
andOrdinals: (NSArray *)  iOrdinals
andDepth: (int)  iDepth 
Deprecated:
: use (void)handleLinkDrillByAxisType:(AxisType)type andRows:(NSArray*)rows andColIndex:(int)col instead

◆ handleLinkDrillByAxisType:andRowIndex:andColIndex:()

- (void) handleLinkDrillByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 

handleLinkDrillByAxisType:andOrdinal:andDepth: hadle link drill

◆ handleLinkDrillByAxisType:andRows:andColIndex:()

- (void) handleLinkDrillByAxisType: (AxisType type
andRows: (NSArray *)  rows
andColIndex: (int)  col 

handleLinkDrillByAxisType:andRows:andColIndex handle multi selected rows.

◆ handleLinkDrillByGridIterator:andAxisType:andOrdinals:andDepth:()

- (void) handleLinkDrillByGridIterator: (DSSRWGridIterator *)  gridIterator
andAxisType: (AxisType type
andOrdinals: (NSArray *)  iOrdinals
andDepth: (int)  iDepth 

◆ handleLinkDrillOnMetricWithOrdinal:andDepth:()

- (void) handleLinkDrillOnMetricWithOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: use (void)handleLinkDrillByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ handleLinkDrillOnMetricWithOrdinals:andDepth:()

- (void) handleLinkDrillOnMetricWithOrdinals: (NSArray *)  iOrdinals
andDepth: (int)  iDepth 

◆ handleRegularDrillByAxisType:andOrdinal:andDepth:()

- (void) handleRegularDrillByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: use (BOOL)handleRegularDrillByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ handleRegularDrillByAxisType:andRowIndex:andColIndex:()

- (void) handleRegularDrillByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 

handleRegularDrillByAxisType:andOrdinal:andDepth: handle regular drill

◆ handleSelectionsForCoordinateArray:()

- (void) handleSelectionsForCoordinateArray: (NSArray *)  array

◆ handleSelectionsWithSelectionOperationArray:withCommander:()

+ (void) handleSelectionsWithSelectionOperationArray: (NSArray *)  operations
withCommander: (Commander *)  commander 

◆ handleURLLinkOnView:withURL:()

- (BOOL) handleURLLinkOnView: (UIView *)  iView
withURL: (NSString *)  link 

handleURLLinkOnView:withURL: handle URL link for attributes

Parameters
linkURL string
Returns
Is the url valid or not.

◆ hasData()

- (BOOL) hasData

hasData If there is data in widget's primary data provider

Returns
YES means there is data in widget's primary data provider

◆ hasImportantDrillPath:()

+ (BOOL) hasImportantDrillPath: (DSSTemplateUnit *)  ipDrillUnit

◆ hasInfoWindowDefinedOnUnit:()

- (BOOL) hasInfoWindowDefinedOnUnit: (DSSTemplateUnit *)  lpUnit

◆ hasLinkDrillByAxisType:andOrdinal:andDepth:()

- (BOOL) hasLinkDrillByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: use (BOOL)hasLinkDrillByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ hasLinkDrillByAxisType:andRowIndex:andColIndex:()

- (BOOL) hasLinkDrillByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 

hasLinkDrillByAxisType:andOrdinal:andDepth: Is there link drill at specific grid cell

Returns
Yes means there is link drill

◆ hasLinkDrillByGridIterator:andAxisType:andOrdinal:andDepth:()

- (BOOL) hasLinkDrillByGridIterator: (DSSRWGridIterator *)  gridIterator
andAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 

◆ hasLinkDrillDefined()

- (BOOL) hasLinkDrillDefined

◆ hasLinkDrillOnMetricWithOrdinal:andDepth:()

- (BOOL) hasLinkDrillOnMetricWithOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: use (BOOL)hasLinkDrillByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ hasRegularDrillByAxisType:andOrdinal:andDepth:()

- (BOOL) hasRegularDrillByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
: use (BOOL)hasRegularDrillByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ hasRegularDrillByAxisType:andRowIndex:andColIndex:()

- (BOOL) hasRegularDrillByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 

hasRegularDrillByAxisType:andOrdinal:andDepth: has regular drill

◆ hasRegularDrillByGridIterator:andAxisType:andOrdinal:andDepth:()

- (BOOL) hasRegularDrillByGridIterator: (DSSRWGridIterator *)  gridIterator
andAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 

◆ hasURLLinkDefined()

- (BOOL) hasURLLinkDefined

◆ hideControlledInfoWindow()

- (void) hideControlledInfoWindow

hideControlledInfoWindow hide popped info window that is controled by current view (if it exists)

◆ hideInfoWindowContainsSelf()

- (void) hideInfoWindowContainsSelf

hideInfoWindowContainsSelf hide the info window which contains the rwnode itself

◆ initHelper:withCommander:withProps:()

- (id) initHelper: (ViewerDataModel *)  _viewerDataModel
withCommander: (Commander *)  _commander
withProps: (NSString *)  _widgetProps 
Deprecated:


initHelper:withCommander:withProps: init method

Parameters
_viewerDataModelthe ViewerDataModel obj
_commanderthe Commander obj
_widgetPropsthe widget properties
Returns
MSIWidgetHelper obj

◆ invalidateSecondaryDataProviders()

- (void) invalidateSecondaryDataProviders

◆ isAnalysisDocument()

- (BOOL) isAnalysisDocument

isAnalysisDocument check if the document is an IVE document, naming follows Flex

◆ isCellSelectableByAxisType:andOrdinal:andDepth:()

- (BOOL) isCellSelectableByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
:use (BOOL) isCellSelectableByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ isCellSelectableByAxisType:andRowIndex:andColIndex:()

- (BOOL) isCellSelectableByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 

check if cell selectable

◆ isCellSelectableByGridIterator:andAxisType:andOrdinal:andDepth:()

- (BOOL) isCellSelectableByGridIterator: (DSSRWGridIterator *)  iGridIterator
andAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 

◆ isColumnHasSelectableByAxisType:andColIndex:()

- (BOOL) isColumnHasSelectableByAxisType: (AxisType type
andColIndex: (int)  col 

check if this column has selectable cell. (If subtotal is can't selectable, element is selectable, return YES.)

◆ isCrosstabDataModel()

- (BOOL) isCrosstabDataModel
Deprecated:


isCrosstabDataModel check whether the data model is crosstab model

Returns
yes if it's crosstab data model

◆ isHeaderSelectableByAxisType:andColIndex:()

- (BOOL) isHeaderSelectableByAxisType: (AxisType type
andColIndex: (NSInteger)  col 

check header selectable

Parameters
axisTypeand colIndex

◆ isHeaderSelectableByAxisType:andIndex:()

- (BOOL) isHeaderSelectableByAxisType: (AxisType type
andIndex: (NSInteger)  index 
Deprecated:
:use (BOOL)isHeaderSelectableByAxisType:(AxisType)type andColIndex:(NSInteger)col instead

◆ isInfoWindowSupported()

- (BOOL) isInfoWindowSupported

isInfoWindowSupported returns YES if info window is supported by current view

◆ isInInfoWindow()

- (BOOL) isInInfoWindow

isInInfoWindow returns YES if current view is in a panelstack as info window

◆ isInLayoutInfoWindow()

- (BOOL) isInLayoutInfoWindow

isInLayoutInfoWindow returns YES if current view is in a info window layout

◆ isInPanelStack()

- (BOOL) isInPanelStack

isInPanelStack returns YES if current view is in a panel stack viewer

◆ isLayoutInfoWindowSupported()

- (BOOL) isLayoutInfoWindowSupported

isLayoutInfoWindowSupported returns YES if layout info window is supported by current view

◆ isMetricInRowAxis()

- (BOOL) isMetricInRowAxis
Deprecated:
: we provide - (BOOL)isMetricInRowAxis in ModelData.h

◆ isMetricValid()

- (BOOL) isMetricValid

isMetricValid If the metric valid

Returns
YES means valid

◆ isPanelStackInfoWinDefinedForGridIterator:()

- (BOOL) isPanelStackInfoWinDefinedForGridIterator: (DSSRWGridIterator *)  gridIterator

◆ isReport()

- (BOOL) isReport

getIsReport: check if the we are running a report or a report service document

◆ isRWControl()

- (BOOL) isRWControl
Returns
:return YES if the dataSet is RWControlDataType, or in another word ,the iterrator passed into the widgetHelper is RWControlGridIntertator

◆ isWidgetVisible()

- (bool) isWidgetVisible

isWidgetVisible get whether the widget is visible this method may return different values depending on which document view is choosen

Returns
true if widget is visible, false otherwise

◆ nodeKeyForWidget:()

- (string) MSIWidgetHelper: (MSIWidgetViewer *)  widget
Returns
:nodeKey string for the widget

◆ numOfAttributesInColumnAxis()

- (NSInteger) numOfAttributesInColumnAxis
Deprecated:
: we provide (NSInteger) colAxisTemplateUnitCount in modelData.h

◆ numOfAttributesInRowAxis()

- (NSInteger) numOfAttributesInRowAxis
Deprecated:
: we provide (NSInteger) rowAxisTemplateUnitCount in modelData.h

◆ numOfMetrics()

- (NSInteger) numOfMetrics
Deprecated:
: we provide (NSInteger) metricCount in modelData.h

◆ numOfSecondaryDataProviders()

- (NSInteger) numOfSecondaryDataProviders

◆ onlyInfoWindowDefined:()

- (BOOL) onlyInfoWindowDefined: (DSSTemplateUnit *)  lpUnit

onlyInfoWindowDefined: check if the unit targets only infowindow used in widget

Parameters
templateunit

◆ onlyInfoWindowDefinedOnAxis:()

- (BOOL) onlyInfoWindowDefinedOnAxis: (int)  axis

onlyInfoWindowDefinedOnAxis: check if the axis of template targets only infowindow used in widget

Parameters
integerindicating the axis. Pass 0 for row axis and 1 for column axis.

◆ queueReusableView:forPanelStack:()

- (void) queueReusableView: (UIView *)  view
forPanelStack: (NSString *)  panelStackName 

◆ readDocumentColor:()

- (int) readDocumentColor: (MSIWidgetViewer *)  view

get the background color for document,color represented by integer in 'RGB' order

Parameters
inputwidgetView
Returns
the color represented by integer in 'RGB' order

◆ readPanelColor:()

- (int) readPanelColor: (MSIWidgetViewer *)  view

get the background color for panel view containing the input widgetViewer,color represented by integer in 'RGB' order

Parameters
inputwidgetView
Returns
the color represented by integer in 'RGB' order

◆ readSubSectionColor:()

- (int) readSubSectionColor: (MSIWidgetViewer *)  view

get the background color for subSection view containing the input widgetViewer,color represented by integer in 'RGB' order

Parameters
inputwidgetView
Returns
the color represented by integer in 'RGB' order

◆ registerMasterView:forDataProviderAtIndex:()

- (void) registerMasterView: (id< IViewer >)  iViewer
forDataProviderAtIndex: (NSInteger)  index 
Deprecated:
: use (void)registerViewer:iViewer instead

◆ registerMasterViewer:()

- (void) registerMasterViewer: (id< IViewer >)  iViewer

register view if the dataSet is not main data provider this is for the handleEvent method of the view

Parameters
iViewerwidget view

◆ registerViewer:()

- (void) registerViewer: (id< IViewer >)  iViewer

registerViewer: register viewer for main data provider users do not need to call this API

Parameters
iViewerwidget viewer

◆ reinit:()

- (void) reinit: (ViewerDataModel *)  _viewerDataModel

◆ reInitDataModelIterator()

- (void) reInitDataModelIterator

◆ reInitDataModels()

- (bool) reInitDataModels

reInitDataModels refresh iterator and data model

Returns
true if success.

◆ reInitDataModelStruct()

- (bool) reInitDataModelStruct

◆ secondaryDataProviderByType:andIndex:()

- (id<MSIDataProviderProtocol>) secondaryDataProviderByType: (DPType nType
andIndex: (NSInteger)  nIndex 

◆ secondaryDataProviderNodeKeys()

- (NSArray *) secondaryDataProviderNodeKeys

◆ setImageViewer:withImage:()

+ (void) setImageViewer: (UIView *)  viewer
withImage: (UIImage *)  image 

set the right image for the viewer,only valid for MSIViewInPanelStackViewer_ImageViewer ,otherwise do nothing

Parameters
theviewer we want to set image for
theimage we want to set

◆ setInfoWindowPopup:()

- (void) setInfoWindowPopup: (BOOL isInfoWindowPopup

◆ setTextViewer:withText:()

+ (void) setTextViewer: (UIView *)  viewer
withText: (NSString *)  text 

set the right text for the viewer,only valid for MSIViewInPanelStackViewer_TextViewer ,otherwise do nothing

Parameters
theviewer we want to set text for
thetext we want to set

◆ setupHelper2:withCommander:withProps:()

- (id) setupHelper2: (DSSRWIterator *)  _mpIterator
withCommander: (Commander *)  _commander
withProps: (NSString *)  _widgetProps 

initHelper:withCommander:withProps: init method, users do not need to call it

Parameters
(DSSRWIterator*)_mpIterator
_commanderthe Commander obj
_widgetPropsthe widget properties
Returns
MSIWidgetHelper obj

◆ setupPopoverContext:withFrame:()

- (void) setupPopoverContext: (UIView *)  targetView
withFrame: (CGRect)  targetFrame 
Parameters
1: the targetView which the popOverView show on
2: the frame popOver point to but not cover : show info window or change the posion of info window

◆ unregisterMasterViewer:()

- (void) unregisterMasterViewer: (id< IViewer >)  iViewer

unregister view if you have called resisterMasterView:iViewer, you should call this API when iViewer dealloc

Parameters
iViewerwidget view

◆ validateLinkDrillCachedByAxisType:andOrdinal:andDepth:()

- (BOOL) validateLinkDrillCachedByAxisType: (AxisType type
andOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
:use validateLinkDrillCachedByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

◆ validateLinkDrillCachedByAxisType:andRowIndex:andColIndex:()

- (BOOL) validateLinkDrillCachedByAxisType: (AxisType type
andRowIndex: (int)  row
andColIndex: (int)  col 
Returns
:YES if cache of linkDrill exits in the cache,

◆ validateLinkDrillCachedOnMetricAtOrdinal:andDepth:()

- (BOOL) validateLinkDrillCachedOnMetricAtOrdinal: (int)  iOrdinal
andDepth: (int)  iDepth 
Deprecated:
:use validateLinkDrillCachedByAxisType:(AxisType)type andRowIndex:(int)row andColIndex:(int)col instead

Property Documentation

◆ commander

- commander
readnonatomicstrong

return the Commander object, readonly.

◆ formatManager

- (void*) formatManager
readnonatomicassign

◆ mpIterator

- mpIterator
readnonatomicassign

return the DSSRWIterator object, readonly.

◆ selectionHelper

- (MSISelectionHelper*) selectionHelper
readnonatomicassign

◆ viewerDataModel

- (ViewerDataModel*) viewerDataModel
readnonatomicassign

◆ widgetProps

- widgetProps
readnonatomicassign

return the widget Properties, readonly.