InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ILayoutUIUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bernd Paradies
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __ILayoutUIUtils__
25 #define __ILayoutUIUtils__
26 
27 
28 #include "LayoutID.h"
29 #include "IPMUnknown.h"
30 #include "Utils.h"
31 
32 #include "PMRect.h"
33 #include "ILayoutControlData.h"
34 #include "ISnapTo.h" // SnapType
35 #include "UIDRef.h"
36 #include "PMMatrix.h"
37 #include "UIDList.h"
38 #include "HitTestDragConstants.h"
39 #include "IDocumentPresentation.h"
40 #include "IInterfaceColors.h"
41 
42 class IControlView;
43 class IDocument;
44 class ISpread;
45 class IWindow;
46 class IViewPort;
47 class IHierarchy;
48 class IMargins;
49 class IColumns;
50 class IMasterSpreadList;
52 class IRulerData;
53 class IGraphicsContext;
55 class IPanorama;
56 class ISpreadList;
57 class ICommand;
58 class ILayoutData;
59 class ISnapTo;
60 class IWorkspace;
61 class IFrameList;
62 class IUIDListData;
64 class IShape;
65 
67 class ILayoutUIUtils : public IPMUnknown
68 {
69 public:
70  enum { kDefaultIID = IID_ILAYOUTUIUTILS };
71 
86  };
87 
92  virtual IControlView* QueryFrontView() = 0;//SEIssue <sheridan>
93 
97  virtual IDocument* GetFrontDocument() = 0;//SEIssue <sheridan>
98 
103  virtual IDocumentPresentation* CreateNewLayoutPresentation(IDataBase* whichDoc, IDocumentPresentation::CreationParentingPrefs parentPref = IDocumentPresentation::kDefaultParentingPref, const IDocumentPresentation *relative = NULL) = 0;
104 
109  virtual ICommand* CreateNewLayoutPresentationCmd(IDataBase* whichDoc = 0) = 0;
110 
114  virtual bool IsLayoutPresentation(IDocumentPresentation *inPresentation) = 0;
115 
124  virtual ILayoutControlData* QueryLayoutData(IPMUnknown *inPresentation) = 0;//SEIssue <sheridan>
125 
132  virtual ILayoutControlData* QueryFrontLayoutData() = 0;//SEIssue <sheridan>
133 
134  /*
135  virtual IViewPort* QueryViewPort(IPMUnknown *vmBoss) = 0;
136  // Query for the viewmaster, then query for the
137  // requested viewport type.
138  */
139 
144  virtual bool16 IsApplicationInNoPubWindowState() = 0;
145 
150  virtual bool16 GetUIDocumentWindowCount() = 0;//SEIssue <sheridan>
151 
152 
161 // virtual IMargins* QueryFrontMargins(int32 whichPage = 0, ISpread* currentSpread = nil) = 0;//SEIssue <sheridan>
162 
171 // virtual IColumns* Query_FrontColumns(int32 whichPage = 0, ISpread* currentSpread = nil) = 0;//SEIssue <sheridan>
172  // Return the columns of the spread associated with the frontmost layout window, or the
173  // indicated spread if the optional argument is used.
174 
182  virtual void GetSelectedPages(UIDList& pageUIDList, bool16 bIncludeMasters = kTrue, bool16 bCurrentPageOnly = kFalse, bool16 bPagesOnly = kTrue) = 0;
183 
186  virtual UID GetPageUIDFromWidget(IControlView* view, IDocument* iDocument) = 0;
187 
190  virtual void SetPageUIDForWidget(IControlView* view, const UIDRef& pageRef) = 0;
191 
197  virtual IWorkspace* QueryActiveWorkspace() = 0;
198 
205  virtual UID GetVisiblePageUID(IControlView* layoutView, IGeometry* spreadGeometry = nil) = 0;
206 
212  virtual UID GetVisibleSpreadUID(IControlView* layoutView, ISpreadList* spreadList) = 0;
213 
219  virtual UID GetVisibleMasterSpreadUID(IControlView* layoutView, IMasterSpreadList* masterList) = 0;
220 
222  virtual void EnableUpdateAllDocumentViews() = 0;
224  virtual void DisableUpdateAllDocumentViews() = 0;
228  virtual void InvalidateViews (IDocument* iDoc) = 0;
229 
234  virtual void SetPathSelectionMode(bool16 isPathSelected) = 0;
235 
239  virtual bool16 GetPathSelectionMode() = 0;
240 
251  virtual ICommand* MakeScrollToSpreadCmd(IControlView *controlView, IGeometry* spreadGeometry = nil, bool16 bMakeVisibleSpreadActive = kTrue) = 0;
252 
260  virtual PMReal GetNextZoomFactor(IControlView* controlView, bool32 zoomIn, bool32 adjustForMonitorPPI = kTrue) = 0;
261 
267  virtual PMReal GetNextZoomValue(PMReal currentZoom, bool32 zoomIn) = 0;
268 
274  virtual ICommand* MakeZoomInCmd(IControlView *controlView, bool16 bJustZoomToPoint = kTrue) = 0;
275 
281  virtual ICommand* MakeZoomOutCmd(IControlView *controlView, bool16 bJustZoomToPoint = kTrue) = 0;
282 
299  virtual ICommand* MakeZoomCmd(IControlView *controlView, PMReal zoomPct,
300  ILayoutControlData::FitSetting fit = ILayoutControlData::kFitNone,
301  bool16 bJustZoomToPoint = kTrue, PMPoint pt = kZeroPoint,
302  bool16 bMakeVisibleSpreadActive = kTrue) = 0;
303 
313  virtual ISnapTo* QueryAndPrepareSnapToForSpread(IControlView* controlView, ISpread* spread, const UIDList* itemList,
314  const UIDRef& originalSpread, PBPMPoint originalPoint) = 0;
315  // traverse up the hierarchy looking for one of the specified interfaces
316 
323  virtual IPMUnknown* QueryWidgetParentFor( IPMUnknown *pUnknown, const PMIID &rIID ) = 0;
324 
332  virtual SnapType ConstrainPointForSnapping(PMPoint& toHere, const PMPoint& originalPoint, bool16 shiftDown, const PMReal& zoomPct) = 0;
333 
338  virtual bool16 AreSelectedPageItemsVisible(IControlView* controlView) = 0;
339 
344  virtual bool16 IsCurrentSpreadVisible(IControlView* controlView) = 0;
345 
351  virtual IRulerData* QueryHorzRulerData (IPMUnknown* layoutView) = 0;
352 
358  virtual IRulerData* QueryVertRulerData (IPMUnknown* layoutView) = 0;
359 
374  (
375  const PMPoint& pbPtIn,
376  IRulerData* iHorzRuler,
377  IRulerData* iVertRuler,
378  const PMMatrix& pbtoview
379  ) = 0;
380 
390  (
391  const PMRect& pbRectIn,
392  IRulerData* iHorzRuler,
393  IRulerData* iVertRuler,
394  const PMMatrix& pbtoview
395  ) = 0;
396 
409  (
410  const GSysPoint& inGlobalPoint,
411  IControlView* layoutView
412  ) = 0;
413 
420  virtual PBPMPoint GlobalToPasteboard(IControlView* controlView, const GSysPoint& thePoint) = 0;
421 
422 
432  virtual PMRect GetViewedSpreadsBounds(IControlView* layoutView) = 0;
433 
438  virtual UIDList GetVisibleSpreads(IControlView* layoutView) = 0;
439 
445  virtual UIDList GetVisibleSpreads(IControlView* layoutView, const PMRect& viewBounds) = 0;
446 
447 
453  enum SpreadVisibility { kSpreadIsNotVisible, kSpreadIsPartiallyVisible, kSpreadIsCompletelyVisble};
454  virtual SpreadVisibility IsSpreadVisible( ILayoutControlData* layout, ISpread* spread) = 0;
455 
456 
457 
465  virtual UID GetVisibleMCFrames(IControlView* layoutControlView, IFrameList* frameList, UIDList& visibleMCTextFrames) = 0;
466 
467 
472  virtual void MakeVisibleSpreadActive(IControlView* controlView) = 0;
473 
481  virtual void DrawFloor(IGraphicsContext* gc, IDocument* theDocument, const PMRect& viewBounds, const UIDList& visibleSpreads) = 0;
482 
486  virtual bool16 CanDisplayTransformDialog() = 0;
487 
491  virtual bool16 CanDisplayMoveDialog() = 0;
492 
495  virtual void CloseDialogWindow() = 0;
496 
505  virtual void FillListWithHyperlinkDestinations(IStringListControlData *stringList, IDataBase *db, UIDList *uids,
506  K2Vector<ClassID> *bossList, IncludeOptions includeOptions = includeVisibleOnly,
507  bool16 bSorted = kFalse) = 0;
508 
509 
510 
517  virtual PMReal GetNewScaleFactor(const PMRect& rect, IControlView *controlView) = 0;
518 
524  virtual bool16 IsPreviewOn(IPMUnknown* layoutView) = 0;
525 
529  virtual void AddNewPage() = 0;
530 
542 // virtual void AdjustPointPosition(PMPoint& pointPos, ISpread* currentSpread) = 0;
543  // replace calls with: pointPos -= Utils<ITransformUpdateUtils>()->PasteboardZeroPoint( currentSpread, pointPos);
544 
545 
551  virtual PMPoint GetMousePasteboardPosition(const SysPoint& globalLocation, IControlView* iCurrentView) = 0;
552 
570  virtual IUIDListData *QueryHitTestResultsByUIDList(IPMUnknown *owner, const PBPMPoint *pWherePt, const PMRect *pWhereRect, const ClassID handlerClass, UIDList *pTheSpreads, int16 tolerance = kHitTestTolerance, bool16 bVisibleSpreads = kFalse, bool16 bUsePt = kTrue, bool16 bUseXform = kTrue, bool16 bFinishChildren = kFalse ) = 0;
571 
587  virtual IPMUnknown *QueryInterfaceUsingHitTest(IPMUnknown *owner, const PBPMPoint *pWherePt, const PMRect *pWhereRect, const ClassID handlerClass, const PMIID& interfaceID, int16 tolerance = kHitTestTolerance, bool16 bVisibleSpreads = kFalse, bool16 bUsePt = kTrue ) = 0;
588 
589 
596  virtual ClassID GetHitTestFlagsToHandlerBoss(const int32 selectionMode) = 0;
597 
601  virtual bool16 IsPresentationMode(IDocumentPresentation * documentPresentation = nil) = 0;
602 
606  virtual void HandleAction(ActionID actionID) = 0;
607 
614  virtual UIDRef GetHitLockedItemAdornment(IControlView * layoutView, PMPoint mouse, bool16 onlySelectedItems=kFalse) = 0;
615 
621  virtual UIDRef GetHitLinkedItemAdornment(IControlView * layoutView, PMPoint mouse) = 0;
622 
628  virtual UIDRef GetHitMissingFontFormItemAdornment(IControlView * layoutView, PMPoint mouse) = 0;
629 
633  virtual void TogglePresentationMode(IDocumentPresentation &documentPresentation) = 0;
634 
639  virtual void SetPresentationBackgroundColor(int32 stockColor, IDocumentPresentation& documentPresentation) = 0;
640 
643  virtual void HandlePresentationHideCursor() = 0;
644 
647  virtual void StartCursorHideTimer() = 0;
648 
651  virtual void StopCursorHideTimer() = 0;
652 
653 
657  //virtual void DoSWFPreview(ISWFPreviewPreferences::SWFPreviewType const previewMode) = 0;
658 
659 #ifdef DEBUG
660  virtual void CmdUIObjectCheck( const PMString &offender ) = 0;
661  virtual void SetQueryUIObjectOK( bool16 bOK ) = 0;
662  virtual bool16 IsQueryUIObjectOK() const = 0;
663 #endif
664 
668  virtual void InvalidateAllDocumentViews() = 0;
669 
670  typedef enum
671  {
672  kMixed,
673  kURL,
674  kFile,
675  kEmail,
676  kBookmark,
677  kPage,
678  kShared,
679  kParagraph,
680  kUnknownDestinationType
681  } DestinationSelectionType;
682 
688  virtual DestinationSelectionType GetDestinationSelectionTypeWithDest(IHyperlinkDestination * dest, bool16 isExternal) = 0;
689 
693  virtual const UID GetCurrentVisiblePage() = 0;
694 
698  virtual void InvalidateShapeGraphixCache(IDocument* iDoc) = 0;
699 
703  virtual void InvalidateShapeGraphixCache(IShape* iShape) = 0;
704 
708  virtual void AddNewPageAfterSpecifiedPage(const UID pageUID) = 0;
709 
714  virtual bool16 IsAcceleratedDrawing(IPMUnknown* layoutView) const = 0;
715 
720  virtual RealAGMColor GetPasteboardBorderColor(IControlView* view) const = 0;
721 
726  virtual RealAGMColor GetDocumentBorderColor(IControlView* view) const = 0;
727 
728 };
729 
730 #endif // __ILayoutUIUtils__