Files
libreoffice/chart2/source/controller/inc/ObjectHierarchy.hxx
Kurt Zenker 921ff4b99a CWS-TOOLING: integrate CWS chartuseability01
2009-09-07 17:26:44 +0200 iha  r275906 : CWS-TOOLING: rebase CWS chartuseability01 to trunk@275801 (milestone: DEV300:m57)
2009-08-27 13:48:16 +0200 iha  r275481 : #7049# listbox to select chart elements
2009-08-27 11:54:53 +0200 iha  r275464 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-26 16:49:58 +0200 iha  r275435 : #i102820# added missing case 'floor'
2009-08-26 15:33:51 +0200 iha  r275427 : #i102820# make 'insert legend' work properly
2009-08-25 16:35:00 +0200 ufi  r275369 : i104087
2009-08-25 15:12:17 +0200 iha  r275360 : #i104087# 'Object Properties' -> 'Format Selection'
2009-08-25 15:11:31 +0200 iha  r275359 : #i104087# 'Object Properties' -> 'Format Selection'
2009-08-25 15:11:15 +0200 iha  r275358 : #i104087# 'Object Properties' -> 'Format Selection'
2009-08-25 11:57:43 +0200 iha  r275344 : #i104087# changed behavior of insert menu
2009-08-18 12:53:54 +0200 oc  r275093 : #i104082,104086,104089# multiple changes because of changed chartUI
2009-08-10 16:46:17 +0200 ufi  r274824 : i104083 i104087 i104090
2009-08-07 14:04:34 +0200 iha  r274763 : #7049# listbox to select chart elements
2009-08-07 13:06:05 +0200 iha  r274760 : #7049# listbox to select chart elements
2009-08-07 13:05:06 +0200 iha  r274759 : #7049# listbox to select chart elements
2009-08-07 12:32:31 +0200 iha  r274756 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-07 12:31:54 +0200 iha  r274755 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-06 19:00:48 +0200 iha  r274742 : #i103593# make insert menu behavior selection dependent
2009-08-06 19:00:14 +0200 iha  r274741 : #i103593# make insert menu behavior selection dependent
2009-08-06 15:34:01 +0200 iha  r274731 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-06 14:39:20 +0200 iha  r274728 : #i86146# ease adding R-squared value with an equation
2009-08-06 14:37:02 +0200 iha  r274727 : #i86146# ease adding R-squared value with an equation
2009-08-06 13:37:54 +0200 iha  r274724 : #i86146# ease adding R-squared value with an equation
2009-08-06 13:37:15 +0200 iha  r274723 : #i86146# ease adding R-squared value with an equation
2009-08-06 13:04:27 +0200 iha  r274722 : #i103593# make insert menu behavior selection dependent
2009-08-06 13:03:35 +0200 iha  r274721 : #i103593# make insert menu behavior selection dependent
2009-08-05 18:26:31 +0200 iha  r274693 : #i104033# inconsistent wording 'error indicator' <-> 'error bar'
2009-08-05 16:51:45 +0200 iha  r274688 : #i104028# rename font tabpage 'Characters'->'Font'
2009-08-05 16:30:21 +0200 iha  r274685 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-05 15:34:11 +0200 iha  r274680 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-05 15:32:43 +0200 iha  r274679 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-05 15:31:26 +0200 iha  r274678 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-05 15:17:51 +0200 iha  r274676 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-05 15:16:22 +0200 iha  r274675 : #i58163# #i69422# #i102820# enhance chart context menu
2009-08-05 14:58:59 +0200 iha  r274674 : #7049# listbox to select chart elements
2009-08-05 14:33:54 +0200 iha  r274669 : #7049# listbox to select chart elements
2009-08-05 14:22:17 +0200 iha  r274665 : #7049# listbox to select chart elements
2009-08-05 13:21:05 +0200 iha  r274656 : #i102820# offer insertion of several elements in context menu also if nothing is selected
2009-08-05 11:56:06 +0200 iha  r274647 : #7049# listbox to select chart elements
2009-08-05 11:43:40 +0200 iha  r274645 : #7049# listbox to select chart elements
2009-07-24 19:46:50 +0200 iha  r274318 : #i58163# #i69422# #i102820# enhance chart context menu
2009-07-24 16:23:13 +0200 iha  r274313 : #i58163# #i69422# #i102820# enhance chart context menu
2009-07-24 16:13:22 +0200 iha  r274311 : #i58163# #i69422# #i102820# enhance chart context menu
2009-09-11 16:06:18 +00:00

122 lines
3.8 KiB
C++

/*************************************************************************
*
* 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: ObjectHierarchy.hxx,v $
* $Revision: 1.3 $
*
* 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 CHART2_OBJECTHIERARCHY_HXX
#define CHART2_OBJECTHIERARCHY_HXX
#include <rtl/ustring.hxx>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/awt/KeyEvent.hpp>
#include <memory>
#include <vector>
namespace chart
{
class ExplicitValueProvider;
namespace impl
{
class ImplObjectHierarchy;
}
class ObjectHierarchy
{
public:
typedef ::rtl::OUString tCID;
typedef ::std::vector< tCID > tChildContainer;
/** @param bFlattenDiagram
If <TRUE/>, the content of the diaram (data series, wall, floor,
etc.) is treated as being at the same level as the diagram. (This is
used for keyboard navigation).
*/
explicit ObjectHierarchy(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartDocument > & xChartDocument,
ExplicitValueProvider * pExplicitValueProvider = 0,
bool bFlattenDiagram = false,
bool bOrderingForElementSelector = false );
~ObjectHierarchy();
static tCID getRootNodeCID();
static bool isRootNode( const tCID & rCID );
/// equal to getChildren( getRootNodeCID())
tChildContainer getTopLevelChildren() const;
bool hasChildren( const tCID & rParent ) const;
tChildContainer getChildren( const tCID & rParent ) const;
tChildContainer getSiblings( const tCID & rNode ) const;
/// The result is empty, if the node cannot be found in the tree
tCID getParent( const tCID & rNode ) const;
/// @returns -1, if no parent can be determined
sal_Int32 getIndexInParent( const tCID & rNode ) const;
private:
::std::auto_ptr< impl::ImplObjectHierarchy > m_apImpl;
};
class ObjectKeyNavigation
{
public:
explicit ObjectKeyNavigation( const ObjectHierarchy::tCID & rCurrentCID,
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartDocument > & xChartDocument,
ExplicitValueProvider * pExplicitValueProvider = 0 );
bool handleKeyEvent( const ::com::sun::star::awt::KeyEvent & rEvent );
ObjectHierarchy::tCID getCurrentSelection() const;
private:
void setCurrentSelection( const ObjectHierarchy::tCID & rCID );
bool first();
bool last();
bool next();
bool previous();
bool up();
bool down();
bool veryFirst();
bool veryLast();
ObjectHierarchy::tCID m_aCurrentCID;
::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartDocument > m_xChartDocument;
ExplicitValueProvider * m_pExplicitValueProvider;
bool m_bStepDownInDiagram;
};
} // namespace chart
// CHART2_OBJECTHIERARCHY_HXX
#endif