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