Mobile API Reference  MicroStrategy 2019
<MSIDataViewer> Protocol Reference

#import <MSIDataViewer.h>

Inheritance diagram for <MSIDataViewer>:
RWDDashboardView

Instance Methods

(void) - startRenderDocument
 
(void) - updateFrame:
 
(UIView *) - dataView
 
(BOOL- isLandscape
 
(void) - setNeedsDisplay
 
(void) - updateWithData:
 
(void) - viewerWillClose
 
(void) - dataViewWillDisappear
 
(bool) - executeInFullScreenMode
 
(BOOL- showingBarsTemporarily
 
(void) - restoreScreen
 
(EnumDSSDisplayMode- getGridDisplayMode
 
(void) - setGridDisplayMode:
 
(BOOL- gridGraphViewerIsFromWidget
 
(void) - afterManipulation:
 
(NSString *) - getClientManipulations
 
(void) - clearClientManipulations
 
(BOOL- replayManipulations:WithData:WithFlags:
 
(BOOL- replayManipulation:WithData:WithFlags:
 
(void) - replayDrillManipulation:WithData:
 
(void) - beginReplayManipulation
 
(void) - endReplayManipulation:
 
(RootViewerContainer *) - getRootViewerContainer
 
(bool) - isDisplayRepromptIcon
 
(void) - updateLayoutInfo:
 
(void) - setLayout:
 
(void) - animateLeft
 
(void) - animateRight
 
(void) - setCachedLayoutID:
 
(void) - enableInteraction:
 
(BOOL- isTransactionEnabled
 
(BOOL- isGeneratePreviewImage
 
(void) - setGeneratePreviewImage:
 
(BOOL- getLayoutKeys:currentLayoutKey:
 
(void) - afterBinaryApplied:
 
(void) - requestMissingBinary:withHandler:withSelector:
 
(BOOL- isInitialLayoutLoaded
 
(void) - applyLayout:withData:andDataPath:
 
(void) - restoreDetailedTransactionModel:
 
(void) - restoreDetailedTransactionArray:
 
(BOOL- restoreDatasetTransactionModel:andDataArray:
 
(NSArray *) - getDetailedTransactionData
 
(UIView *) - getLayoutIndicator
 
(void) - restoreZoomForBackOperation
 
(int) - getGridGraphViewerPageByStatus
 
(void) - setGridGraphViewerPageByStatus:
 
(BOOL- isDefaultLayoutContainUC
 
(void) - setViewFrame:
 
(void) - setFitWidth:
 
(void) - refresh
 
(void) - setViewOrientation:
 
(void) - replayCarryOverSelections:refreshUI:
 
(UIView *) - getGroupbyView
 
(void) - setGroupbyView:
 
(Commander *) - getCommander
 
(void) - pauseAfterCurrentTask
 
(void) - continueToDoNextTask
 
(BOOL- isChartAvailable
 
(MSIDocumentContext *) - getDocContext
 
(short) - getCurrentLayoutIndex
 
(void) - renderVIDocumentOnExtDisplay
 
(void) - handleTabSelection
 
(void) - changeToControlMode
 
(void) - changeToFilterMode
 
(void) - willBeClosed
 
(void) - showWaitViewOnExternalDisplay
 
(void) - hideWaitViewOnExternalDisplay
 
(BOOL- isVIDocumentRunning
 
(BOOL- isAirplay
 
(BOOL- isVIDocument
 
(BOOL- isAirplayRendered
 
(void) - clearDelegate
 
(NSString *) - dashboardName
 
(BOOL- hasTransactionUpdate
 
(NSArray *) - getAllDataSetIDs
 
(NSDictionary *) - getDatasetPromptAnswers
 
(NSInteger) - ReevaluateViewsForUC:
 
(BOOL- stopRenderingProcess
 
(void) - waitRenderingProcess
 
(NSArray *) - getAllLayoutNames
 
(NSArray *) - getAllLayoutKeys
 
(NSString *) - getCurrentLayoutName
 
(NSData *) - getWidgetViewsStatus
 
(int) - replayWidgetViewsStatus:
 
(void) - viewEvaluationFinish
 

Detailed Description

This protocol is the interface designed for any dashboard viewer for document/report rendering. The document data controller will interact with the document viewer through this interface

Method Documentation

◆ afterBinaryApplied:()

- (void) afterBinaryApplied: (BOOL iSuccess
optional

Request missing binary data

Parameters
layoutKeyLayout key to be requested Notify binary has been applied
iSuccessIf the binary applied successfully

Reimplemented in RWDDashboardView.

◆ afterManipulation:()

- (void) afterManipulation: (BOOL iSuccess
optional

Notify dashboard viewer that manipulation is done

Parameters
iSuccessIf the manipulation succeeded

◆ animateLeft()

- (void) animateLeft
optional

Left animation for switching layout

◆ animateRight()

- (void) animateRight
optional

Right animation for switching layout

◆ applyLayout:withData:andDataPath:()

- (void) applyLayout: (NSString *)  iLayoutKey
withData: (NSData *)  iNewData
andDataPath: (NSString *)  iDocDataPath 
optional

Apply layout binary

Parameters
iLayoutKeyBinary data's layout key
iNewDataBinary data
iDocDataPathBinary data file path

◆ beginReplayManipulation()

- (void) beginReplayManipulation
optional

Begin replaying manipulation

◆ changeToControlMode()

- (void) changeToControlMode
optional

For airplay mode, display in control mode

◆ changeToFilterMode()

- (void) changeToFilterMode
optional

For airplay mode, display in filter mode

◆ clearClientManipulations()

- (void) clearClientManipulations
optional

Clear client manipulation that has not been committed

◆ clearDelegate()

- (void) clearDelegate
optional

Reset delegate to avoid accessing released instance

Reimplemented in RWDDashboardView.

◆ continueToDoNextTask()

- (void) continueToDoNextTask
optional

Continue the next task in the background task queue This is to be called after pauseAfterCurrentTask to continue the background queue

◆ dashboardName()

- (NSString*) dashboardName
optional

Return dashboardName

Returns
Dashboard's name

◆ dataView()

- (UIView*) dataView

Return dataview

Returns
dataView

◆ dataViewWillDisappear()

- (void) dataViewWillDisappear
optional

Callback which is triggered when the data view is going to disappear on the screen

◆ enableInteraction:()

- (void) enableInteraction: (BOOL enabled
optional

◆ endReplayManipulation:()

- (void) endReplayManipulation: (BOOL needRefresh
optional

End replaying manipulation

Parameters
needRefreshDo we need to refresh GUI after manipulation

◆ executeInFullScreenMode()

- (bool) executeInFullScreenMode
optional

Update the associated RWD instance with the given data

Parameters
dataNew binary data If executing in full screen mode
Returns
If executing in full screen mode

◆ getAllDataSetIDs()

- (NSArray*) getAllDataSetIDs
optional

Return all datasets' Ids

Returns
all datasets' Ids

◆ getAllLayoutKeys()

- (NSArray*) getAllLayoutKeys
optional

◆ getAllLayoutNames()

- (NSArray*) getAllLayoutNames
optional

◆ getClientManipulations()

- (NSString*) getClientManipulations
optional

Get client manipulation

Returns
Event string for not-commited client side manipulation

◆ getCommander()

- (Commander*) getCommander
optional

Returnt the commander object Commander is the manipulation controller in the viewer classes

Returns
The commander object of the document

◆ getCurrentLayoutIndex()

- (short) getCurrentLayoutIndex
optional

Return the current layout index

Returns
The current layout index

◆ getCurrentLayoutName()

- (NSString*) getCurrentLayoutName
optional

◆ getDatasetPromptAnswers()

- (NSDictionary*) getDatasetPromptAnswers
optional

Return all datasets' prompt answers

Returns
all datasets' prompt answers

◆ getDetailedTransactionData()

- (NSArray*) getDetailedTransactionData
optional

Get transaction data

Returns
Detailed transaction model array

◆ getDocContext()

- (MSIDocumentContext*) getDocContext
optional

Return document context

Returns
The document context

◆ getGridDisplayMode()

- (EnumDSSDisplayMode) getGridDisplayMode
optional

Get grid display mode

Returns
Grid display mode

◆ getGridGraphViewerPageByStatus()

- (int) getGridGraphViewerPageByStatus
optional

Get gridgraphviewer's pageby status

Returns
Pageby element ID selected by gridgraphviewer

◆ getGroupbyView()

- (UIView*) getGroupbyView
optional

Return the groupby view

Returns
The groupby view

◆ getLayoutIndicator()

- (UIView*) getLayoutIndicator
optional

Get layout Indicator

Returns
Layout indication view

◆ getLayoutKeys:currentLayoutKey:()

- (BOOL) getLayoutKeys: (NSArray **)  layoutKeys
currentLayoutKey: (NSString **)  key 
optional

Get layout information of document

Parameters
layoutKeysArray of layout keys in the document
keyCurrentLayoutKey
Returns
YES, if the operation succeeded

◆ getRootViewerContainer()

- (RootViewerContainer*) getRootViewerContainer
optional

Return the root viewer container

Returns
The root viewer container

Reimplemented in RWDDashboardView.

◆ getWidgetViewsStatus()

- (NSData*) getWidgetViewsStatus
optional

Widgets views status record/restore

◆ gridGraphViewerIsFromWidget()

- (BOOL) gridGraphViewerIsFromWidget
optional

Return if gridGraphViewer is from widget

Returns
If gridGraphViewer is from widget

◆ handleTabSelection()

- (void) handleTabSelection
optional

For airplay mode, display tab selection view

◆ hasTransactionUpdate()

- (BOOL) hasTransactionUpdate
optional

◆ hideWaitViewOnExternalDisplay()

- (void) hideWaitViewOnExternalDisplay
optional

Hide wait indicator

Reimplemented in RWDDashboardView.

◆ isAirplay()

- (BOOL) isAirplay
optional

Is in airplay mode

Is Document in airplay mode

◆ isAirplayRendered()

- (BOOL) isAirplayRendered
optional

Return if Airplay finished rendering

Returns
If Airplay finished rendering

◆ isChartAvailable()

- (BOOL) isChartAvailable
optional

Test if graph mode is available for this document

Returns
If chart is available

◆ isDefaultLayoutContainUC()

- (BOOL) isDefaultLayoutContainUC
optional

Check if default layout contains UC

Returns
If default layout contains UC

◆ isDisplayRepromptIcon()

- (bool) isDisplayRepromptIcon
optional

This method returns a boolean value indicating whether to display reprompt icon for current layout. This method is used by data controller to determine whether to show a "Filter" button on the right of navigation bar.

Returns
true if it should display reprompt icon, false otherwise.

◆ isGeneratePreviewImage()

- (BOOL) isGeneratePreviewImage
optional

If we should generate preview image for the document

Returns
If we should generate preview image

◆ isInitialLayoutLoaded()

- (BOOL) isInitialLayoutLoaded
optional

Has the first layout binary been loaded

Returns
Has the first layout binary been loaded

◆ isLandscape()

- (BOOL) isLandscape

Return isLandscape

Returns
if is landscape

◆ isTransactionEnabled()

- (BOOL) isTransactionEnabled
optional

Is document transaction enabled

Returns
Is document transaction enabled

◆ isVIDocument()

- (BOOL) isVIDocument
optional

Is the document a VI document

If the document is a VI document

◆ isVIDocumentRunning()

- (BOOL) isVIDocumentRunning
optional

Is VI document running

Returns
Is VI document running

◆ pauseAfterCurrentTask()

- (void) pauseAfterCurrentTask
optional

Pause background thread after current task Before data controller modifies the document model, we need to prevent viewer accessing it this call is to stop the background thread so that document model can be modified

◆ ReevaluateViewsForUC:()

- (NSInteger) ReevaluateViewsForUC: (NSArray *)  nodeKeys
optional

Re-evaluate views after UC

Returns
result code

◆ refresh()

- (void) refresh
optional

For MSTRObjectViewController, refresh view.

◆ renderVIDocumentOnExtDisplay()

- (void) renderVIDocumentOnExtDisplay
optional

Start to render VI document on external display - Airplay

◆ replayCarryOverSelections:refreshUI:()

- (void) replayCarryOverSelections: (CarryOverSelectionsSet *)  selections
refreshUI: (BOOL refresh 
optional

Replay saved carryover selections in the document

Parameters
selectionsSaved document selections for carryover
refreshWhether to refresh UI

◆ replayDrillManipulation:WithData:()

- (void) replayDrillManipulation: (DrillXMLCommandParameters *)  parameters
WithData: (NSData *)  newData 
optional

Replay drill manipulation with delta binary data

Parameters
parametersDrill parameters
newDataDelta binary data needed for drill manipulation

◆ replayManipulation:WithData:WithFlags:()

- (BOOL) replayManipulation: (NSString *)  events
WithData: (NSData *)  newData
WithFlags: (unsigned int)  flags 
optional

Replay manipulation with delta binary data

Parameters
eventsEvent string representing manipulations
newDataDelta binary data needed for manipulation
Returns
If the replay async network request

◆ replayManipulations:WithData:WithFlags:()

- (BOOL) replayManipulations: (NSArray *)  events
WithData: (NSData *)  newData
WithFlags: (unsigned int)  flags 
optional

Replay manipulations with delta binary data

Parameters
eventsArray of event string representing manipulations
newDataDelta binary data needed for manipulation
Returns
If the replay async network request

◆ replayWidgetViewsStatus:()

- (int) replayWidgetViewsStatus: (NSData *)  status
optional

◆ requestMissingBinary:withHandler:withSelector:()

- (void) requestMissingBinary: (NSString *)  iLayoutKey
withHandler: (id< BinaryRetrievalHandler >)  iHandler
withSelector: (SEL)  callbackFunction 
optional

Request missing binary data

Parameters
iLayoutKeyLayout key
iHandlerHandler for request
callbackFunctionCallback function after request is done

◆ restoreDatasetTransactionModel:andDataArray:()

- (BOOL) restoreDatasetTransactionModel: (NSArray *)  datasetIDs
andDataArray: (NSArray *)  deltas 
optional

Restore data sets delta transaction model for offline transaction

Parameters
datasetIDsdataset ID array
deltasdataset delta model array

◆ restoreDetailedTransactionArray:()

- (void) restoreDetailedTransactionArray: (NSArray *)  iTransactionDetails
optional

Restore transaction model for offline transaction

Parameters
iTransactionDetailsTransaction model

◆ restoreDetailedTransactionModel:()

- (void) restoreDetailedTransactionModel: (TransactionParameters *)  iTransactionParameters
optional

Restore transaction model for offline transaction

Parameters
iTransactionParametersTransaction model

◆ restoreScreen()

- (void) restoreScreen
optional

Reimplemented in RWDDashboardView.

◆ restoreZoomForBackOperation()

- (void) restoreZoomForBackOperation
optional

Restore zoom factor for back operation

◆ setCachedLayoutID:()

- (void) setCachedLayoutID: (NSInteger)  cachedLayoutID
optional

Set cached layout ID

Parameters
cachedLayoutIDLayout ID

◆ setFitWidth:()

- (void) setFitWidth: (BOOL isFitWidth
optional

For MSTRObjectViewController, setFitWidth will resize the document so that the width fits to the view width or to the actual document width.

Parameters
isFitWidthgives fitting to view width or keeping actuall width.

◆ setGeneratePreviewImage:()

- (void) setGeneratePreviewImage: (bool)  generate
optional

Set if we should generate preview image for the document

Parameters
generateIf we should generate preview image

◆ setGridDisplayMode:()

- (void) setGridDisplayMode: (EnumDSSDisplayMode displayMode
optional

◆ setGridGraphViewerPageByStatus:()

- (void) setGridGraphViewerPageByStatus: (int)  status
optional

Set gridgraphviewer's pageby status

Parameters
statusPageby element ID to select

◆ setGroupbyView:()

- (void) setGroupbyView: (UIView *)  iGroupbyView
optional

Set the groupby view

Parameters
iGroupbyViewThe groupby view to be set

◆ setLayout:()

- (void) setLayout: (NSInteger)  layoutID
optional

Set layout ID

Parameters
layoutIDLayout ID

◆ setNeedsDisplay()

- (void) setNeedsDisplay

Set landscape mode

Parameters
landscapeis landscape mode- (void)setLandscape:(BOOL)landscape; Marks the receiver’s entire bounds rectangle as needing to be redrawn.

◆ setViewFrame:()

- (void) setViewFrame: (CGRect)  newViewFrame
optional

For MSTRObjectViewController, setFrame will cause the view frame to be revised to the new CGRect. The rect must be a valid rect, although it can be empty. If the rect is not valid, no action is taken. It is not an error for the view to be partially or completely off the screen.

Parameters
newViewFramegives the new view frame size with the type of CGRect.

◆ setViewOrientation:()

- (void) setViewOrientation: (BOOL isViewOrientationPortrait
optional

For MSTRObjectViewController, setViewOrientation sets the view orientation.

Parameters
isViewOrientationPortraitis YES if the view is set to portrait.

◆ showingBarsTemporarily()

- (BOOL) showingBarsTemporarily
optional

◆ showWaitViewOnExternalDisplay()

- (void) showWaitViewOnExternalDisplay
optional

Display wait indicator

Reimplemented in RWDDashboardView.

◆ startRenderDocument()

- (void) startRenderDocument

Start to render document

◆ stopRenderingProcess()

- (BOOL) stopRenderingProcess
optional

Ask the viewer to stop rendering process, including background thread

Returns
Whether the rendering has been stop instantly or not. If not, there will another call back later.

◆ updateFrame:()

- (void) updateFrame: (CGRect)  frame

Update Frame

Parameters
frameThe frame rect

◆ updateLayoutInfo:()

- (void) updateLayoutInfo: (MSILayoutInfo *)  layoutInfo
optional

Update layout info

Parameters
layoutInfoLayout Info

◆ updateWithData:()

- (void) updateWithData: (NSData *)  data

Update the data model with new data

Parameters
datanew binary data

◆ viewerWillClose()

- (void) viewerWillClose

Raised when viewer is to be closed

◆ viewEvaluationFinish()

- (void) viewEvaluationFinish
optional

◆ waitRenderingProcess()

- (void) waitRenderingProcess
optional

Wait back ground render process to stop.

◆ willBeClosed()

- (void) willBeClosed
optional

For airplay mode, notify stopping airplay mode