/** The Init method has to be called from the outside directly afteranewobjectofthisclasshasbeencreated.Itcanbe usedforthatpartoftheinitialisationthatcanberunonly afterthecreationofthenewobjectisfinished.This includesregistrationaslistenerateventbroadcasters.
/** The Exit() method has to be called before the destructor so that the viewshellisstillavalidobjectandcansafelycallmethodsthat relyonthat.
*/ voidExit();
void Cancel();
/** Return the window that is the parent of all controls of this view shell.Thismayormaynotbethewindowoftheframe.
*/
vcl::Window* GetParentWindow() const { return mpParentWindow; }
/** The active window is usually the mpContentWindow. When there is a showrunningthentheactivewindowisaShowWindow.
*/
::sd::Window* GetActiveWindow() const { return mpActiveWindow;}
SD_DLLPUBLIC weld::Window* GetFrameWeld() const;
/** Set the active window. When the shell is displayed in the center panethenthewindowoftheViewShellBaseisalsosettothegiven window.
*/ void SetActiveWindow (::sd::Window* pWindow);
/** Return the rectangle that encloses all windows of the view. That excludesthecontrolsintheframelikerulers,scrollbars,tab bar,andbuttons. @return Therectangleisreturnedinscreencoordinates,i.e.pixel valuesrelativetotheupperleftcornerofthescreen?.
*/ const ::tools::Rectangle& GetAllWindowRect();
/** this method is called when the visible area of the view from this viewshell is changed */ virtualvoid VisAreaChanged(const ::tools::Rectangle& rRect);
virtualvoid SwitchViewFireFocus( const css::uno::Reference< css::accessibility::XAccessible >& xAcc ); void SwitchActiveViewFireFocus( ); // Move these two methods from DrawViewShell to enable slide show view void NotifyAccUpdate(); void fireSwitchCurrentPage(sal_Int32 pageIndex); void SetWinViewPos(const Point& rWinPos);
Point const & GetWinViewPos() const;
Point const & GetViewOrigin() const;
/** Return the window updater of this view shell. @return Inrarecircumstancesthereturnedpointermaybe<null/>, i.e.whennomemoryisavailableanymore.
*/
::sd::WindowUpdater* GetWindowUpdater() const;
/** Return the border that is drawn around the actual document view. Thebordercontainstypicallyrulersandscrollbars.
*/
SvBorder GetBorder();
/** Notify the view shell that its parent window has been resized. TheViewShellplacesandresizesitsUIelementsaccordingly. Thenewsizecanbeobtainedfromtheparentwindow.
*/ virtualvoid Resize();
/** Set position and size of the GUI elements that are controlled by theviewshelllikerulersandscrollbarsaswellastheactual documentviewaccordingtothepositionandsizethatweregiven withthelastResize()call.
*/ virtualvoid ArrangeGUIElements();
// virtual void OuterResizePixel(const Point &rPos, const Size &rSize); // virtual void InnerResizePixel(const Point &rPos, const Size &rSize);
// Exported for unit test
SD_DLLPUBLIC ViewShellBase& GetViewShellBase() const;
/** Return <TRUE/> when the called view shell is the main sub shell of itsViewShellBaseobject,i.e.isdisplayinthecenterpane.This conveniencefunctionisequivalenttocomparingthethispointerto theresultofViewShellBase::GetViewShell(PT_CENTER).
*/ bool IsMainViewShell() const;
/** Set or reset the flag that indicates whether the called shell is the onedisplayedinthecenterpane.Bydefaultthisflagissetto <FALSE/>.Forthemainviewshellitthushastobesetto<TRUE/>.
*/ void SetIsMainViewShell (bool bIsMainViewShell);
/** Return a sub controller that implements the view shell specific partoftheDrawController.
*/ virtual css::uno::Reference<css::drawing::XDrawSubController> CreateSubController() = 0;
/** Return the type of the shell.
*/
SD_DLLPUBLIC ShellType GetShellType() const; //Export for unit test
/** This method is more or less an alias to Deactivate(). It is called beforeanobjectofthisclassistakenfromthestackofview shells.
/** Show controls of the UI or hide them, depending on the given flag. Asaresulttheborderisadapted.
*/ virtualvoid ShowUIControls (bool bVisible); bool IsPageFlipMode() const; bool CanPanAcrossPages() const;
/** Set the given window as new parent window. This is not possible for allviews,sothereturnvaluetellsthecalleriftherelocation wassuccessful.
*/ virtualbool RelocateToParentWindow (vcl::Window* pParentWindow);
/** Depending on the given request create a new page or duplicate an existingone.Anewpageiscreatedbehindthegivenslide. @paramrRequest TherequestaspassedtoanExecute()method.Itsargumentsare evaluated.Itsslotiddetermineswhethertocreateor duplicateaslide. @parampPage Thispageiseitherduplicatedorbecomesthepredecessorofthe newslide.IfNULLaduplicationrequestisignored.Anew slideisinsertedasfirstslide. @paramnInsertPosition When-1(thedefault)theninsertafterpPage.Otherwiseinsert beforethegivenindex(ofastandardpage). @return Thenewslideisreturned.Ifforsomereasonanewpagecan notbecreatedthenNULLisreturned.
*/ virtual SdPage* CreateOrDuplicatePage (
SfxRequest& rRequest,
PageKind ePageKind,
SdPage* pPage, const sal_Int32 nInsertPosition = -1);
/** Called by sd::Window::LoseFocus to enable sd::ViewShell to take action whenfocusislost.
/// Allows adjusting the point or mark of the selection to a document coordinate. void SetCursorMm100Position(const Point& rPosition, bool bPoint, bool bClearMark); /// Gets the current selection
css::uno::Reference<css::datatransfer::XTransferable> GetSelectionTransferable() const; /// Allows starting or ending a graphic move or resize action. void SetGraphicMm100Position(bool bStart, const Point& rPosition);
class Implementation;
protected: /** must be called in the beginning of each subclass d'tor.
disposes and clears both current and old function. */ void DisposeFunctions();
friendclass ViewShellBase;
/** Window inside the rulers and scroll bars that shows a view of the document.
*/
VclPtr<sd::Window> mpContentWindow;
/// Horizontal scroll bar for the current slide is displayed when needed.
VclPtr<ScrollAdaptor> mpHorizontalScrollBar; /// Vertical scroll bar for whole document is always visible.
VclPtr<ScrollAdaptor> mpVerticalScrollBar; /// Horizontal ruler is not shown by default.
VclPtr<SvxRuler> mpHorizontalRuler; /// Vertical ruler is not shown by default.
VclPtr<SvxRuler> mpVerticalRuler; /// Layer tab bar.
VclPtr<LayerTabBar> mpLayerTabBar;
/// This flag controls whether the rulers are visible. bool mbHasRulers;
/// The active window.
VclPtr< ::sd::Window> mpActiveWindow;
::sd::View* mpView;
FrameView* mpFrameView;
Point maViewPos;
Size maViewSize;
Size maScrBarWH;
bool mbStartShowWithDialog; // presentation is started by dialog
sal_uInt16 mnPrintedHandoutPageNum; // Page number of the handout page that is to be printed.
sal_uInt16 mnPrintedHandoutPageCount; // Page count of the handout pages that are to be printed.
//af bool bPrintDirectSelected; // Print only selected objects in direct print //afString sPageRange; // pagerange if selected objects in direct print
/** Area covered by all windows, i.e. the area of the parent window withoutthecontrolsattheborderslikerulers,scrollbars,tab bar,buttons. Thisrectanglemaybesetinwindowcoordinates(i.e.pixelvalues relativetotheparentwindow).Itistransformedbyeverycallto GetAllWindowRectangle()intoscreencoordinates(relativetothe upperleftcornerofthescreen.
*/
::tools::Rectangle maAllWindowRectangle;
/// The type of the shell. Returned by GetShellType().
ShellType meShellType;
private:
VclPtr<vcl::Window> mpParentWindow; /** This window updater is used to keep all relevant windows up to date withreferencetothedigitlanguageusedtodisplaydigitsintext shapes.
*/
::std::unique_ptr< ::sd::WindowUpdater> mpWindowUpdater;
/** Create the rulers.
*/ void SetupRulers();
// IASS: Check if commands should be used for SlideShow bool useInputForSlideShow() const;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.