Library Mobile API Reference for iPad  MicroStrategy 2019
Commander.h
Go to the documentation of this file.
1 //
2 // Commander.h
3 // IPadDashboardViewer
4 //
5 // Created by bhuang on 3/23/10.
6 // Copyright 2010 __MyCompanyName__. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "RWDDashboardDelegate.h"
12 #import "DSSIPhoneEnums.h"
13 #import "Enums.h"
14 #import "MSICommanderDelegate.h"
15 #import "CommanderEnums.h"
16 
17 @class GridGraphViewer;
18 @class LinkDrillParameters;
19 @class LayoutManagerViewer;
20 @class LayoutManagerController;
21 @class BrushingHighlightData;
22 @class DocumentThemeHelper;
23 @class DocumentRenderer;
24 @class InfoWindowContainerViewer;
26 
27 class DSSRWControl;
28 class DSSRWSectionNode;
29 
30 class DSSRWControl;
31 class DSSRWSectionNode;
32 class DSSRWIterator;
33 class DSSRWSectionIterator;
34 
35 #import <map>
36 #import <vector>
37 #import <string>
38 
39 
40 
42 {
48 
50 {
51  InfoWindowEventTypePresent = 0, // default, as present info window
52  InfoWindowEventTypeDisablePopping = 1, // if source node target info window, but we doesn't want to present it out
53  InfoWindowEventTypeDismiss = 2, // support dismiss info window event
54  InfoWindowEventTypeRefreshContent = 3 // support refresh content without repop it out
56 
58 {
63 
64 class DSSCManipulationSetCurrentPanel;
65 
66 @interface Command : NSObject
67 @property (nonatomic) void* mCommand;
68 @property (nonatomic) int mCommandType;
69 @property (nonatomic, strong) id mContext; // PopoverContext or GroupByContext
70 @property (nonatomic) int mContextType;
71 @property (nonatomic) bool mIsAutoManipulation; // "Auto manipulation" is not trigger by user directly.
72 @property (nonatomic) EnumCommandViewerType mViewerType;
73 @property (nonatomic, copy) NSDictionary* extraInfo;
74 @property (nonatomic) BOOL noSync;
75 - (instancetype)init;
76 //- (void)dealloc;
77 @end
78 
79 @interface PopoverContext : NSObject
80 @property (nonatomic, weak) UIView* mView;
81 @property (nonatomic) CGRect mRect;
82 @property (nonatomic) BOOL mAddToPass;
83 @property (nonatomic) int mCommandType; // command type, add to get more information in info window's handleEvent:withContext: yzeng
84 @property (nonatomic, strong) NSString* mInfoWinLayoutKey;
85 @property (nonatomic) NSInteger mPreferredPlacement; // for info window enhancement
86 @property (nonatomic) int mEventType;
87 - (instancetype)init;
88 @end
89 
90 @interface GroupByContext : NSObject
91 @property (nonatomic) BOOL mNeedRedraw;
92 - (instancetype)init;
93 @end
94 
95 
96 // Manipulation Context Types: End
97 
99 {
100  int rowIndex; // current page first row's index inside all NGB leaf node
101  int rowCountPerPage; // row count in one page
102  DSSRWSectionIterator* topNGBIterator; // the top one of all the ngb node
103  DSSRWSectionIterator* topNGBAllIter; // the top one (set as "all") of all the ngb node
104 public:
106 };
107 
108 typedef enum _ManipulationType {
112 
113 typedef enum _VizLevel {
114  NoViz = 0,
117 } VizLevel;
118 
119 typedef enum{
125 
130 
131 // 765981 Added a return value for handle event to indicate whether subtree is recreated.
132 - (EventHandlingResult)handleEvent:(NSString *)ipEventName;
133 
134 @end
135 
136 @protocol IViewer;
137 @class MSIURLHelper, MSIDocumentContext, ViewerDataModel;
138 @class TransactionParameters;
140 
141 class DSSRWNode;
142 class DSSDocumentInstance;
143 class DSSActionObject;
144 class DSSBaseElementProxy;
145 class PropertyInfo;
146 class NodeAndControls;
147 class DSSCMacroManipulation;
148 @class TransactionParameters;
149 @class DocumentManipulation;
150 @class ManipulationContext;
151 
152 
154 @class TransactionSubmission;
156 
157 typedef std::map<std::string, std::vector<id<IViewer> __unsafe_unretained> > MapNodeKeyToViewers;
158 typedef std::map<std::string, std::string> MapNameToNodeKey;
159 typedef std::map<std::string, std::vector<id<IViewer> __unsafe_unretained> > MapNodeKeyToMasterViewers;
160 
161 @interface Commander : NSObject <MSICommanderDelegate>{
162  DSSDocumentInstance* docInstance;
163  MSIDocumentContext* docContext; // Strong reference
164  id<RWDDashboardDelegate> __weak delegate;
165  //std::vector<std::string> actionObjects;
166  //std::vector<bool> isAutoAction; // Indicate whether each action object in actionObjects array is an auto manipuation.
167 // MapNodeKeyToViewers mMapNodeKeyToViewers;
168 // MapNameToNodeKey mMapNameToNodeKey;
169 // MapNodeKeyToMasterViewers mMapNodeKeyToMasterViewers;//record the master views of the specific node key,TQMS 446038
170  NSString* baseURL;
171 
173 
174  UIView* __weak mRootViewContainer;
175  UIView* __weak mRWDDashBoardView;
178 
184  LinkDrillParameters* linkdrillParam;
187 
188  CGFloat groupbyHeight;
189  CGRect frameForView;
190 
194 
195  UIImage* __weak mpDefaultFailImage;
196 
197  // suppor iPhone full screen feature in landscape mode, by xliu
198  UIView* groupbyViewer;
200  BOOL forceUpdateSubviews; //To tell whether to call [super updateFrames] in the updateFrames method of LayoutContainderView.
202  BOOL isReport;
204 
205  BOOL disableGraphAnimation; //471154 Need to disable graph animation when rendering preview.
206 
208 
209  //layout level properties, later may define a class named LayoutContext to hold all layout level properties, by xliu, 3/21/2011
211  short vizLevel;
212 
213  //Group by selected element carry over feature for iPhone, by xliu, 4/6/2011
214  //NSMutableDictionary* groupbySelectedElements; //Key is the attribute id, value is the selected element id.
215 
216  //For Group by ALL optimization, by xliu, 5/6/2011.
217  NGBSelections mNGBSelections; //Note down the current NGB section viewers status, which row is currently shown.
219 
220  BOOL isAnyCommandRunning; // indicate whether there is any command is running
221  BOOL cancelInfoWindowPopping; // whether we need to cancel the popping of info window, for issue 508158, yzeng
222  GridGraphViewer* __weak mpGridGraphViewer;
223 
224  //for rotate
225  NSMutableDictionary* mpWidgetState;
227 
228  // For mobile VI
229  BOOL isVIDocument; // indicate whether this is a mobile VI document
231 
232  // for VI dark/light theme
234 
235  LayoutManagerViewer* __weak mLayoutManagerViewer; // weak reference
236  LayoutManagerController* __weak mLayoutManagerController; // weak reference
237 
238  // For document manipulation refactory
241  ManipulationContext* manipulationContext;
242 
243  //nli, SDK support
244  BOOL inSDKMode;
246  //CGFloat sdkScaleRatio;
247 
248  //nli, flags for preview generation in background thread
251 
252 
253  //nli, lock page header and footer
258  CGFloat layoutWidth;
259 
260  UIView* currentView;
261 
262 
264 
266  TransactionSubmission* transactionSubmission;
267 
270 
271  // for viewer status restore
272  NSMutableDictionary* mpViewerStatusDict;
273 
276 
278 }
279 
280 // Currently RWDDashboardDataViewer keeps strong reference to RWDDashboardView, and RWDDashboardView keeps strong
281 // reference to Commander. To avoid circular reference, we keeps weak reference here.
282 @property (nonatomic, weak) id<RWDDashboardDelegate> delegate;
283 @property (nonatomic, copy) NSString* baseURL;
284 @property (nonatomic) int webserverType;
285 //@property (nonatomic, assign) BOOL isInPortraitMode;
286 @property (nonatomic) BOOL enableGraphTooltips;
287 @property (nonatomic) CGFloat groupbyHeight;
288 @property (nonatomic) CGRect frameForView;
289 @property (nonatomic) short layoutBarStyle;
290 @property (nonatomic) short layoutBarPosition;
291 @property (nonatomic) bool enableZoomByPinchOrDoubleTap;
292 @property (nonatomic, strong) UIView* groupbyViewer;
293 @property (nonatomic) BOOL runAsReport;
294 @property (nonatomic) BOOL forceUpdateSubviews;
295 @property (nonatomic) BOOL hasLayoutBarPortrait;
296 @property (nonatomic) BOOL isReport;
297 @property (nonatomic, weak) UIImage* mpDefaultFailImage;
298 @property (nonatomic) BOOL isPostOrion;
299 @property (nonatomic) BOOL disableGraphAnimation;
300 @property (nonatomic, strong) ViewerDataModel* layoutContainerViewerModel;
301 @property (nonatomic) BOOL containWidget;
302 //@property (nonatomic, assign) short vizLevel;
303 //@property (nonatomic, assign, readonly) BOOL widgetFitToScreen;
304 @property (nonatomic) BOOL skipAddNGBSection;
305 @property (nonatomic, readonly) BOOL firstNGBRow;
306 @property (nonatomic, readonly) BOOL lastNGBRow;
307 @property (nonatomic, readonly) BOOL hasNGBAll;
308 @property (nonatomic) NGBAllBehaviorType NGBAllBehavior;
309 @property (nonatomic) BOOL isAnyCommandRunning;
310 @property (nonatomic) BOOL cancelInfoWindowPopping;
311 @property (nonatomic) bool isScrollingOrZooming;
312 @property (nonatomic) BOOL isVIDocument;
313 @property (nonatomic, assign) BOOL showFilterPanel;
314 @property (nonatomic) ThemeType mThemeType;
315 @property (nonatomic) BOOL isHTML5VIDocument; // MoblieVI includes two types: 1. isVIDocument && isHTML5VIDocument == true : HTML5VI; 2. isVIDocument && !isHTML5VIDocument == true : FlashVI.
316 @property (nonatomic, weak) LayoutManagerViewer* layoutManagerViewer;
317 @property (nonatomic, weak) LayoutManagerController* layoutManagerController;
318 @property (nonatomic) BOOL inSDKMode;
319 @property (nonatomic) BOOL isViewFitWidth;
320 @property (nonatomic) CGFloat sdkScaleRatio;
321 @property (nonatomic) BOOL inPreviewGeneration;
322 @property (nonatomic) BOOL previewCancelled;
323 @property (nonatomic) BOOL updatePreviewInMain;
324 @property (nonatomic, strong) UIView * dockedHeaderView;
325 @property (nonatomic, strong) UIView * dockedFooterView;
326 @property (nonatomic) BOOL mRenderingHeader;
327 @property (nonatomic) BOOL mRenderingFooter;
328 @property (nonatomic) CGFloat layoutWidth;
329 @property (nonatomic) BOOL inGBA;
330 @property (nonatomic) bool mEnableCopyForText;
331 @property (atomic) BOOL duringRWDDashboardViewFadeInAnimation; //when rotation, the layoutContainViewer will fade in rwddashboardView in iPhone. it will conflict with the image viewer fade in animation. So i add this var to indicate whether RWDDashboardView is during animation.
332 //DL;SDK WhatIf;06/12/2012;submit transaction with targetKeys
333 @property (nonatomic, weak)UIView* responderSelectableTextViewer;
334 @property (nonatomic, strong)LinkDrillParameters* linkdrillParam;
335 @property (nonatomic)BOOL isTableObjectNode;
336 @property (nonatomic)BOOL isVIDocumentChanged;//for mobile vi shanli
337 @property (nonatomic, weak)DocumentRenderer* documentRenderer;
338 @property (nonatomic)CGFloat documentScaleRatio;
339 @property (nonatomic)CGFloat documentScaleRatioVertical;
340 @property (nonatomic, strong)NSMutableSet * widgetSet;
341 @property (nonatomic)BOOL hasWidget;
342 @property (nonatomic, strong)CommandVectorWrapper* delayedCommands;
343 @property (nonatomic)BOOL needRescaleForiPhone6; // TQMS 977109 - auto fit iPhone 5 view for iPhone 6
344 @property (nonatomic, readonly)BOOL applyGroupByToAllLayouts;
345 @property (nonatomic)BOOL allowOfflineSubmit;
346 @property (nonatomic) BOOL submitInOrder;
347 @property (nonatomic, strong) PopoverContext * savedPopoverContext;
348 @property (nonatomic) BOOL isDossierPage;
349 
355 - (DSSCMacroManipulation *)getMacroManipulationWithResetToFirstPanelCommand:(const std::string &)irSelectorKey;
356 
361 - (void) notifyPanelStackResetToFirstPanel:(const std::string &) selectorKey;
362 
368 - (void) findAllPanelStackTargets:(DSSRWControl *)ipRWControl
369  withOutputs:(std::vector<DSSRWSectionNode *> &) vTargetNodes;
370 
376 - (void) findFirstPanelStackTargets:(DSSRWControl *)ipRWControl
377  withOutputs:(std::vector<DSSRWSectionNode *> &) vTargetNodes;
378 
384 - (BOOL) SynchWithSelectorFromPanelStack:(DSSRWSectionNode *) ipRWSectionNode
385  withIndex:(const int) iIdx;
386 
391 - (BOOL)isDockedPanelStackSelector:(NodeAndControls*)lControl;
392 
393 - (void)executeCommitTransactionWithTargetKeys:(NSArray*)targetKeys;
394 
395 - (void)setDocInstance:(DSSDocumentInstance *)instance;
396 - (DSSDocumentInstance*)getDocInstance;
397 
398 - (void)setDocContext:(MSIDocumentContext *)iDocContext;
399 
400 - (MSIDocumentContext *)getDocContext;
401 
402 - (NSArray*)getPaletteColors;
403 
404 - (void)registerViewer:(id<IViewer>)iViewer withNode:(DSSRWNode*)iNode;
405 
406 - (void)registerViewer:(id<IViewer>)iViewer forNodeKey:(std::string)iNodeKey;
407 
408 - (void)unregisterViewer:(id<IViewer>)iViewer;
409 
410 - (void)unregisterViewersWithNodeKey:(std::string)iNodeKey;
411 
412 - (void*)getCommandByType:(int)iType;
413 
414 - (std::vector<void*>)getAvailableCommandTypes:(void*)iCellHandle;
415 
416 //- (void)executeCommands:(std::vector<void*>)iCommands;
417 - (int)executeCommands:(const std::vector<Command*>&)iCommands;
418 - (int)executeCommands:(const std::vector<Command*>&)iCommands asyncExec:(BOOL)async;
419 - (int)executeCommands:(const std::vector<Command*>&)iCommands ShowWaitView:(BOOL)showWaitView;
420 - (int)executeCommands:(const std::vector<Command*>&)iCommands showWaitViewOnView:(UIView*)view;
421 
422 //- (std::string) getEventsString:(void *)command;
423 - (DSSBaseElementProxy*) getReplacedElement:(std::string)iNodeKey;
424 
425 - (MapNodeKeyToViewers*)getMapNodeKeyToViewers;
426 - (MapNodeKeyToMasterViewers*)getMapNodeKeyToMasterViewers;
427 
428 - (void)updatePreviewImages:(NSDictionary*)images;
429 
430 - (void)generatePreviewImage;
431 
432 - (void)setRootViewContainer:(UIView*)iRootViewContainer;
433 
434 - (UIView*)getRootViewContainer;
435 
436 - (void)setRWDDashBoardView:(UIView*)RWDDashBoardView;
437 
438 - (UIView*)getRWDDashBoardView;
439 
440 - (void)registerMasterView:(id<IViewer>)iViewer forNodeKey:(std::string)iNodeKey;
441 - (void)unregisterMasterViewer:(id <IViewer>)iViewer;
442 
443 - (void)hideAllInfoWindows:(BOOL)animated;
444 
445 // mzhu 2010-06-17
446 - (void)getImagesFromIServer:(NSArray*) iImagesArray forTimeStamp: (NSArray*) iImagesTimeStamp forAsync:(BOOL)ibAsync;
447 
448 - (void)setDisplayMode:(int)iDispalyMode;
449 
450 - (int)getDisplayMode;
451 
452 - (BOOL)isMultiSelectionMode;
453 
454 - (void)afterManipulation:(NSValue*)iValue;
455 
456 // for drill backward feature
457 - (void)beginReplayManipulation;
458 - (BOOL)replayManipulations:(NSArray*)events WithData:(NSData*)newData WithFlags:(unsigned int)flags;
459 - (BOOL)replayManipulation:(NSString*)events WithData:(NSData*)newData WithFlags:(unsigned int)flags;
460 - (void)replayDrillManipulation:(DrillXMLCommandParameters*)parameters WithData:(NSData*)newData;
461 - (void)endReplayManipulation:(BOOL)needRefresh;
462 - (void)executeLinkDrill:(LinkDrillParameters*) linkDrillParams;
463 - (BOOL)validateCacheExecuteLinkDrill:(LinkDrillParameters*) linkDrillParams;
464 - (BOOL)validateCacheHandleLinkDrill:(MSIURLHelper*) urlHelper;
465 - (void)handleLinkDrill:(MSIURLHelper*) urlHelper;
466 - (void)handleLinkDrill:(MSIURLHelper*) urlHelper withContext:(PopoverContext*)iContext;
467 - (void)handlePDF:(MSIURLHelper*) urlHelper;
468 - (void)handleEPUB:(MSIURLHelper*) _urlHelper;
469 - (void)handleEPUB:(MSIURLHelper*) _urlHelper withSender:(UIView *) iView;
470 - (void)handleActionSheet:(MSIURLHelper*)urlHelper;
471 - (void)handleURLSelection:(MSIURLHelper*)iUrlHelper;
472 
473 - (NSString*)getClientManipulations;
474 - (void)clearClientManipulations;
475 
476 //- (void)updateGroupbySelectedElementsWithAttribute:(NSString*)attributeId AndSelectedElement:(NSString*)elementId;
477 - (NSString*)getSelectedElementOfAttribute:(NSString*)attributeId;
478 - (void)enableInteraction:(BOOL)enabled;
479 
480 - (void)getEmptyGridDisplay:(NSString**) emptyMessage display:(BOOL*) displayEmptyMsg;
481 - (UIView*) getEmptyDisplayView:(NSString*) emptyMessage forFrame:(CGRect)viewFrame showDarkText:(BOOL)showDarkText;
482 - (void)afterBinaryApplied:(BOOL)iSuccess;
483 - (BOOL)isDuringBackward;
484 - (BOOL)isDisabledforShowPrompt;
485 - (void)setSavedPopoverContext:(PopoverContext *)iContext;
489 - (BOOL)hasNextPage;
493 - (BOOL)hasPreviousPage;
497 - (BOOL)goToNextPage;
501 - (BOOL)goToPreviousPage;
505 - (BOOL)isNGBSelectionsInited;
509 - (void)initNGBSelections:(DSSRWSectionIterator*)ipIterator;
513 - (BOOL)needReInitNGBSelections;
517 - (void)reinitNGBSelections;
521 - (void)clearNGBSelectionsAllFields;
525 - (void)getCurrentPageIndex:(int&)iCurrentPageIndex totalPageCount:(int&)iTotalPagesCount;
529 - (void)updateNGBSelectionAfterRotation;
533 - (BOOL)isLeafNGBNode:(DSSRWNode*)ipRWNode;
537 - (int)getNGBFirstRowIndexInCurrentPage;
538 
539 //For zooming, by yzeng, 9/26/2011.
540 //- (void) setContentScaleFactorOnDemandToViews:(UIView*) iView;
541 - (void) setContentScaleFactorOnDemandToViews:(UIView*) iView rootView:(UIView*) iRootView;
542 - (void) setContentScaleFactorOnDemandToViews:(UIView*) iView rootView:(UIView*) iRootView informView:(BOOL)inform;
543 //- (float)getZoomScale;
544 - (void) restoreZoomForBackOperation;
545 - (void) zoomDashboardToScale:(CGFloat)iScale;
546 
547 //incremental download
548 - (void) requestMissingBinaryBlock:(NSString*) iLayoutKey;
549 - (BOOL)requestLayoutData:(DSSRWNode*)iRWNode withHandler:(id<BinaryRetrievalHandler>)iHandler withSelector:(SEL)callbackFunction;
550 
551 - (void) showWaitViewOnTop;
552 - (void) dismissWaitViewOnTop;
553 - (void)dataModelCreationFailed;
554 - (void)hideMasterPanel:(BOOL)disable;
555 - (void)showMasterPanel;
556 
557 //Offline transaction support
558 - (void)restoreDetailedTransactionModel:(TransactionParameters*)iTransactionParameters;
559 - (void)restoreDetailedTransactionArray:(NSArray*)iTransactionDetails;
560 - (NSArray*)getDetailedTransactionData;
561 
562 - (GridGraphViewer*)getGridGraphViewerForReport;
563 
564 //TQMS 511934: Hide/show navigation bar right item when drill radar shows/disappears
565 -(void) hideRightNavigationBarButtons;
566 -(void) showRightNavigationBarButtons;
567 
568 //for widget rotating
569 - (void) saveWidgetStateWithObject:(id)obj forKey:(id)key;
570 - (id) loadWidgetStateForKey:(id)key;
571 
572 // save or load widget state, for common use
573 - (void)saveWidgetState:(id)obj forKey:(id)key;
574 - (id)loadWidgetState:(id)key;
575 
576 // carry over selections during link drill
577 - (CarryOverSelectionsSet*)carryOverSelections;
578 - (CarryOverSelectionsSet*)carryOverSelectionsWithMode:(CarryOverSelectedMode)mode withPromptMode:(BOOL)promptMode currentPrompt:(NSString *)currentPrompt;
579 
586 - (BOOL) replayCarryOverSelections:(CarryOverSelectionsSet*)selections refreshUI:(BOOL)refresh;
587 - (id) replayCarryOverPrompts:(CarryOverSelectionsSet*)selections withPromptQuestionXML:(NSData*)promptQestion withPrompts:(id)data;
588 
589 // for transaction in photo uploader widget
590 - (void)photoUploadImageChange:(const std::vector<Command*>&)iCommands nodeKey:(NSString*)ipNodeKey imgPath:(NSString*)ipImgPath;
591 
592 //for TQMS 833232
593 - (void)photoUploadImageChange:(const std::vector<Command*>&)iCommands nodeKey:(NSString*)ipNodeKey imgPath:(NSString*)ipImgPath shouldReplacePreImage:(BOOL) replace;
594 
595 // for offline transaction in photo uploader widget
596 - (void)photoUploadImageChange:(NSString*)ipNodeKey imgPath:(NSString*)ipImgPath;
597 
598 //new API for TQMS 833232
599 - (void)photoUploadImageChange:(NSString *)ipNodeKey imgPath:(NSString *)ipImgPath shouldReplacePreImage:(BOOL) replace;
600 
601 //DL;SDK;12/11/2012;SDK transaction support
607 -(DSSRWIterator*) getDSSRWIteratorForTransactionReport:(NSString*)transactionReportID;
608 
609 // Add this function definition for clearing warning by Nan Jiang, 08/07/2012
610 - (void) refreshInstanceWithData:(NSData*)newData;
611 
612 // Get the panel node from an panelSelection url.
613 - (std::vector<DSSRWSectionNode*>)getPanelNodeFromPanelSelectionURLHelper:(MSIURLHelper*) iUrlHelper;
614 - (BOOL)checkForTransactionUpdate;
615 
616 - (ManipulationContext *)getManipulationContext;
617 - (void)setManipulator:(DossierPageManipulator *)manipulator;
618 - (NSString *)dossierId;
619 - (void)setChangeLayoutButtonEnabled:(BOOL)enabled;
620 
621 #pragma mark -
622 #pragma mark Mobile rotation
623 
624 - (NSInteger) chooseDocumentViewForInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
625 - (BOOL)shouldCancelRendering;
626 @property (nonatomic) NSInteger currentDocumentView;
629 - (NSUInteger)getNumberOfDocumentViews;
630 - (CGSize)getCurrentDocumentViewLogicalSize;
631 
632 
633 //by lishan stats log
634 - (void)handleRenderFinishTime:(NSDate *)date;
635 
636 
637 - (CGRect) updateRootViewerContainerFrame: (CGRect)frame;
638 - (CGFloat) getHeaderSectionYOffset;
639 - (double) getDockedHeaderHeight;
640 - (double) getDockedFooterHeight;
641 - (CGFloat) getCalGroupbyHeight;
642 - (UIView *) checkIfInDockedSection:(UIView *)view;
643 - (BOOL)isViewerDocked:(UIView*)view;
644 // for info window enhancement
645 - (MapNameToNodeKey*) getMapNameToNodeKey;
646 //TQMS 675461, expose an API for viewer to disable the iPhone layout bar. By xliu, 2/20/2013.
647 - (void)disableIPhoneLayoutBar:(BOOL)disable;
648 
649 -(NSArray*)getAllDataSetIDs;
650 -(NSDictionary*)getDatasetPromptAnswers;
651 
652 // for Mobile VI
658 - (NSString*) getCurrentVisualizationContentPanelStackKey;
662 - (NSString*) getVisualizationContentPanelStackKeyForLayout:(NSString*)iLayoutKey;
666 - (void) setVisualizationContentPanelStackKey:(NSString*)iVIContentPanelStackKey forLayout:(NSString*)iLayoutKey;
670 - (void) removeVisualizationContentPanelStackKeyForLayout:(NSString*)iLayoutKey;
674 - (NSString*) getCurrentLayoutKey;
675 
676 
677 //for new ui navigation bar
678 - (NSArray *) getAllLayoutNames;
679 
680 - (NSArray *) getAllLayoutKeys;
681 
682 - (NSString*) getCurrentLayoutName;
683 
684 - (BOOL)isFullScreen;
685 
686 - (BOOL) hasNavigationTabBar;
687 
688 -(DocumentThemeHelper*) documentThemeHelperWithComponentKey:(NSString*)componnetKey;
692 - (NSData*)getViewersStatus;
700 - (int)replayViewersStatus:(NSData*)iData;
704 - (NSData*)getSavedViewerStatus:(NSString*)iViewerID;
705 
706 - (void) increaseWidgetCount:(id)viewer;
707 - (void) decreaseWidgetCount:(id)viewer;
708 
709 - (NSString*)documentName;
710 - (NSString*)documentID;
711 
712 - (void)viewEvaluationFinish;
713 
714 /*
715  * Get document level color by item index;
716  */
717 - (NSInteger)getColorByItemIndexByColorByString:(NSString*) colorByItemString;
718 
726 - (CATransform3D)getRescaleTransformForIPhone6:(CGFloat)originHeight
727  isLandscape:(BOOL)isLandscape
728  isFullscreenDoc:(BOOL)isFullscreen
729  extraOccupiedHeight:(CGFloat)extraOccupiedHeight;
730 
734 - (NSArray*)getViewerChangedListAfterManipulation;
735 
736 // Mobile Export
737 - (BOOL)isExporting;
738 - (void)handleWillQuitExport:(void (^)())handler;
739 
740 - (bool)shouldDismissIW:(InfoWindowContainerViewer *)infoWindow withURLHelper:(MSIURLHelper *)urlHelper;
741 
742 @end
743 
745 //View side will call saveAsVIDocument: to send save as reqeust from controller
746 - (void) saveAsVIDocument:(NSString*)folderID andDocName:(NSString*)docName andDocDesc:(NSString*)docDescription andSFlag:(EnumDSSXMLDocSaveAsFlags)flag;
747 - (void) createNewFolder:(NSString*)parentFolderID andFolderName:(NSString*)folderName andFolderDesc:(NSString*)folderDescription;
751 - (void) handleBrushingHighlightForVI:(BrushingHighlightData *)highlightData; // Moved to here by wenzhou, 05/18/2015. To avoid warning "Category is implementing a method which will also be implemented by its primary class".
752 @end
753 
754 
755 
756 @interface CommandVectorWrapper : NSObject
757 @property (nonatomic) std::vector<Command*> mCommands;
758 @end
ThemeType mThemeType
Definition: Commander.h:233
std::map< std::string, std::vector< id< IViewer > __unsafe_unretained > > MapNodeKeyToViewers
Definition: Commander.h:155
CGFloat layoutWidth
Definition: Commander.h:258
BOOL isVIDocument
Definition: Commander.h:229
BOOL mRenderingFooter
Definition: Commander.h:257
BOOL cancelInfoWindowPopping
Definition: Commander.h:221
Definition: MicroStrategyMobileSDK-Swift.h:3306
Definition: DocumentManipulation.h:42
NSString * baseURL
Definition: Commander.h:170
BOOL disableGraphAnimation
Definition: Commander.h:205
NSMutableDictionary * mpViewerStatusDict
Definition: Commander.h:272
ManipulationType previousManipulationType
Definition: Commander.h:183
enum _ManipulationType ManipulationType
Definition: Commander.h:110
void * mCommand
Definition: Commander.h:67
bool mUseNewWorkflow
Definition: Commander.h:239
Definition: Commander.h:122
BOOL allowOfflineSubmit
Definition: Commander.h:274
NSMutableDictionary * mpWidgetState
Definition: Commander.h:225
Command * asyncCommand
Definition: Commander.h:179
instancetype init()
Definition: IViewer.h:14
EnumDSSXMLDocSaveAsFlags
Definition: DSSIPhoneEnums.h:3503
Definition: Commander.h:54
UIImage *__weak mpDefaultFailImage
Definition: Commander.h:195
Definition: Commander.h:98
BOOL skipAddNGBSection
Definition: Commander.h:218
int drillType
Definition: Commander.h:181
MSIURLHelper * urlHelper
Definition: Commander.h:185
BOOL previewCancelled
Definition: Commander.h:249
Definition: DrillXMLCommandParameters.h:12
std::map< std::string, std::string > MapNameToNodeKey
Definition: Commander.h:158
EnumCommandViewerType mViewerType
Definition: Commander.h:72
Definition: RWDDashboardDelegate.h:38
Definition: Commander.h:110
Definition: Commander.h:60
UIView *__weak mRWDDashBoardView
Definition: Commander.h:175
Definition: Commander.h:90
_ManipulationType
Definition: Commander.h:108
BOOL mApplyGroupByToAllLayouts
Definition: Commander.h:269
Definition: Commander.h:66
short vizLevel
Definition: Commander.h:211
Definition: Commander.h:744
UIView *__weak mRootViewContainer
Definition: Commander.h:174
CGRect frameForView
Definition: Commander.h:189
Definition: Commander.h:114
BOOL isPostOrion
Definition: Commander.h:203
BOOL isTableObjectNode
Definition: Commander.h:265
Definition: MicroStrategyMobileSDK-Swift.h:7625
Definition: Commander.h:123
Definition: CarryOverSelectionsSet.h:9
EnumCommandContextType
Definition: Commander.h:57
enum _VizLevel VizLevel
NGBSelections()
Definition: Commander.h:105
DSSDocumentInstance * docInstance
Definition: Commander.h:162
Definition: Commander.h:43
DSSRWSectionIterator * topNGBIterator
Definition: Commander.h:102
EnumInfoWindowEventType
Definition: Commander.h:49
TransactionSubmission * transactionSubmission
Definition: Commander.h:266
Definition: Commander.h:110
Definition: ViewerDataModel.h:19
Definition: Commander.h:120
Definition: Commander.h:52
UIView * groupbyViewer
Definition: Commander.h:198
UIView * currentView
Definition: Commander.h:260
BOOL inSDKMode
Definition: Commander.h:244
GridGraphViewer *__weak mpGridGraphViewer
Definition: Commander.h:222
DocumentManipulation * documentManipulation
Definition: Commander.h:240
short layoutBarStyle
Definition: Commander.h:191
int webserverType
Definition: Commander.h:172
BOOL mRenderingHeader
Definition: Commander.h:256
BOOL hasLayoutBarPortrait
Definition: Commander.h:201
Definition: Commander.h:115
DossierPageManipulator * pageManipulator
Definition: Commander.h:277
MSIDocumentContext * docContext
Definition: Commander.h:163
Definition: Commander.h:79
BOOL isReport
Definition: Commander.h:202
id mContext
Definition: Commander.h:69
CGFloat groupbyHeight
Definition: Commander.h:188
Definition: Commander.h:129
BOOL mIsNGBNeedRestored
Definition: Commander.h:268
BOOL waitForPreviousManipulation
Definition: Commander.h:182
NSDictionary * extraInfo
Definition: Commander.h:73
Definition: Commander.h:121
Definition: Commander.h:109
EnumReplayManipulationsFlags
Definition: Commander.h:41
LayoutManagerViewer *__weak mLayoutManagerViewer
Definition: Commander.h:235
BOOL containWidget
Definition: Commander.h:210
BOOL inPreviewGeneration
Definition: Commander.h:250
id< RWDDashboardDelegate > __weak delegate
Definition: Commander.h:164
int rowIndex
Definition: Commander.h:100
Definition: Commander.h:61
UIView * dockedHeaderView
Definition: Commander.h:254
BOOL noSync
Definition: Commander.h:74
bool mIsAutoManipulation
Definition: Commander.h:71
BOOL submitInOrder
Definition: Commander.h:275
bool enableZoomByPinchOrDoubleTap
Definition: Commander.h:193
NGBSelections mNGBSelections
Definition: Commander.h:217
Definition: Commander.h:59
BOOL forceUpdateSubviews
Definition: Commander.h:200
BOOL isAnyCommandRunning
Definition: Commander.h:220
Definition: Commander.h:53
Definition: Commander.h:116
NGBAllBehaviorType
Definition: Commander.h:119
Definition: Commander.h:110
BOOL enableGraphTooltips
Definition: Commander.h:177
LinkDrillParameters * linkdrillParam
Definition: Commander.h:184
Definition: Commander.h:45
Definition: Commander.h:44
BOOL isViewFitWidth
Definition: Commander.h:245
short layoutBarPosition
Definition: Commander.h:192
Definition: Commander.h:46
enum _ThemeType ThemeType
LayoutManagerController *__weak mLayoutManagerController
Definition: Commander.h:236
enum _EventHandlingResult EventHandlingResult
BOOL isInPortraitMode
Definition: Commander.h:176
Definition: DocumentThemeHelper.h:12
int mContextType
Definition: Commander.h:70
ViewerDataModel * layoutContainerViewerModel
Definition: Commander.h:207
Definition: MSIURLHelper.h:25
BOOL runAsReport
Definition: Commander.h:199
UIView * dockedFooterView
Definition: Commander.h:255
_VizLevel
Definition: Commander.h:113
DSSRWSectionIterator * topNGBAllIter
Definition: Commander.h:103
PopoverContext * popoverContext
Definition: Commander.h:186
std::map< std::string, std::vector< id< IViewer > __unsafe_unretained > > MapNodeKeyToMasterViewers
Definition: Commander.h:159
BOOL showFilterPanel
Definition: Commander.h:230
NSInteger mCurrentDocumentView
Definition: Commander.h:226
int rowCountPerPage
Definition: Commander.h:101
Definition: Commander.h:51
int mCommandType
Definition: Commander.h:68
DrillXMLCommandParameters * drillXMLCommandParams
Definition: Commander.h:180
enum _CarryOverSelectedMode CarryOverSelectedMode
Definition: Commander.h:161
Definition: Commander.h:756
BOOL duringNormalManipulation
Definition: Commander.h:263
ManipulationContext * manipulationContext
Definition: Commander.h:241