Kaydet (Commit) 8f266781 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Bin unused include files, thanks to Andrea Gelmini

Change-Id: I848505b1d4ff03779b89a08d4aeefd6ea0ff205b
üst 5ed4be8e
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef INCLUDED_SC_SOURCE_UI_DBGUI_DPUIGLOBAL_HXX
#define INCLUDED_SC_SOURCE_UI_DBGUI_DPUIGLOBAL_HXX
#define OUTER_MARGIN_HOR 4
#define OUTER_MARGIN_VER 4
#define DATA_FIELD_BTN_GAP 2 // must be an even number
#define ROW_FIELD_BTN_GAP 2 // must be an even number
#define FIELD_BTN_HEIGHT 23
#define FIELD_AREA_GAP 3 // gap between row/column/data/page areas
#define TEXT_INFO_GAP 5 // gap between the row/data areas and the text notice below.
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_INC_CELLTEMPL_HXX
#define INCLUDED_SD_SOURCE_UI_INC_CELLTEMPL_HXX
#include <sfx2/styledlg.hxx>
class SfxStyleSheetBase;
class SdrModel;
class SdPresCellTemplateDlg : public SfxStyleDialog
{
private:
XColorListRef mpColorTab;
XGradientListRef mpGradientList;
XHatchListRef mpHatchingList;
XBitmapListRef mpBitmapList;
virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage );
virtual const SfxItemSet* GetRefreshedSet();
public:
SdPresCellTemplateDlg( SdrModel* pModel, vcl::Window* pParent, SfxStyleSheetBase& rStyleBase );
~SdPresCellTemplateDlg();
const SfxItemSet* GetOutputItemSet() const;
};
#endif // INCLUDED_SD_SOURCE_UI_INC_CELLTEMPL_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_INC_TASKPANE_SCROLLPANEL_HXX
#define INCLUDED_SD_SOURCE_UI_INC_TASKPANE_SCROLLPANEL_HXX
#include "taskpane/TaskPaneTreeNode.hxx"
#include <vcl/ctrl.hxx>
#include <vcl/scrbar.hxx>
#include <memory>
#include <vector>
namespace sd { namespace toolpanel {
class TitledControl;
/** The scroll panel shows its controls one above the other. When their
total height is larger than the height of the scroll area then only a
part of the controls is visible. Scroll bars control which part that
is.
The scroll panel registers itself as window event listener at the
controls and their title bars (conceptually; it really is the
TitledControl) to track changes of the selection and focus rectangles.
On such a change it tries to move the selected or focused part into the
visible area. At the moment this moving into view only works with
valuesets and TitleBars.
*/
class ScrollPanel
: public ::Control,
public TreeNode
{
public:
/** Create a new scroll panel which itself is the root of a TreeNode hierarchy
parent. This will usually be a child window.
*/
ScrollPanel (vcl::Window& i_rParentWindow);
virtual ~ScrollPanel (void);
/** Add a control to the sub panel. An title bar is added above the
control.
@param rTitle
The title that will be shown in the two title bars that
belong to the control.
@param nHelpId
The help id is set at the title bar not the actual control.
@return
The new titled control that contains the given control and a new
title bar as children is returned.
*/
TitledControl* AddControl (
::std::unique_ptr<TreeNode> && pControl,
const OUString& rTitle,
const OString& sHelpId);
/** Add a control to the sub panel without a title bar.
*/
void AddControl (::std::unique_ptr<TreeNode> && pControl);
virtual void Paint (const Rectangle& rRect);
/** Initiate a rearrangement of the controls and title bars.
*/
virtual void Resize (void);
virtual void RequestResize (void);
virtual Size GetPreferredSize (void);
virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight);
virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth);
virtual bool IsResizable (void);
virtual vcl::Window* GetWindow (void);
virtual sal_Int32 GetMinimumWidth (void);
virtual void ExpandControl (
TreeNode* pControl,
bool bExpansionState);
bool IsVerticalScrollBarVisible (void) const;
bool IsHorizontalScrollBarVisible (void) const;
ScrollBar& GetVerticalScrollBar (void);
ScrollBar& GetHorizontalScrollBar (void);
// vcl::Window
virtual long Notify( NotifyEvent& rNEvt );
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible> CreateAccessibleObject (
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent);
/** Scroll the given rectangle into the visible area.
@param aRectangle
The box to move into the visible area in pixel coordinates
relative to the given window.
@param pWindow
This window is used to translate the given coordinates into ones
that are relative to the scroll panel.
*/
void MakeRectangleVisible (
Rectangle& aRectangle,
vcl::Window* pWindow);
private:
::Control maScrollWindow;
ScrollBar maVerticalScrollBar;
ScrollBar maHorizontalScrollBar;
vcl::Window maScrollBarFiller;
vcl::Window maScrollWindowFiller;
Point maScrollOffset;
bool mbIsRearrangePending;
bool mbIsLayoutPending;
sal_uInt32 mnChildrenWidth;
/// Border above top-most and below bottom-most control.
const int mnVerticalBorder;
/// Gap between two controls.
const int mnVerticalGap;
/// Border at the left and right of the controls.
const int mnHorizontalBorder;
/** List of horizontal stripes that is created from the gaps between
children when they are layouted. The stripes are painted in Paint()
to fill the space around the children.
*/
typedef ::std::vector< ::std::pair<int,int> > StripeList;
StripeList maStripeList;
/** Calculate position, size, and visibility of the controls.
Call this method after the list of controls, their expansion
state, or the size of the sub panel has changed.
*/
void Rearrange (void);
/** Determine the minimal size that is necessary to show the controls
one over the other. It may be smaller than the available area.
*/
Size GetRequiredSize (void);
/** Place the child windows one above the other and return the size of
the bounding box.
*/
sal_Int32 LayoutChildren (void);
/** ctor-impl
*/
void Construct();
Size SetupScrollBars (const Size& rRequiresSize);
sal_Int32 SetupVerticalScrollBar (bool bShow, sal_Int32 nRange);
sal_Int32 SetupHorizontalScrollBar (bool bShow, sal_Int32 nRange);
DECL_LINK(ScrollBarHandler, void *);
DECL_LINK(WindowEventListener, VclSimpleEvent*);
using Window::GetWindow;
};
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_INC_TASKPANE_SUBTOOLPANEL_HXX
#define INCLUDED_SD_SOURCE_UI_INC_TASKPANE_SUBTOOLPANEL_HXX
#include "taskpane/TaskPaneTreeNode.hxx"
#include <vcl/ctrl.hxx>
#include <vcl/scrbar.hxx>
#include <vector>
namespace vcl { class Window; }
namespace sd { namespace toolpanel {
/** The sub tool panel is in function similar to the tool panel. It
differes in two points. First, it is a control that can be used
as element in a tool panel and thus is actually a nested tool
panel.
<p>Secondly, it formats its elements differently. The actual controls
are placed one below the other with a title bar above each control.
Clicking on the title bar expands or collapses the control. When there
is not enough space then scroll bars are shown.</p>
<p>To avoid flickering when painting the sub tool panel the background
is made transparent and painting it is done by this class. While
layouting its children it remembers the gaps between children and stores
them in maStripeList. In Paint() those gaps as well as the border
around all children are painted in the background color.</p>
*/
class SubToolPanel
: public Control,
public TreeNode
{
public:
/** Create a new sub tool panel with the given window as its
parent. This will usually be a child window.
*/
SubToolPanel (vcl::Window& i_rParentWindow);
virtual ~SubToolPanel (void);
virtual void Paint (const Rectangle& rRect);
/** Initiate a rearrangement of the controls and title bars.
*/
virtual void Resize (void);
virtual void RequestResize (void);
virtual Size GetPreferredSize (void);
virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight);
virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth);
virtual bool IsResizable (void);
virtual vcl::Window* GetWindow (void);
virtual sal_Int32 GetMinimumWidth (void);
virtual void ExpandControl (
TreeNode* pControl,
bool bExpansionState);
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible> CreateAccessibleObject (
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent);
using Window::GetWindow;
private:
vcl::Window maWindowFiller;
bool mbIsRearrangePending;
bool mbIsLayoutPending;
sal_uInt32 mnChildrenWidth;
/// Border above top-most and below bottom-most control.
const int mnVerticalBorder;
/// Gap between two controls.
const int mnVerticalGap;
/// Border at the left and right of the controls.
const int mnHorizontalBorder;
/** List of horizontal stripes that is created from the gaps between
children when they are layouted. The stripes are painted in Paint()
to fill the space around the children.
*/
typedef ::std::vector< ::std::pair<int,int> > StripeList;
StripeList maStripeList;
/** Calculate position, size, and visibility of the controls.
Call this method after the list of controls, their expansion
state, or the size of the sub panel has changed.
*/
void Rearrange (void);
/** Determine the minimal size that is necessary to show the controls
one over the other. It may be smaller than the available area.
*/
Size GetRequiredSize (void);
/** Place the child windows one above the other and return the size of
the bounding box.
*/
sal_Int32 LayoutChildren (void);
DECL_LINK(WindowEventListener, VclSimpleEvent*);
};
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_INC_TASKPANE_TASKPANECONTROLFACTORY_HXX
#define INCLUDED_SD_SOURCE_UI_INC_TASKPANE_TASKPANECONTROLFACTORY_HXX
#include "taskpane/TaskPaneTreeNode.hxx"
#include <memory>
namespace sd { namespace toolpanel {
class TreeNode;
} }
namespace sd { namespace toolpanel {
/** A simple factory base class defines the interface that is used by
some of the control containers of the task pane to create controls on
demand when they are about to be displayed for the first time.
It provides the InternalCreateControl() method as hook that can be
overloaded by derived classes to provide a new control.
*/
class ControlFactory
{
public:
ControlFactory (void);
virtual ~ControlFactory (void);
/** creates a tree node which acts as root of an own tree
Derived classes should overload InternalCreateControl.
*/
::std::unique_ptr<TreeNode> CreateControl( vcl::Window& i_rParent );
protected:
virtual TreeNode* InternalCreateControl( vcl::Window& i_rParent ) = 0;
};
/** A simple helper class that realizes a ControlFactory that is able to create root controls, providing
the to-be-created control with an additional parameter.
*/
template<class ControlType, class ArgumentType>
class RootControlFactoryWithArg
: public ControlFactory
{
public:
RootControlFactoryWithArg (ArgumentType& rArgument)
: mrArgument(rArgument)
{}
protected:
virtual TreeNode* InternalCreateControl( vcl::Window& i_rParent )
{
return new ControlType( i_rParent, mrArgument );
}
private:
ArgumentType& mrArgument;
};
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_INC_TASKPANE_TITLEDCONTROL_HXX
#define INCLUDED_SD_SOURCE_UI_INC_TASKPANE_TITLEDCONTROL_HXX
#include "taskpane/TaskPaneTreeNode.hxx"
#include "taskpane/ControlContainer.hxx"
#include "TitleBar.hxx"
#include <com/sun/star/drawing/framework/XResourceId.hpp>
#include <tools/gen.hxx>
#include <vcl/window.hxx>
#include <memory>
#include <boost/function.hpp>
namespace vcl { class Window; }
namespace sd { namespace toolpanel {
class ControlContainer;
/** This wrapper adds a title bar to a control. Both title bar and
control are child windows.
*/
class TitledControl
: public vcl::Window,
public TreeNode
{
public:
typedef ::boost::function1<void, TitledControl&> ClickHandler;
/** Create a new descriptor for the given control.
@param pParent
The parent window of the new descriptor.
@param pControl
The control that is shown when being in the expanded
state.
@param rTitle
String that is shown as title in the title area above the
control.
@param rClickHandler
The typical action of the click handler is to expand the control.
@param eType
Type of the title bar. This specifies how the title bar
will be formated. For more information see TitleBar.
*/
TitledControl (
TreeNode* pParent,
::std::unique_ptr<TreeNode> pControl,
const OUString& rTitle,
const ClickHandler& rClickHandler,
TitleBar::TitleBarType eType);
virtual ~TitledControl (void);
virtual Size GetPreferredSize (void);
virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight);
virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth);
virtual bool IsResizable (void);
virtual vcl::Window* GetWindow (void);
virtual void Resize (void);
virtual void GetFocus (void);
virtual void KeyInput (const KeyEvent& rEvent);
// void Select (bool bExpansionState);
TitleBar* GetTitleBar (void);
/** Return the control child. When a control factory has been given and
the control has not yet been created and the given flag is <TRUE/>
then the control is created.
*/
TreeNode* GetControl (void);
const TreeNode* GetConstControl () const;
const OUString& GetTitle (void) const;
/** Expand the control without informing its container. This
method usually is called by the container as a result of a
higher level expand command. You may want to use
ExpandViaContainer() instead.
@param bExpanded
When <TRUE/> then the control is expanded, otherwise it is
collapsed.
*/
virtual bool Expand (bool bExpanded = true);
/** Return whether the control is currently expanded (<TRUE/>) or
not (<FALSE/>).
*/
virtual bool IsExpanded (void) const;
/** Returns the value of the control.
*/
virtual bool IsExpandable (void) const;
virtual void SetEnabledState(bool bFlag);
virtual bool IsShowing (void) const;
virtual void Show (bool bVisible);
virtual ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible > CreateAccessibleObject (
const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible>& rxParent);
using Window::GetWindow;
using Window::Show;
private:
OUString msTitle;
bool mbVisible;
void* mpUserData;
::std::unique_ptr<ClickHandler> mpClickHandler;
/// Do not use! Assignment operator is not supported.
const TitledControl& operator= (
const TitledControl& aDescriptor);
void UpdateStates (void);
DECL_LINK(WindowEventListener, VclSimpleEvent*);
};
/** This standard implementation of the ClickHandler expands, or toggles the
expansion state, of the control, whose title was clicked.
*/
class TitledControlStandardClickHandler
{
public:
/** Create a new instance of this class.
@param rControlContainer
The container of which the TitledControl is part of.
@param eExpansionState
This specifies whether to always expand the titled control or to
toggle its expansion state.
*/
TitledControlStandardClickHandler (
ControlContainer& rControlContainer,
ControlContainer::ExpansionState eExpansionState);
void operator () (TitledControl& rTitledControl);
private:
ControlContainer& mrControlContainer;
ControlContainer::ExpansionState meExpansionState;
};
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_SIDEBAR_SIDEBARFOCUSMANAGER_HXX
#define INCLUDED_SD_SOURCE_UI_SIDEBAR_SIDEBARFOCUSMANAGER_HXX
#include <tools/link.hxx>
#include <vcl/keycod.hxx>
#include <memory>
class VclSimpleEvent;
namespace vcl { class Window; }
namespace sd { namespace toolpanel {
/** On certain key presses the focus is moved from one window to another.
For this to work every window that wants its focus managed has to
register or be registered and tell where to put the focus on what key
press.
*/
class FocusManager
{
public:
/** Return an instance of the focus manager.
*/
static FocusManager& Instance (void);
/** Register a link from one window to another so that any time the
specified key is pressed while the source window is focused, the
focus is transferred to the target window.
@param pSource
The window from which the focus will be transferred.
@param pTarget
The window to which the focus will be transferred.
@param rKey
The key for which the focus is transferred from the source
window to the target window.
*/
void RegisterLink (
vcl::Window* pSource,
vcl::Window* pTarget,
const vcl::KeyCode& rKey);
/** Register a link that will move the focus from the source window to
the target window when the source window is focused and KEY_ESCAPE
is pressed.
@param pSource
The window from which the focus will be transferred.
@param pTarget
The window to which the focus will be transferred.
*/
void RegisterUpLink (vcl::Window* pSource, vcl::Window* pTarget);
/** Register a link that will move the focus from the source window to
the target window when the source window is focused and KEY_RETURN
is pressed.
@param pSource
The window from which the focus will be transferred.
@param pTarget
The window to which the focus will be transferred.
*/
void RegisterDownLink (vcl::Window* pSource, vcl::Window* pTarget);
/** Remove all links from the source window to the target window. When
there are links from the target window to the source window then
these are not touced.
*/
void RemoveLinks (
vcl::Window* pSource,
vcl::Window* pTarget);
/** Let the focus manager transfer the focus from the specified source
window to a target window that is determined according the the
registered links and the given key code.
When there is no rule for this combination of source window and key
code then the focus stays where it is.
*/
bool TransferFocus (vcl::Window* pSource, const vcl::KeyCode& rCode);
private:
friend struct FocusManagerCreator;
class LinkMap;
::std::unqiue_ptr<LinkMap> mpLinks;
FocusManager (void);
~FocusManager (void);
/** Clear the list of focus transfer links. This removes all window
listeners.
*/
void Clear (void);
/** Remove all links from or to the given window.
*/
void RemoveLinks (vcl::Window* pWindow);
/** Unregister as event listener from the given window when there are no
links from this window anymore.
*/
void RemoveUnusedEventListener (vcl::Window* pWindow);
/** Listen for key events and on KEY_RETURN go down and on
KEY_ESCAPE go up.
*/
DECL_LINK(WindowEventListener, VclSimpleEvent*);
};
} } // end of namespace ::sd::toolpanel
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_SLIDESORTER_INC_VIEW_SLSPAGEOBJECTVIEWCONTACT_HXX
#define INCLUDED_SD_SOURCE_UI_SLIDESORTER_INC_VIEW_SLSPAGEOBJECTVIEWCONTACT_HXX
#include "model/SlsSharedPageDescriptor.hxx"
#include <svx/sdtakitm.hxx>
#include <svx/sdr/contact/viewcontactofpageobj.hxx>
class SdrPageObj;
namespace sdr {namespace contact {
class ViewObjectContact;
class ObjectContact;
} }
namespace sd { namespace slidesorter { namespace view {
/** Details:
This class has to provide the bounding box but can not determine it
fully because it has no access to the output device. It therefore
retrieves some of the necessary data, the border, from the
PageDescriptor which acts here as persistent storage.
*/
class PageObjectViewContact
: public ::sdr::contact::ViewContactOfPageObj
{
public:
PageObjectViewContact (
SdrPageObj& rPageObj,
const model::SharedPageDescriptor& rpDescriptor);
~PageObjectViewContact (void);
/** Create a ViewObjectContact object that buffers its output in a
bitmap.
@return
Ownership of the new object passes to the caller.
*/
virtual ::sdr::contact::ViewObjectContact&
CreateObjectSpecificViewObjectContact(
::sdr::contact::ObjectContact& rObjectContact);
const SdrPage* GetPage (void) const;
SdrPageObj& GetPageObject (void) const;
virtual void ActionChanged (void);
protected:
// create graphical visualisation data
virtual drawinglayer::primitive2d::Primitive2DSequence createViewIndependentPrimitive2DSequence() const;
private:
/** This flag is set to <TRUE/> when the destructor is called to
indicate that further calls made to it must not call outside.
*/
bool mbInDestructor;
model::SharedPageDescriptor mpDescriptor;
};
} } } // end of namespace ::sd::slidesorter::view
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SD_SOURCE_UI_SLIDESORTER_INC_VIEW_SLSPAGEOBJECTVIEWOBJECTCONTACT_HXX
#define INCLUDED_SD_SOURCE_UI_SLIDESORTER_INC_VIEW_SLSPAGEOBJECTVIEWOBJECTCONTACT_HXX
#include <svx/sdr/contact/viewobjectcontactofpageobj.hxx>
#include "model/SlsSharedPageDescriptor.hxx"
#include <svx/sdr/contact/viewobjectcontact.hxx>
#include <vcl/bitmapex.hxx>
#include <vcl/image.hxx>
#include <sfx2/viewfrm.hxx>
#include <boost/shared_ptr.hpp>
class SdrPage;
namespace sdr { namespace contact {
class DisplayInfo;
} }
namespace sd { namespace slidesorter { namespace cache {
class PageCache;
} } }
namespace sd { namespace slidesorter { namespace controller {
class Properties;
} } }
namespace sd { namespace slidesorter { namespace view {
/** This object-view-contact of page objects maintains a preview bitmap for
the page to speed up redraws of the same. It does so by colaborating
with a cache of bitmaps (see ../cache).
*/
// needs to be derived from ViewObjectContactOfPageObj, else the calls to parent implementations
// would use ViewObjectContact and thus not enable e.g. the correct primitive creation
// for view-independent printer output
// changed: ViewObjectContact -> ViewObjectContactOfPageObj
class PageObjectViewObjectContact : public ::sdr::contact::ViewObjectContactOfPageObj
{
public:
/** Create a new view-object-contact object for the given contact
objects of both model and view.
@param pCache
The caller should provide a pointer to a preview cache, if
available. If given then the cache is used to control when to
create a preview and to store it. If NULL is given then the
preview is created every time when requested.
*/
PageObjectViewObjectContact (
::sdr::contact::ObjectContact& rObjectContact,
::sdr::contact::ViewContact& rViewContact,
const ::boost::shared_ptr<cache::PageCache>& rpCache,
const ::boost::shared_ptr<controller::Properties>& rpProperties);
virtual ~PageObjectViewObjectContact (void);
/** This method is primarily for releasing the current preview cache (by
providing a NULL pointer.)
*/
void SetCache (const ::boost::shared_ptr<cache::PageCache>& rpCache);
/** Return the page that is painted by this object.
*/
const SdrPage* GetPage (void) const;
/** This fallback method is called when no preview cache is available.
It creates a preview for the page.
*/
BitmapEx CreatePreview (const sdr::contact::DisplayInfo& rDisplayInfo);
/** Return the page descriptor of the slide sorter model that is
associated with the same page object as this contact object is.
*/
model::SharedPageDescriptor GetPageDescriptor (void) const;
/** Return the border widths in the screen coordinate system of the
border around the page object. The border contains frames for
selection, focus, the page name and number, and the indicator for
the page transition.
@param pDevice
The output device is used to convert pixel coordinates into
model coordinates. When NULL is given then the device dependent
part is not re-calculated but taken from an earlier calculation
or from the default values.
@param nPageCount
The total number of pages is used to determine the width of the
box that contains the page number.
*/
static SvBorder CalculatePageModelBorder (
OutputDevice* pDevice,
int nPageCount);
/** Calculate the size of the page number area so that all page numbers
including the given number fit in. Because this is device dependent
we need the device as parameter. The result is returned and stored
in maPageNumberAreaPixelSize so that it can be used later without
access to the device or page count.
*/
static Size CalculatePageNumberAreaModelSize (
OutputDevice* pDevice,
int nPageCount);
/** Paint a mouse over effect.
@param bVisible
When bVisible is <FALSE/> then paint the area of the mouse over
effect in the background color, i.e. erase it.
*/
drawinglayer::primitive2d::Primitive2DSequence createMouseOverEffectPrimitive2DSequence();
enum BoundingBoxType {
// This is the outer bounding box that includes the preview, page
// number, title.
PageObjectBoundingBox,
// Bounding box of the actual preview.
PreviewBoundingBox,
// Bounding box of the mouse indicator indicator frame.
MouseOverIndicatorBoundingBox,
// Bounding box of the focus indicator frame.
FocusIndicatorBoundingBox,
// Bounding box of the selection indicator frame.
SelectionIndicatorBoundingBox,
// Bounding box of the page number.
PageNumberBoundingBox,
// Bounding box of the pane name.
NameBoundingBox,
FadeEffectIndicatorBoundingBox
};
enum CoordinateSystem { ModelCoordinateSystem, PixelCoordinateSystem };
/** Return the bounding box of the page object or one of its graphical
parts.
@param rDevice
This device is used to translate between model and window
coordinates.
@param eType
The part of the page object for which to return the bounding
box.
@param eCoodinateSystem
The bounding box can be returned in model and in pixel
(window) coordinates.
*/
Rectangle GetBoundingBox (
OutputDevice& rDevice,
BoundingBoxType eType,
CoordinateSystem eCoordinateSystem) const;
// create the graphical visualisation data
virtual drawinglayer::primitive2d::Primitive2DSequence createPrimitive2DSequence(const sdr::contact::DisplayInfo& rDisplayInfo) const;
// access to the current page content primitive vector which may be used for visualisation
const drawinglayer::primitive2d::Primitive2DSequence& getCurrentPageContents() const { return mxCurrentPageContents; }
virtual void ActionChanged (void);
private:
/// Gap between border of page object and inside of selection rectangle.
static const sal_Int32 mnSelectionIndicatorOffset;
/// Thickness of the selection rectangle.
static const sal_Int32 mnSelectionIndicatorThickness;
/// Gap between border of page object and inside of focus rectangle.
static const sal_Int32 mnFocusIndicatorOffset;
/// Size of width and height of the fade effect indicator in pixels.
static const sal_Int32 mnFadeEffectIndicatorSize;
static const sal_Int32 mnFadeEffectIndicatorOffset;
/// Gap between border of page object and number rectangle.
static const sal_Int32 mnPageNumberOffset;
/// Offset and thickness of the mouse over effect rectangle.
static const sal_Int32 mnMouseOverEffectOffset;
static const sal_Int32 mnMouseOverEffectThickness;
/** This flag is set to <TRUE/> when the destructor is called to
indicate that further calls made to it must not call outside.
*/
bool mbInDestructor;
/// The primitive sequence of the page contents, completely scaled
/// and prepared for painiting
drawinglayer::primitive2d::Primitive2DSequence mxCurrentPageContents;
::boost::shared_ptr<cache::PageCache> mpCache;
::boost::shared_ptr<controller::Properties> mpProperties;
BitmapEx GetPreview (
const sdr::contact::DisplayInfo& rDisplayInfo,
const Rectangle& rNewSizePixel);
/** Return the bounding box of where the page number is painted (when it
is painted).
*/
Rectangle GetPageNumberArea (OutputDevice& rDevice) const;
};
} } } // end of namespace ::sd::slidesorter::view
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SLIDESHOW_SOURCE_INC_HYPERLINKHANDLER_HXX
#define INCLUDED_SLIDESHOW_SOURCE_INC_HYPERLINKHANDLER_HXX
#include <boost/shared_ptr.hpp>
/* Definition of EventHandler interface */
namespace slideshow
{
namespace internal
{
/** Interface for handling hyperlink clicks.
Classes implementing this interface can be added to an
EventMultiplexer object, and are called from there to
handle hyperlink events.
*/
class HyperlinkHandler
{
public:
/** Handle the event.
@param rLink
The actual hyperlink URI
@return true, if this handler has successfully
processed the event. When this method returns false,
possibly other, less prioritized handlers are called,
too.
*/
virtual bool handleHyperlink( OUString const& rLink ) = 0;
protected:
~HyperlinkHandler() {}
};
typedef ::boost::shared_ptr< HyperlinkHandler > HyperlinkHandlerSharedPtr;
}
}
#endif // INCLUDED_SLIDESHOW_SOURCE_INC_HYPERLINKHANDLER_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_STOC_SOURCE_URIPROC_EXTERNALURIREFERENCETRANSLATOR_HXX
#define INCLUDED_STOC_SOURCE_URIPROC_EXTERNALURIREFERENCETRANSLATOR_HXX
#include <com/sun/star/uno/Exception.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <sal/types.h>
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
class XInterface;
} } } }
namespace rtl { class OUString; }
namespace stoc { namespace uriproc {
namespace ExternalUriReferenceTranslator {
css::uno::Reference< css::uno::XInterface > SAL_CALL
create(
css::uno::Reference< css::uno::XComponentContext >
const & context);
OUString SAL_CALL getImplementationName();
css::uno::Sequence< OUString > SAL_CALL
getSupportedServiceNames();
}
} }
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_STOC_SOURCE_URIPROC_URIREFERENCEFACTORY_HXX
#define INCLUDED_STOC_SOURCE_URIPROC_URIREFERENCEFACTORY_HXX
#include <com/sun/star/uno/Exception.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <sal/types.h>
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
class XInterface;
} } } }
namespace rtl { class OUString; }
namespace stoc { namespace uriproc {
namespace UriReferenceFactory {
css::uno::Reference< css::uno::XInterface > SAL_CALL
create(
css::uno::Reference< css::uno::XComponentContext >
const & context);
OUString SAL_CALL getImplementationName();
css::uno::Sequence< OUString > SAL_CALL
getSupportedServiceNames();
}
} }
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_STOC_SOURCE_URIPROC_URISCHEMEPARSER_VNDDOTSUNDOTSTARDOTSCRIPT_HXX
#define INCLUDED_STOC_SOURCE_URIPROC_URISCHEMEPARSER_VNDDOTSUNDOTSTARDOTSCRIPT_HXX
#include <com/sun/star/uno/Exception.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <sal/types.h>
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
class XInterface;
} } } }
namespace rtl { class OUString; }
namespace stoc { namespace uriproc {
namespace UriSchemeParser_vndDOTsunDOTstarDOTscript {
css::uno::Reference< css::uno::XInterface > SAL_CALL
create(
css::uno::Reference< css::uno::XComponentContext >
const &);
OUString SAL_CALL getImplementationName();
css::uno::Sequence< OUString > SAL_CALL
getSupportedServiceNames();
}
} }
#endif // INCLUDED_STOC_SOURCE_URIPROC_URISCHEMEPARSER_VNDDOTSUNDOTSTARDOTSCRIPT_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_STOC_SOURCE_URIPROC_VNDSUNSTARPKGURLREFERENCEFACTORY_HXX
#define INCLUDED_STOC_SOURCE_URIPROC_VNDSUNSTARPKGURLREFERENCEFACTORY_HXX
#include <com/sun/star/uno/Exception.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/Sequence.hxx>
#include <sal/types.h>
namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
class XInterface;
} } } }
namespace rtl { class OUString; }
namespace stoc { namespace uriproc {
namespace VndSunStarPkgUrlReferenceFactory {
css::uno::Reference< css::uno::XInterface > SAL_CALL
create(
css::uno::Reference< css::uno::XComponentContext >
const & context);
OUString SAL_CALL getImplementationName();
css::uno::Sequence< OUString > SAL_CALL
getSupportedServiceNames();
}
} }
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SVX_INC_SDR_OVERLAY_OVERLAYHATCHRECT_HXX
#define INCLUDED_SVX_INC_SDR_OVERLAY_OVERLAYHATCHRECT_HXX
#include <svx/sdr/overlay/overlayobject.hxx>
#include <vcl/hatch.hxx>
namespace tools { class PolyPolygon; }
namespace sdr
{
namespace overlay
{
class OverlayHatchRect : public OverlayObjectWithBasePosition
{
// geometric definitions
basegfx::B2DPoint maSecondPosition;
const double mfDiscreteGrow;
const double mfDiscreteShrink;
const double mfHatchRotation;
const double mfRotation;
// geometry creation for OverlayObject
virtual drawinglayer::primitive2d::Primitive2DSequence createOverlayObjectPrimitive2DSequence();
public:
OverlayHatchRect(
const basegfx::B2DPoint& rBasePosition,
const basegfx::B2DPoint& rSecondPosition,
const Color& rHatchColor,
double fDiscreteGrow,
double fDiscreteShrink,
double fHatchRotation,
double fRotation);
const basegfx::B2DPoint& getSecondPosition() const { return maSecondPosition; }
// data read access
double getDiscreteGrow() const { return mfDiscreteGrow; }
double getDiscreteShrink() const { return mfDiscreteShrink; }
double getHatchRotation() const { return mfHatchRotation; }
double getRotation() const { return mfRotation; }
};
} // end of namespace overlay
} // end of namespace sdr
#endif // INCLUDED_SVX_INC_SDR_OVERLAY_OVERLAYHATCHRECT_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SVX_SOURCE_INC_RECOVERYUI_HXX
#define INCLUDED_SVX_SOURCE_INC_RECOVERYUI_HXX
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/frame/XSynchronousDispatch.hpp>
#include <com/sun/star/task/XStatusIndicatorFactory.hpp>
#include <cppuhelper/implbase2.hxx>
#include <vcl/window.hxx>
#include "docrecovery.hxx"
namespace svx
{
namespace svxdr = ::svx::DocRecovery;
class RecoveryUI : public ::cppu::WeakImplHelper2< css::lang::XServiceInfo ,
css::frame::XSynchronousDispatch > // => XDispatch!
{
// const, types, etcpp.
private:
/** @short TODO */
enum EJob
{
E_JOB_UNKNOWN,
E_DO_EMERGENCY_SAVE,
E_DO_RECOVERY,
E_DO_CRASHREPORT
};
// member
private:
/** @short TODO */
css::uno::Reference< css::uno::XComponentContext > m_xContext;
/** @short TODO */
vcl::Window* m_pParentWindow;
/** @short TODO */
RecoveryUI::EJob m_eJob;
/** @short TODO */
css::uno::Reference< css::task::XStatusIndicatorFactory > m_xProgressFactory;
// interface
public:
/** @short TODO */
RecoveryUI(const css::uno::Reference< css::uno::XComponentContext >& xContext);
/** @short TODO */
virtual ~RecoveryUI();
// css.lang.XServiceInfo
virtual OUString SAL_CALL getImplementationName()
throw(css::uno::RuntimeException);
virtual sal_Bool SAL_CALL supportsService(const OUString& sServiceName)
throw(css::uno::RuntimeException);
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
throw(css::uno::RuntimeException);
virtual com::sun::star::uno::Any SAL_CALL dispatchWithReturnValue(const css::util::URL& aURL,
const css::uno::Sequence< css::beans::PropertyValue >& lArguments )
throw(css::uno::RuntimeException);
// css.frame.XDispatch
virtual void SAL_CALL dispatch(const css::util::URL& aURL ,
const css::uno::Sequence< css::beans::PropertyValue >& lArguments)
throw(css::uno::RuntimeException);
virtual void SAL_CALL addStatusListener(const css::uno::Reference< css::frame::XStatusListener >& xListener,
const css::util::URL& aURL )
throw(css::uno::RuntimeException);
virtual void SAL_CALL removeStatusListener(const css::uno::Reference< css::frame::XStatusListener >& xListener,
const css::util::URL& aURL )
throw(css::uno::RuntimeException);
// XServiceInfo helper
static OUString st_getImplementationName();
static css::uno::Sequence< OUString > st_getSupportedServiceNames();
static css::uno::Reference< css::uno::XInterface > SAL_CALL st_createInstance(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR);
// helper
private:
EJob impl_classifyJob(const css::util::URL& aURL);
sal_Bool impl_doEmergencySave();
void impl_doRecovery();
void impl_showAllRecoveredDocs();
};
} // namespace svx
#endif // INCLUDED_SVX_SOURCE_INC_RECOVERYUI_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SW_SOURCE_CORE_INC_SETMAPVIRTDEV_HXX
#define INCLUDED_SW_SOURCE_CORE_INC_SETMAPVIRTDEV_HXX
class OutputDevice;
class VirtualDevice;
class MapMode;
class Point;
/** method to set mapping/pixel offset for virtual output device
OD 12.11.2002 #96272# - method implements two solutions for the mapping of
the virtual output device:
The old solution set the origin of the mapping mode, which will be used in
the virtual output device. This causes several paint errors, because of the
different roundings in the virtual output device and the original output device.
The new solution avoids the rounding differences between virtual and original
output device by setting a pixel offset at the virtual output device.
A local boolean controls, which solution is used, in order to switch in
escalation back to old solution.
@param _pOrgOutDev
input parameter - constant instance of the original output device, for which
the virtual output device is created.
@param _pVirDev
input/output parameter - instance of the virtual output device.
@param _pMapMode
input/output parameter - instance of the mapping mode, which will be set
at the virtual output device.
@param _rNewOrigin
input parameter - constant instance of the origin, which will be used in
the virtual output device
*/
void SetMappingForVirtDev( const Point& _rNewOrigin,
MapMode* _pMapMode,
const OutputDevice* _pOrgOutDev,
VirtualDevice* _pVirDev );
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment