summaryrefslogtreecommitdiff
path: root/sc/source/ui/sidebar/AlignmentPropertyPanel.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/sidebar/AlignmentPropertyPanel.hxx')
-rwxr-xr-xsc/source/ui/sidebar/AlignmentPropertyPanel.hxx130
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