summaryrefslogtreecommitdiff
path: root/cui/source/inc/transfrm.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/inc/transfrm.hxx')
-rw-r--r--cui/source/inc/transfrm.hxx308
1 files changed, 308 insertions, 0 deletions
diff --git a/cui/source/inc/transfrm.hxx b/cui/source/inc/transfrm.hxx
new file mode 100644
index 000000000000..3a5abeedf4a1
--- /dev/null
+++ b/cui/source/inc/transfrm.hxx
@@ -0,0 +1,308 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: transfrm.hxx,v $
+ * $Revision: 1.12 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _SVX_TRANSFRM_HXX
+#define _SVX_TRANSFRM_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svx/dlgctrl.hxx>
+
+#ifndef _FIXED_HXX //autogen
+#include <vcl/fixed.hxx>
+#endif
+
+// #i75273#
+#include <basegfx/range/b2drange.hxx>
+
+// predefines
+class SdrView;
+
+/*************************************************************************
+|*
+|* Transform-Tab-Dialog
+|*
+\************************************************************************/
+
+/** put this into the nAnchorTypes parameter of the SvxTransformTabDialog c'tor
+ to disable the size controls */
+const USHORT SVX_OBJ_NORESIZE = 0x0100;
+
+/** put this into the nAnchorTypes parameter of the SvxTransformTabDialog c'tor
+ to disable the protect controls */
+const USHORT SVX_OBJ_NOPROTECT = 0x0200;
+
+class SvxTransformTabDialog : public SfxTabDialog
+{
+private:
+ const SdrView* pView;
+
+ USHORT nAnchorCtrls;
+ Link aValidateLink;
+
+ virtual void PageCreated( USHORT nId, SfxTabPage &rPage );
+
+public:
+
+ SvxTransformTabDialog( Window* pParent, const SfxItemSet* pAttr,
+ const SdrView* pView,
+ USHORT nAnchorTypes = 0);
+ ~SvxTransformTabDialog();
+
+ //link for the Writer to validate positions
+ void SetValidateFramePosLink( const Link& rLink );
+};
+
+/*************************************************************************
+|*
+|* position and size tab page
+|*
+\************************************************************************/
+
+class SvxPositionSizeTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ // position
+ FixedLine maFlPosition;
+ FixedText maFtPosX;
+ MetricField maMtrPosX;
+ FixedText maFtPosY;
+ MetricField maMtrPosY;
+ FixedText maFtPosReference;
+ SvxRectCtl maCtlPos;
+
+ // size
+ FixedLine maFlSize;
+ FixedText maFtWidth;
+ MetricField maMtrWidth;
+ FixedText maFtHeight;
+ MetricField maMtrHeight;
+ CheckBox maCbxScale;
+ FixedText maFtSizeReference;
+ SvxRectCtl maCtlSize;
+
+ // protect
+ FixedLine maFlProtect;
+ TriStateBox maTsbPosProtect;
+ TriStateBox maTsbSizeProtect;
+
+ // adjust
+ FixedLine maFlAdjust;
+ TriStateBox maTsbAutoGrowWidth;
+ TriStateBox maTsbAutoGrowHeight;
+
+ FixedLine maFlDivider;
+
+private:
+ const SfxItemSet& mrOutAttrs;
+
+ const SdrView* mpView;
+
+ // #i75273#
+ basegfx::B2DRange maRange;
+ basegfx::B2DRange maWorkRange;
+ basegfx::B2DPoint maAnchor;
+
+ SfxMapUnit mePoolUnit;
+ FieldUnit meDlgUnit;
+ MapUnit meMapUnit;
+ TriState mnProtectSizeState;
+ bool mbPageDisabled;
+ bool mbProtectDisabled;
+ bool mbSizeDisabled;
+ bool mbAdjustDisabled;
+
+ // frome size
+ // #i75273#
+ double mfOldWidth;
+ double mfOldHeight;
+ RECT_POINT meRP;
+
+ //------------------------------------
+#if _SOLAR__PRIVATE
+ DECL_LINK( ChangePosProtectHdl, void * );
+ DECL_LINK( ChangeSizeProtectHdl, void * );
+ DECL_LINK( ChangePosXHdl, void * );
+ DECL_LINK( ChangePosYHdl, void * );
+// DECL_LINK( SetAnchorHdl, ListBox * );
+// DECL_LINK( SetOrientHdl, ListBox * );
+
+ void SetMinMaxPosition();
+ void GetTopLeftPosition(double& rfX, double& rfY, const basegfx::B2DRange& rRange);
+#endif
+
+#if _SOLAR__PRIVATE
+ DECL_LINK( ChangeWidthHdl, void * );
+ DECL_LINK( ChangeHeightHdl, void * );
+ DECL_LINK( ClickSizeProtectHdl, void * );
+ DECL_LINK( ClickAutoHdl, void * );
+
+ void SetMaxSize( Rectangle aRect );
+ Rectangle GetRect();
+#endif
+
+public:
+ SvxPositionSizeTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ static USHORT* GetRanges();
+
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void Construct();
+ void SetView( const SdrView* pSdrView ) { mpView = pSdrView; }
+
+// void ShowAnchorCtrls(USHORT nAnchorCtrls); // Writer-spezifische Controls anzeigen
+ virtual void FillUserData();
+
+ void DisableResize();
+ void DisableProtect();
+
+ void UpdateControlStates();
+};
+
+/*************************************************************************
+|*
+|* Drehwinkel-Tab-Page
+|*
+\************************************************************************/
+class SvxAngleTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedLine aFlPosition;
+ FixedText aFtPosX;
+ MetricField aMtrPosX;
+ FixedText aFtPosY;
+ MetricField aMtrPosY;
+ FixedText aFtPosPresets;
+ SvxRectCtl aCtlRect;
+
+ FixedLine aFlAngle;
+ FixedText aFtAngle;
+ MetricField aMtrAngle;
+ FixedText aFtAnglePresets;
+ SvxRectCtl aCtlAngle;
+
+ const SfxItemSet& rOutAttrs;
+ const SdrView* pView;
+
+ // #i75273#
+ basegfx::B2DRange maRange;
+ basegfx::B2DPoint maAnchor;
+
+ SfxMapUnit ePoolUnit;
+ FieldUnit eDlgUnit;
+ MapUnit eMapUnit;
+ //------------------------------------
+#if _SOLAR__PRIVATE
+ DECL_LINK( ModifiedHdl, void * );
+#endif
+public:
+ SvxAngleTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ static USHORT* GetRanges();
+
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void Construct();
+ void SetView( const SdrView* pSdrView ) { pView = pSdrView; }
+};
+
+/*************************************************************************
+|*
+|* Schraegstellen/Eckenradius-Tab-Page
+|*
+\************************************************************************/
+class SvxSlantTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedLine aFlRadius;
+ FixedText aFtRadius;
+ MetricField aMtrRadius;
+ //TriStateBox aTsbVertical;
+ FixedLine aFlAngle;
+ FixedText aFtAngle;
+ MetricField aMtrAngle;
+ //SvxRectCtl aCtlAngle;
+
+ const SfxItemSet& rOutAttrs;
+
+ const SdrView* pView;
+
+ // #i75273#
+ basegfx::B2DRange maRange;
+
+ SfxMapUnit ePoolUnit;
+ FieldUnit eDlgUnit;
+ MapUnit eMapUnit;
+ //------------------------------------
+public:
+ SvxSlantTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ static USHORT* GetRanges();
+
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void Construct();
+ void SetView( const SdrView* pSdrView ) { pView = pSdrView; }
+};
+
+
+
+#endif // _SVX_TRANSFRM_HXX
+