diff options
Diffstat (limited to 'sc/source/ui/sidebar/AlignmentPropertyPanel.hxx')
-rwxr-xr-x | sc/source/ui/sidebar/AlignmentPropertyPanel.hxx | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx new file mode 100755 index 000000000000..7f02847a6d5e --- /dev/null +++ b/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx @@ -0,0 +1,130 @@ +/************************************************************** + * + * 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 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + *************************************************************/ + +#ifndef SC_PROPERTYPANEL_ALIGNMENT_HXX +#define SC_PROPERTYPANEL_ALIGNMENT_HXX + +#include <sfx2/sidebar/SidebarPanelBase.hxx> +#include <sfx2/sidebar/ControllerItem.hxx> +#include <sfx2/sidebar/IContextChangeReceiver.hxx> +#include <vcl/fixed.hxx> +#include <boost/scoped_ptr.hpp> +#include <editeng/svxenum.hxx> + +class ToolBox; +class MetricField; +class MetricBox; +class CheckBox; +namespace svx { namespace sidebar { class SidebarDialControl; }} + +namespace sc { namespace sidebar { + +class AlignmentPropertyPanel +: public Control, + public ::sfx2::sidebar::IContextChangeReceiver, + public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface +{ +public: + static AlignmentPropertyPanel* Create( + Window* pParent, + const cssu::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings); + + virtual void DataChanged( + const DataChangedEvent& rEvent); + + virtual void HandleContextChange( + const ::sfx2::sidebar::EnumContext aContext); + + virtual void NotifyItemUpdate( + const sal_uInt16 nSId, + const SfxItemState eState, + const SfxPoolItem* pState); + + SfxBindings* GetBindings(); + +private: + //ui controls + ::boost::scoped_ptr<Window> mpTBHorizontalBackground; + ::boost::scoped_ptr< ToolBox > mpTBHorizontal; + ::boost::scoped_ptr<Window> mpTBVerticalBackground; + ::boost::scoped_ptr< ToolBox > mpTBVertical; + ::boost::scoped_ptr< FixedText > mpFTLeftIndent; + ::boost::scoped_ptr< MetricField > mpMFLeftIndent; + ::boost::scoped_ptr< CheckBox > mpCBXWrapText; + ::boost::scoped_ptr< CheckBox > mpCBXMergeCell; + ::boost::scoped_ptr< FixedText > mpFtRotate; + ::boost::scoped_ptr< svx::sidebar::SidebarDialControl > mpCtrlDial; + ::boost::scoped_ptr< MetricBox > mpMtrAngle; + ::boost::scoped_ptr< CheckBox > mpCbStacked; + + ::sfx2::sidebar::ControllerItem maAlignHorControl; + ::sfx2::sidebar::ControllerItem maAlignVerControl; + ::sfx2::sidebar::ControllerItem maLeftIndentControl; + ::sfx2::sidebar::ControllerItem maMergeCellControl; + ::sfx2::sidebar::ControllerItem maWrapTextControl; + ::sfx2::sidebar::ControllerItem maAngleControl; + ::sfx2::sidebar::ControllerItem maStackControl; + + Image maIMGAlignLeft; + Image maIMGAlignCenter; + Image maIMGAlignRight; + Image maIMGAlignJust; + Image maIMGAlignTop; + Image maIMGAlignCenterV; + Image maIMGAlignBottom; + + SvxCellHorJustify meHorAlignState; + SvxCellVerJustify meVerAlignState; + + /// bitfield + bool mbMultiDisable : 1; + + cssu::Reference<css::frame::XFrame> mxFrame; + ::sfx2::sidebar::EnumContext maContext; + SfxBindings* mpBindings; + + DECL_LINK( TbxHorAlignSelectHdl, ToolBox* ); + DECL_LINK( TbxVerAlignSelectHdl, ToolBox* ); + DECL_LINK( MFLeftIndentMdyHdl, void * ); + DECL_LINK( CBOXMergnCellClkHdl, void * ); + DECL_LINK( CBOXWrapTextClkHdl, void * ); + DECL_LINK( AngleModifiedHdl, void * ); + DECL_LINK( RotationHdl, void * ); + DECL_LINK( ClickStackHdl, void * ); + + // constructor/destuctor + AlignmentPropertyPanel( + Window* pParent, + const cssu::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings); + virtual ~AlignmentPropertyPanel(); + + void Initialize(); + void UpdateHorAlign(); + void UpdateVerAlign(); + void FormatDegrees(double& dTmp); +}; + +} } // end of namespace ::sc::sidebar + +#endif +// eof |