summaryrefslogtreecommitdiff
path: root/sd/source/ui/toolpanel/TitledControl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/toolpanel/TitledControl.cxx')
-rw-r--r--sd/source/ui/toolpanel/TitledControl.cxx428
1 files changed, 0 insertions, 428 deletions
diff --git a/sd/source/ui/toolpanel/TitledControl.cxx b/sd/source/ui/toolpanel/TitledControl.cxx
deleted file mode 100644
index bdd90ceb8fa7..000000000000
--- a/sd/source/ui/toolpanel/TitledControl.cxx
+++ /dev/null
@@ -1,428 +0,0 @@
-/**************************************************************
- *
- * 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.
- *
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sd.hxx"
-
-#include "taskpane/TitledControl.hxx"
-
-#include "AccessibleTreeNode.hxx"
-#include "taskpane/ControlContainer.hxx"
-#include "TaskPaneFocusManager.hxx"
-#include "taskpane/TaskPaneControlFactory.hxx"
-#include <vcl/ctrl.hxx>
-#include <vcl/svapp.hxx>
-
-
-namespace sd { namespace toolpanel {
-
-
-TitledControl::TitledControl (
- TreeNode* pParent,
- ::std::auto_ptr<TreeNode> pControl,
- const String& rTitle,
- const ClickHandler& rClickHandler,
- TitleBar::TitleBarType eType)
- : ::Window (pParent->GetWindow(), WB_TABSTOP),
- TreeNode(pParent),
- msTitle(rTitle),
- mbVisible(true),
- mpUserData(NULL),
- mpClickHandler(new ClickHandler(rClickHandler))
-{
- mpControlContainer->AddControl (::std::auto_ptr<TreeNode> (
- new TitleBar (this, rTitle, eType, pControl->IsExpandable())));
- pControl->SetParentNode (this);
- mpControlContainer->AddControl (pControl);
-
- FocusManager::Instance().RegisterDownLink( GetTitleBar()->GetWindow(), GetControl()->GetWindow() );
- FocusManager::Instance().RegisterUpLink( GetControl()->GetWindow(), GetTitleBar()->GetWindow() );
-
- SetBackground (Wallpaper());
-
- GetTitleBar()->GetWindow()->Show ();
- GetTitleBar()->GetWindow()->AddEventListener (
- LINK(this,TitledControl,WindowEventListener));
-
- UpdateStates ();
-}
-
-
-
-
-TitledControl::~TitledControl (void)
-{
- GetTitleBar()->GetWindow()->RemoveEventListener (
- LINK(this,TitledControl,WindowEventListener));
-}
-
-
-
-
-Size TitledControl::GetPreferredSize (void)
-{
- Size aPreferredSize;
- if (GetControl() != NULL)
- {
- aPreferredSize = GetControl()->GetPreferredSize();
- if ( ! IsExpanded())
- aPreferredSize.Height() = 0;
- }
- else
- aPreferredSize = Size (GetSizePixel().Width(), 0);
- if (aPreferredSize.Width() == 0)
- aPreferredSize.Width() = 300;
- aPreferredSize.Height() += GetTitleBar()->GetPreferredHeight(
- aPreferredSize.Width());
-
- return aPreferredSize;
-}
-
-
-
-
-sal_Int32 TitledControl::GetPreferredWidth (sal_Int32 nHeight)
-{
- int nPreferredWidth = 0;
- if (GetControl() != NULL)
- nPreferredWidth = GetControl()->GetPreferredWidth(
- nHeight - GetTitleBar()->GetWindow()->GetSizePixel().Height());
- else
- nPreferredWidth = GetSizePixel().Width();
- if (nPreferredWidth == 0)
- nPreferredWidth = 300;
-
- return nPreferredWidth;
-}
-
-
-
-
-sal_Int32 TitledControl::GetPreferredHeight (sal_Int32 nWidth)
-{
- int nPreferredHeight = 0;
- if (IsExpanded() && GetControl()!=NULL)
- nPreferredHeight = GetControl()->GetPreferredHeight(nWidth);
- nPreferredHeight += GetTitleBar()->GetPreferredHeight(nWidth);
-
- return nPreferredHeight;
-}
-
-
-
-
-bool TitledControl::IsResizable (void)
-{
- return IsExpanded()
- && GetControl()->IsResizable();
-}
-
-
-
-
-::Window* TitledControl::GetWindow (void)
-{
- return this;
-}
-
-
-
-
-void TitledControl::Resize (void)
-{
- Size aWindowSize (GetOutputSizePixel());
-
- int nTitleBarHeight
- = GetTitleBar()->GetPreferredHeight(aWindowSize.Width());
- GetTitleBar()->GetWindow()->SetPosSizePixel (
- Point (0,0),
- Size (aWindowSize.Width(), nTitleBarHeight));
-
-
- TreeNode* pControl = GetControl();
- if (pControl != NULL
- && pControl->GetWindow() != NULL
- && pControl->GetWindow()->IsVisible())
- {
- pControl->GetWindow()->SetPosSizePixel (
- Point (0,nTitleBarHeight),
- Size (aWindowSize.Width(), aWindowSize.Height()-nTitleBarHeight));
- }
-}
-
-
-
-
-void TitledControl::GetFocus (void)
-{
- ::Window::GetFocus();
- if (GetTitleBar() != NULL)
- GetTitleBar()->GrabFocus();
-}
-
-
-
-
-void TitledControl::KeyInput (const KeyEvent& rEvent)
-{
- KeyCode nCode = rEvent.GetKeyCode();
- if (nCode == KEY_SPACE)
- {
- // Toggle the expansion state of the control (when toggling is
- // supported.) The focus remains on this control.
- GetParentNode()->GetControlContainer().SetExpansionState (
- this,
- ControlContainer::ES_TOGGLE);
- }
- else if (nCode == KEY_RETURN)
- {
- // Return, also called enter, enters the control and puts the
- // focus to the first child. If the control is not yet
- // expanded then do that first.
- GetParentNode()->GetControlContainer().SetExpansionState (
- this,
- ControlContainer::ES_EXPAND);
-
- if ( ! FocusManager::Instance().TransferFocus(this,nCode))
- {
- // When already expanded then put focus on first child.
- TreeNode* pControl = GetControl();
- if (pControl!=NULL && IsExpanded())
- if (pControl->GetWindow() != NULL)
- pControl->GetWindow()->GrabFocus();
- }
- }
- else if (nCode == KEY_ESCAPE)
- {
- if ( ! FocusManager::Instance().TransferFocus(this,nCode))
- // Put focus to parent.
- GetParent()->GrabFocus();
- }
- else
- Window::KeyInput (rEvent);
-}
-
-
-
-
-const String& TitledControl::GetTitle (void) const
-{
- return msTitle;
-}
-
-
-
-
-bool TitledControl::Expand (bool bExpanded)
-{
- bool bExpansionStateChanged (false);
-
- if (IsExpandable() && IsEnabled())
- {
- if (GetTitleBar()->IsExpanded() != bExpanded)
- bExpansionStateChanged |= GetTitleBar()->Expand (bExpanded);
- // Get the control. Use the bExpanded parameter as argument to
- // indicate that a control is created via its factory only when it
- // is to be expanded. When it is collapsed this is not necessary.
- TreeNode* pControl = GetControl();
- if (pControl != NULL
- && GetControl()->IsExpanded() != bExpanded)
- {
- bExpansionStateChanged |= pControl->Expand (bExpanded);
- }
- if (bExpansionStateChanged)
- UpdateStates();
- }
-
- return bExpansionStateChanged;
-}
-
-
-
-
-bool TitledControl::IsExpandable (void) const
-{
- const TreeNode* pControl = GetConstControl();
- if (pControl != NULL)
- return pControl->IsExpandable();
- else
- // When a control factory is given but the control has not yet been
- // created we assume that the control is expandable.
- return true;
-}
-
-
-
-
-bool TitledControl::IsExpanded (void) const
-{
- const TreeNode* pControl = GetConstControl();
- if (pControl != NULL)
- return pControl->IsExpanded();
- else
- return false;
-}
-
-void TitledControl::SetEnabledState(bool bFlag)
-{
- if (!bFlag)
- {
- GetParentNode()->GetControlContainer().SetExpansionState (
- this,
- ControlContainer::ES_COLLAPSE);
- Disable();
- }
- else
- {
-/*
- GetParentNode()->GetControlContainer().SetExpansionState (
- this,
- ControlContainer::ES_EXPAND);
-*/
- Enable();
- }
-
- GetTitleBar()->SetEnabledState(bFlag);
-}
-
-
-
-bool TitledControl::IsShowing (void) const
-{
- return mbVisible;
-}
-
-
-
-
-void TitledControl::Show (bool bVisible)
-{
- if (mbVisible != bVisible)
- {
- mbVisible = bVisible;
- UpdateStates ();
- }
-}
-
-
-
-
-void TitledControl::UpdateStates (void)
-{
- if (mbVisible)
- GetWindow()->Show();
- else
- GetWindow()->Hide();
-
- TreeNode* pControl = GetControl();
- if (pControl!=NULL && pControl->GetWindow() != NULL)
- {
- if (IsVisible() && IsExpanded())
- pControl->GetWindow()->Show();
- else
- pControl->GetWindow()->Hide();
- }
-}
-
-
-
-
-IMPL_LINK(TitledControl, WindowEventListener,
- VclSimpleEvent*, pEvent)
-{
- if (pEvent!=NULL && pEvent->ISA(VclWindowEvent))
- {
- VclWindowEvent* pWindowEvent = static_cast<VclWindowEvent*>(pEvent);
- switch (pWindowEvent->GetId())
- {
- case VCLEVENT_WINDOW_MOUSEBUTTONUP:
- if (IsEnabled())
- (*mpClickHandler)(*this);
- break;
- }
- }
- return 0;
-}
-
-
-
-
-TreeNode* TitledControl::GetControl (void)
-{
- return mpControlContainer->GetControl(1);
-}
-
-
-
-
-const TreeNode* TitledControl::GetConstControl () const
-{
- return const_cast<TitledControl*>(this)->GetControl();
-}
-
-
-
-
-TitleBar* TitledControl::GetTitleBar (void)
-{
- return static_cast<TitleBar*>(mpControlContainer->GetControl(0));
-}
-
-
-
-
-::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible> TitledControl::CreateAccessibleObject (
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible>& )
-{
- return new ::accessibility::AccessibleTreeNode(
- *this,
- GetTitle(),
- GetTitle(),
- ::com::sun::star::accessibility::AccessibleRole::LIST_ITEM);
-}
-
-
-
-
-//===== TitledControlStandardClickHandler =====================================
-
-TitledControlStandardClickHandler::TitledControlStandardClickHandler (
- ControlContainer& rControlContainer,
- ControlContainer::ExpansionState eExpansionState)
- : mrControlContainer(rControlContainer),
- meExpansionState(eExpansionState)
-{
-}
-
-
-
-
-void TitledControlStandardClickHandler::operator () (TitledControl& rTitledControl)
-{
- // Toggle expansion.
- mrControlContainer.SetExpansionState (&rTitledControl, meExpansionState);
-}
-
-} } // end of namespace ::sd::toolpanel