Files
libreoffice/svtools/source/control/valueset.cxx

2329 lines
65 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
re-base on ALv2 code. Includes: Patch contributed by: Jurgen Schmidt remove onlineregistration with dependencies http://svn.apache.org/viewvc?view=revision&revision=1240245 imported patch package_eventlistener.patch http://svn.apache.org/viewvc?view=revision&revision=1172103 Patch contributed by Pedro Giffuni Accept Google Chrome OS fonts as equivalent to MS fonts. http://svn.apache.org/viewvc?view=revision&revision=1233155 http://svn.apache.org/viewvc?view=revision&revision=1233408 Patch contributed by Andre Fischer Do not add targets for junit tests when junit is disabled. http://svn.apache.org/viewvc?view=revision&revision=1241508 Patches contributed by Mathias Bauer (and others) gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 cws mba34issues01: #i114600#: remove forbidden characters from list of unencoded characters http://svn.apache.org/viewvc?view=revision&revision=1172370 Patches contributed by Oliver Rainer-Wittman some clean up in JPEGReader due to memory constraints http://svn.apache.org/viewvc?view=revision&revision=1299729 119114 - method <UpdateDialog::addSpecificError(..)> - create entry with correct type http://svn.apache.org/viewvc?view=revision&revision=1305265 Patches contributed by Ariel Constenla-Haile i118707 - make toolbar control's popup window grab focus http://svn.apache.org/viewvc?view=revision&revision=1225846 Patches contributed by Herbert Duerr #i118662# remove usage of BerkeleyDB in desktop module http://svn.apache.org/viewvc?view=revision&revision=1213171 minor cleanups in dp_persmap.* http://svn.apache.org/viewvc?view=revision&revision=1215064 flush early to prevent problem with extension manager not cleaning up its objects http://svn.apache.org/viewvc?view=revision&revision=1228147 i118726 do not flush *pmap file while reading it http://svn.apache.org/viewvc?view=revision&revision=1230614 #i119048# migrate BDB extension entries using a simple heuristic http://svn.apache.org/viewvc?view=revision&revision=1300972 #i119048# handle edge cases when importing BDB hash files http://svn.apache.org/viewvc?view=revision&revision=1301428 #i119113# fix of-by-one when importing BDB files http://svn.apache.org/viewvc?view=revision&revision=1305420 restore our encryption settings, icon themes, and dictionaries. removed wrapper hacks, kill obsolete bundled extension blob / pre-registration handling, remove duplicated quickstart code. remove OS/2 conditionals.
2012-11-15 17:28:16 +00:00
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
2000-09-18 16:07:07 +00:00
#include <tools/debug.hxx>
#include <vcl/builderfactory.hxx>
2000-09-18 16:07:07 +00:00
#include <vcl/decoview.hxx>
#include <vcl/svapp.hxx>
#include <vcl/scrbar.hxx>
#include <vcl/help.hxx>
#include <vcl/settings.hxx>
#include <com/sun/star/accessibility/AccessibleEventObject.hpp>
#include <com/sun/star/accessibility/AccessibleEventId.hpp>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/lang/XComponent.hpp>
#include <rtl/ustring.hxx>
2002-03-05 14:54:15 +00:00
#include "valueimp.hxx"
#include <svtools/valueset.hxx>
2000-09-18 16:07:07 +00:00
using namespace css::uno;
using namespace css::lang;
using namespace css::accessibility;
namespace
{
enum
{
ITEM_OFFSET = 4,
ITEM_OFFSET_DOUBLE = 6,
NAME_LINE_OFF_X = 2,
NAME_LINE_OFF_Y = 2,
NAME_LINE_HEIGHT = 2,
NAME_OFFSET = 2,
SCRBAR_OFFSET = 1,
SCROLL_OFFSET = 4
};
}
void ValueSet::ImplInit()
2000-09-18 16:07:07 +00:00
{
mpNoneItem.reset(NULL);
mxScrollBar.reset(NULL);
mnItemWidth = 0;
mnItemHeight = 0;
2000-09-18 16:07:07 +00:00
mnTextOffset = 0;
mnVisLines = 0;
mnLines = 0;
mnUserItemWidth = 0;
mnUserItemHeight = 0;
mnFirstLine = 0;
mnSelItemId = 0;
mnHighItemId = 0;
mnCols = 0;
mnCurCol = 0;
mnUserCols = 0;
mnUserVisLines = 0;
mnSpacing = 0;
mnFrameStyle = DrawFrameStyle::NONE;
2012-02-11 18:17:26 +01:00
mbFormat = true;
mbHighlight = false;
mbSelection = false;
mbNoSelection = true;
mbDrawSelection = true;
mbBlackSel = false;
mbDoubleSel = false;
mbScroll = false;
mbFullMode = true;
mbEdgeBlending = false;
mbHasVisibleItems = false;
2000-09-18 16:07:07 +00:00
// #106446#, #106601# force mirroring of virtual device
maVirDev->EnableRTL( GetParent()->IsRTLEnabled() );
2012-02-11 18:17:26 +01:00
ImplInitSettings( true, true, true );
2000-09-18 16:07:07 +00:00
}
ValueSet::ValueSet( vcl::Window* pParent, WinBits nWinStyle, bool bDisableTransientChildren ) :
2000-09-18 16:07:07 +00:00
Control( pParent, nWinStyle ),
maVirDev( VclPtr<VirtualDevice>::Create(*this) ),
2000-09-18 16:07:07 +00:00
maColor( COL_TRANSPARENT )
{
ImplInit();
mbIsTransientChildrenDisabled = bDisableTransientChildren;
2000-09-18 16:07:07 +00:00
}
VCL_BUILDER_DECL_FACTORY(ValueSet)
{
WinBits nWinBits = WB_TABSTOP;
OString sBorder = VclBuilder::extractCustomProperty(rMap);
if (!sBorder.isEmpty())
nWinBits |= WB_BORDER;
rRet = VclPtr<ValueSet>::Create(pParent, nWinBits);
}
ValueSet::ValueSet( vcl::Window* pParent, const ResId& rResId, bool bDisableTransientChildren ) :
2000-09-18 16:07:07 +00:00
Control( pParent, rResId ),
maVirDev( VclPtr<VirtualDevice>::Create(*this) ),
2000-09-18 16:07:07 +00:00
maColor( COL_TRANSPARENT )
{
ImplInit();
mbIsTransientChildrenDisabled = bDisableTransientChildren;
2000-09-18 16:07:07 +00:00
}
ValueSet::~ValueSet()
{
disposeOnce();
}
void ValueSet::dispose()
2000-09-18 16:07:07 +00:00
{
Reference<XComponent> xComponent(GetAccessible(false), UNO_QUERY);
if (xComponent.is())
xComponent->dispose();
2000-09-18 16:07:07 +00:00
2002-02-25 09:52:14 +00:00
ImplDeleteItems();
mxScrollBar.disposeAndClear();
Control::dispose();
2002-02-25 09:52:14 +00:00
}
void ValueSet::ImplDeleteItems()
{
const size_t n = mItemList.size();
for ( size_t i = 0; i < n; ++i )
2000-09-18 16:07:07 +00:00
{
ValueSetItem* pItem = mItemList[i];
if ( pItem->mbVisible && ImplHasAccessibleListeners() )
2002-02-25 09:52:14 +00:00
{
Any aOldAny;
Any aNewAny;
2002-02-25 09:52:14 +00:00
aOldAny <<= pItem->GetAccessible( mbIsTransientChildrenDisabled );
ImplFireAccessibleEvent(AccessibleEventId::CHILD, aOldAny, aNewAny);
2002-02-25 09:52:14 +00:00
}
2000-09-18 16:07:07 +00:00
delete pItem;
}
2002-02-25 09:52:14 +00:00
mItemList.clear();
2000-09-18 16:07:07 +00:00
}
void ValueSet::ApplySettings(vcl::RenderContext& rRenderContext)
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
ApplyControlFont(rRenderContext, rStyleSettings.GetAppFont());
ApplyControlForeground(rRenderContext, rStyleSettings.GetButtonTextColor());
SetTextFillColor();
Color aColor;
if (GetStyle() & WB_MENUSTYLEVALUESET)
aColor = rStyleSettings.GetMenuColor();
else if (IsEnabled() && (GetStyle() & WB_FLATVALUESET))
aColor = rStyleSettings.GetWindowColor();
else
aColor = rStyleSettings.GetFaceColor();
ApplyControlBackground(rRenderContext, aColor);
}
void ValueSet::ImplInitSettings(bool bFont, bool bForeground, bool bBackground)
2000-09-18 16:07:07 +00:00
{
const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
if (bFont)
2000-09-18 16:07:07 +00:00
{
ApplyControlFont(*this, rStyleSettings.GetAppFont());
2000-09-18 16:07:07 +00:00
}
if (bForeground || bFont)
2000-09-18 16:07:07 +00:00
{
ApplyControlForeground(*this, rStyleSettings.GetButtonTextColor());
2000-09-18 16:07:07 +00:00
SetTextFillColor();
}
if (bBackground)
2000-09-18 16:07:07 +00:00
{
Color aColor;
if (GetStyle() & WB_MENUSTYLEVALUESET)
aColor = rStyleSettings.GetMenuColor();
else if (IsEnabled() && (GetStyle() & WB_FLATVALUESET))
2000-09-18 16:07:07 +00:00
aColor = rStyleSettings.GetWindowColor();
else
aColor = rStyleSettings.GetFaceColor();
ApplyControlBackground(*this, aColor);
2000-09-18 16:07:07 +00:00
}
}
void ValueSet::ImplInitScrollBar()
{
if (GetStyle() & WB_VSCROLL)
2000-09-18 16:07:07 +00:00
{
if (!mxScrollBar.get())
2000-09-18 16:07:07 +00:00
{
mxScrollBar.reset(VclPtr<ScrollBar>::Create(this, WB_VSCROLL | WB_DRAG));
mxScrollBar->SetScrollHdl(LINK(this, ValueSet, ImplScrollHdl));
2000-09-18 16:07:07 +00:00
}
else
{
// adapt the width because of the changed settings
long nScrBarWidth = Application::GetSettings().GetStyleSettings().GetScrollBarSize();
mxScrollBar->setPosSizePixel(0, 0, nScrBarWidth, 0, PosSizeFlags::Width);
2000-09-18 16:07:07 +00:00
}
}
}
void ValueSet::ImplFormatItem(vcl::RenderContext& rRenderContext, ValueSetItem* pItem, Rectangle aRect)
2000-09-18 16:07:07 +00:00
{
WinBits nStyle = GetStyle();
if (nStyle & WB_ITEMBORDER)
2000-09-18 16:07:07 +00:00
{
aRect.Left() += 1;
aRect.Top() += 1;
aRect.Right() -= 1;
aRect.Bottom() -= 1;
if (nStyle & WB_FLATVALUESET)
2000-09-18 16:07:07 +00:00
{
sal_Int32 nBorder = (nStyle & WB_DOUBLEBORDER) ? 2 : 1;
aRect.Left() += nBorder;
aRect.Top() += nBorder;
aRect.Right() -= nBorder;
aRect.Bottom() -= nBorder;
2000-09-18 16:07:07 +00:00
}
else
{
DecorationView aView(maVirDev.get());
aRect = aView.DrawFrame(aRect, mnFrameStyle);
2000-09-18 16:07:07 +00:00
}
}
if (pItem == mpNoneItem.get())
2000-09-18 16:07:07 +00:00
pItem->maText = GetText();
if ((aRect.GetHeight() > 0) && (aRect.GetWidth() > 0))
2000-09-18 16:07:07 +00:00
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
if (pItem == mpNoneItem.get())
2000-09-18 16:07:07 +00:00
{
maVirDev->SetFont(rRenderContext.GetFont());
maVirDev->SetTextColor((nStyle & WB_MENUSTYLEVALUESET) ? rStyleSettings.GetMenuTextColor() : rStyleSettings.GetWindowTextColor());
maVirDev->SetTextFillColor();
maVirDev->SetFillColor((nStyle & WB_MENUSTYLEVALUESET) ? rStyleSettings.GetMenuColor() : rStyleSettings.GetWindowColor());
maVirDev->DrawRect(aRect);
Point aTxtPos(aRect.Left() + 2, aRect.Top());
long nTxtWidth = rRenderContext.GetTextWidth(pItem->maText);
if (nStyle & WB_RADIOSEL)
2000-09-18 16:07:07 +00:00
{
aTxtPos.X() += 4;
aTxtPos.Y() += 4;
}
if ((aTxtPos.X() + nTxtWidth) > aRect.Right())
2000-09-18 16:07:07 +00:00
{
maVirDev->SetClipRegion(vcl::Region(aRect));
maVirDev->DrawText(aTxtPos, pItem->maText);
maVirDev->SetClipRegion();
2000-09-18 16:07:07 +00:00
}
else
maVirDev->DrawText(aTxtPos, pItem->maText);
2000-09-18 16:07:07 +00:00
}
else if (pItem->meType == VALUESETITEM_COLOR)
2000-09-18 16:07:07 +00:00
{
maVirDev->SetFillColor(pItem->maColor);
maVirDev->DrawRect(aRect);
2000-09-18 16:07:07 +00:00
}
else
{
if (IsColor())
maVirDev->SetFillColor(maColor);
else if (nStyle & WB_MENUSTYLEVALUESET)
maVirDev->SetFillColor(rStyleSettings.GetMenuColor());
else if (IsEnabled())
maVirDev->SetFillColor(rStyleSettings.GetWindowColor());
2000-09-18 16:07:07 +00:00
else
maVirDev->SetFillColor(rStyleSettings.GetFaceColor());
maVirDev->DrawRect(aRect);
2000-09-18 16:07:07 +00:00
if (pItem->meType == VALUESETITEM_USERDRAW)
2000-09-18 16:07:07 +00:00
{
UserDrawEvent aUDEvt(this, maVirDev.get(), aRect, pItem->mnId);
UserDraw(aUDEvt);
2000-09-18 16:07:07 +00:00
}
else
{
Size aImageSize = pItem->maImage.GetSizePixel();
Size aRectSize = aRect.GetSize();
Point aPos(aRect.Left(), aRect.Top());
aPos.X() += (aRectSize.Width() - aImageSize.Width()) / 2;
aPos.Y() += (aRectSize.Height() - aImageSize.Height()) / 2;
DrawImageFlags nImageStyle = DrawImageFlags::NONE;
if (!IsEnabled())
nImageStyle |= DrawImageFlags::Disable;
if (aImageSize.Width() > aRectSize.Width() ||
aImageSize.Height() > aRectSize.Height())
2000-09-18 16:07:07 +00:00
{
maVirDev->SetClipRegion(vcl::Region(aRect));
maVirDev->DrawImage(aPos, pItem->maImage, nImageStyle);
maVirDev->SetClipRegion();
2000-09-18 16:07:07 +00:00
}
else
maVirDev->DrawImage(aPos, pItem->maImage, nImageStyle);
2000-09-18 16:07:07 +00:00
}
}
const sal_uInt16 nEdgeBlendingPercent(GetEdgeBlending() ? rStyleSettings.GetEdgeBlending() : 0);
if (nEdgeBlendingPercent)
{
const Color& rTopLeft(rStyleSettings.GetEdgeBlendingTopLeftColor());
const Color& rBottomRight(rStyleSettings.GetEdgeBlendingBottomRightColor());
const sal_uInt8 nAlpha((nEdgeBlendingPercent * 255) / 100);
const BitmapEx aBlendFrame(createBlendFrame(aRect.GetSize(), nAlpha, rTopLeft, rBottomRight));
if (!aBlendFrame.IsEmpty())
{
maVirDev->DrawBitmapEx(aRect.TopLeft(), aBlendFrame);
}
}
2000-09-18 16:07:07 +00:00
}
}
Reference<XAccessible> ValueSet::CreateAccessible()
2002-02-25 15:39:54 +00:00
{
return new ValueSetAcc( this, mbIsTransientChildrenDisabled );
2002-02-25 15:39:54 +00:00
}
void ValueSet::Format(vcl::RenderContext& rRenderContext)
2000-09-18 16:07:07 +00:00
{
Size aWinSize(GetOutputSizePixel());
size_t nItemCount = mItemList.size();
WinBits nStyle = GetStyle();
long nTxtHeight = rRenderContext.GetTextHeight();
long nOff;
long nNoneHeight;
long nNoneSpace;
VclPtr<ScrollBar> xDeletedScrollBar;
2000-09-18 16:07:07 +00:00
// consider the scrolling
if (nStyle & WB_VSCROLL)
2000-09-18 16:07:07 +00:00
ImplInitScrollBar();
else
{
xDeletedScrollBar = mxScrollBar;
mxScrollBar.clear();
2000-09-18 16:07:07 +00:00
}
// calculate item offset
if (nStyle & WB_ITEMBORDER)
2000-09-18 16:07:07 +00:00
{
if (nStyle & WB_DOUBLEBORDER)
2000-09-18 16:07:07 +00:00
nOff = ITEM_OFFSET_DOUBLE;
else
nOff = ITEM_OFFSET;
}
else
nOff = 0;
// consider size, if NameField does exist
if (nStyle & WB_NAMEFIELD)
2000-09-18 16:07:07 +00:00
{
mnTextOffset = aWinSize.Height() - nTxtHeight - NAME_OFFSET;
aWinSize.Height() -= nTxtHeight + NAME_OFFSET;
2000-11-16 18:18:50 +00:00
if (!(nStyle & WB_FLATVALUESET))
2000-11-16 18:18:50 +00:00
{
mnTextOffset -= NAME_LINE_HEIGHT + NAME_LINE_OFF_Y;
aWinSize.Height() -= NAME_LINE_HEIGHT + NAME_LINE_OFF_Y;
2000-11-16 18:18:50 +00:00
}
2000-09-18 16:07:07 +00:00
}
else
2000-11-16 18:18:50 +00:00
mnTextOffset = 0;
2000-09-18 16:07:07 +00:00
// consider offset and size, if NoneField does exist
if (nStyle & WB_NONEFIELD)
2000-09-18 16:07:07 +00:00
{
nNoneHeight = nTxtHeight + nOff;
2012-02-05 12:23:31 +01:00
nNoneSpace = mnSpacing;
if (nStyle & WB_RADIOSEL)
2000-11-16 18:18:50 +00:00
nNoneHeight += 8;
2000-09-18 16:07:07 +00:00
}
else
{
2000-11-16 18:18:50 +00:00
nNoneHeight = 0;
2000-09-18 16:07:07 +00:00
nNoneSpace = 0;
2000-11-16 18:18:50 +00:00
if (mpNoneItem.get())
mpNoneItem.reset(NULL);
2000-09-18 16:07:07 +00:00
}
// calculate ScrollBar width
2000-09-18 16:07:07 +00:00
long nScrBarWidth = 0;
if (mxScrollBar.get())
nScrBarWidth = mxScrollBar->GetSizePixel().Width() + SCRBAR_OFFSET;
2000-09-18 16:07:07 +00:00
// calculate number of columns
if (!mnUserCols)
2000-09-18 16:07:07 +00:00
{
if (mnUserItemWidth)
2000-09-18 16:07:07 +00:00
{
mnCols = static_cast<sal_uInt16>((aWinSize.Width() - nScrBarWidth + mnSpacing) / (mnUserItemWidth + mnSpacing));
if (mnCols <= 0)
2000-09-18 16:07:07 +00:00
mnCols = 1;
}
else
{
2000-09-18 16:07:07 +00:00
mnCols = 1;
}
2000-09-18 16:07:07 +00:00
}
else
{
2000-09-18 16:07:07 +00:00
mnCols = mnUserCols;
}
2000-09-18 16:07:07 +00:00
// calculate number of rows
2012-02-11 18:17:26 +01:00
mbScroll = false;
// Floor( (M+N-1)/N )==Ceiling( M/N )
mnLines = (static_cast<long>(nItemCount) + mnCols - 1) / mnCols;
if (mnLines <= 0)
2000-09-18 16:07:07 +00:00
mnLines = 1;
long nCalcHeight = aWinSize.Height() - nNoneHeight;
if (mnUserVisLines)
{
2000-09-18 16:07:07 +00:00
mnVisLines = mnUserVisLines;
}
else if (mnUserItemHeight)
2000-09-18 16:07:07 +00:00
{
mnVisLines = (nCalcHeight - nNoneSpace + mnSpacing) / (mnUserItemHeight + mnSpacing);
if (!mnVisLines)
2000-09-18 16:07:07 +00:00
mnVisLines = 1;
}
else
{
2000-09-18 16:07:07 +00:00
mnVisLines = mnLines;
}
if (mnLines > mnVisLines)
2012-02-11 18:17:26 +01:00
mbScroll = true;
if (mnLines <= mnVisLines)
{
2000-09-18 16:07:07 +00:00
mnFirstLine = 0;
}
2000-09-18 16:07:07 +00:00
else
{
if (mnFirstLine > static_cast<sal_uInt16>(mnLines - mnVisLines))
mnFirstLine = static_cast<sal_uInt16>(mnLines - mnVisLines);
2000-09-18 16:07:07 +00:00
}
// calculate item size
const long nColSpace = (mnCols - 1) * static_cast<long>(mnSpacing);
const long nLineSpace = ((mnVisLines - 1) * mnSpacing) + nNoneSpace;
if (mnUserItemWidth && !mnUserCols)
2000-09-18 16:07:07 +00:00
{
mnItemWidth = mnUserItemWidth;
if (mnItemWidth > aWinSize.Width() - nScrBarWidth - nColSpace)
mnItemWidth = aWinSize.Width() - nScrBarWidth - nColSpace;
2000-09-18 16:07:07 +00:00
}
else
mnItemWidth = (aWinSize.Width() - nScrBarWidth-nColSpace) / mnCols;
if (mnUserItemHeight && !mnUserVisLines)
2000-09-18 16:07:07 +00:00
{
mnItemHeight = mnUserItemHeight;
if (mnItemHeight > nCalcHeight - nNoneSpace)
mnItemHeight = nCalcHeight - nNoneSpace;
2000-09-18 16:07:07 +00:00
}
else
{
nCalcHeight -= nLineSpace;
mnItemHeight = nCalcHeight / mnVisLines;
2000-09-18 16:07:07 +00:00
}
2000-11-16 18:18:50 +00:00
// Init VirDev
maVirDev->SetSettings(rRenderContext.GetSettings());
maVirDev->SetBackground(rRenderContext.GetBackground());
maVirDev->SetOutputSizePixel(aWinSize, true);
2000-09-18 16:07:07 +00:00
// nothing is changed in case of too small items
if ((mnItemWidth <= 0) ||
(mnItemHeight <= ((nStyle & WB_ITEMBORDER) ? 4 : 2)) ||
!nItemCount)
2000-09-18 16:07:07 +00:00
{
mbHasVisibleItems = false;
if (nStyle & WB_NONEFIELD)
2000-09-18 16:07:07 +00:00
{
if (mpNoneItem.get())
2000-09-18 16:07:07 +00:00
{
mpNoneItem->mbVisible = false;
2000-09-18 16:07:07 +00:00
mpNoneItem->maText = GetText();
}
}
2000-11-16 18:18:50 +00:00
for (size_t i = 0; i < nItemCount; i++)
2000-09-18 16:07:07 +00:00
{
mItemList[i]->mbVisible = false;
2000-09-18 16:07:07 +00:00
}
if (mxScrollBar.get())
mxScrollBar->Hide();
2000-09-18 16:07:07 +00:00
}
else
{
mbHasVisibleItems = true;
// determine Frame-Style
if (nStyle & WB_DOUBLEBORDER)
mnFrameStyle = DrawFrameStyle::DoubleIn;
2000-09-18 16:07:07 +00:00
else
mnFrameStyle = DrawFrameStyle::In;
2000-09-18 16:07:07 +00:00
// determine selected color and width
// if necessary change the colors, to make the selection
// better detectable
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
Color aHighColor(rStyleSettings.GetHighlightColor());
if (((aHighColor.GetRed() > 0x80) || (aHighColor.GetGreen() > 0x80) ||
(aHighColor.GetBlue() > 0x80)) ||
((aHighColor.GetRed() == 0x80) && (aHighColor.GetGreen() == 0x80) &&
(aHighColor.GetBlue() == 0x80)))
{
2012-02-11 18:17:26 +01:00
mbBlackSel = true;
}
2000-09-18 16:07:07 +00:00
else
{
2012-02-11 18:17:26 +01:00
mbBlackSel = false;
}
// draw the selection with double width if the items are bigger
if ((nStyle & WB_DOUBLEBORDER) &&
((mnItemWidth >= 25) && (mnItemHeight >= 20)))
{
2012-02-11 18:17:26 +01:00
mbDoubleSel = true;
}
2000-09-18 16:07:07 +00:00
else
{
2012-02-11 18:17:26 +01:00
mbDoubleSel = false;
}
2000-09-18 16:07:07 +00:00
// calculate offsets
2000-11-16 18:18:50 +00:00
long nStartX;
long nStartY;
if (mbFullMode)
2000-09-18 16:07:07 +00:00
{
long nAllItemWidth = (mnItemWidth * mnCols) + nColSpace;
long nAllItemHeight = (mnItemHeight * mnVisLines) + nNoneHeight + nLineSpace;
nStartX = (aWinSize.Width() - nScrBarWidth - nAllItemWidth) / 2;
nStartY = (aWinSize.Height() - nAllItemHeight) / 2;
2000-11-16 18:18:50 +00:00
}
else
{
nStartX = 0;
nStartY = 0;
2000-09-18 16:07:07 +00:00
}
// calculate and draw items
maVirDev->SetLineColor();
2000-09-18 16:07:07 +00:00
long x = nStartX;
2000-11-16 18:18:50 +00:00
long y = nStartY;
// create NoSelection field and show it
if (nStyle & WB_NONEFIELD)
2000-11-16 18:18:50 +00:00
{
if (mpNoneItem.get() == NULL)
mpNoneItem.reset(new ValueSetItem(*this));
2000-11-16 18:18:50 +00:00
mpNoneItem->mnId = 0;
mpNoneItem->meType = VALUESETITEM_NONE;
mpNoneItem->mbVisible = true;
maNoneItemRect.Left() = x;
maNoneItemRect.Top() = y;
maNoneItemRect.Right() = maNoneItemRect.Left() + aWinSize.Width() - x - 1;
maNoneItemRect.Bottom() = y + nNoneHeight - 1;
2000-11-16 18:18:50 +00:00
ImplFormatItem(rRenderContext, mpNoneItem.get(), maNoneItemRect);
2000-11-16 18:18:50 +00:00
y += nNoneHeight + nNoneSpace;
2000-11-16 18:18:50 +00:00
}
// draw items
sal_uLong nFirstItem = static_cast<sal_uLong>(mnFirstLine) * mnCols;
sal_uLong nLastItem = nFirstItem + (mnVisLines * mnCols);
2002-02-25 09:52:14 +00:00
maItemListRect.Left() = x;
maItemListRect.Top() = y;
maItemListRect.Right() = x + mnCols * (mnItemWidth + mnSpacing) - mnSpacing - 1;
maItemListRect.Bottom() = y + mnVisLines * (mnItemHeight + mnSpacing) - mnSpacing - 1;
if (!mbFullMode)
2000-11-16 18:18:50 +00:00
{
// If want also draw parts of items in the last line,
// then we add one more line if parts of these line are
// visible
if (y + (mnVisLines * (mnItemHeight + mnSpacing)) < aWinSize.Height())
2000-11-16 18:18:50 +00:00
nLastItem += mnCols;
maItemListRect.Bottom() = aWinSize.Height() - y;
2000-11-16 18:18:50 +00:00
}
for (size_t i = 0; i < nItemCount; i++)
2000-09-18 16:07:07 +00:00
{
ValueSetItem* pItem = mItemList[i];
2000-09-18 16:07:07 +00:00
if (i >= nFirstItem && i < nLastItem)
2000-09-18 16:07:07 +00:00
{
if (!pItem->mbVisible && ImplHasAccessibleListeners())
2002-02-25 09:52:14 +00:00
{
Any aOldAny;
Any aNewAny;
2002-02-25 09:52:14 +00:00
aNewAny <<= pItem->GetAccessible(mbIsTransientChildrenDisabled);
ImplFireAccessibleEvent(AccessibleEventId::CHILD, aOldAny, aNewAny);
2002-02-25 09:52:14 +00:00
}
pItem->mbVisible = true;
ImplFormatItem(rRenderContext, pItem, Rectangle(Point(x, y), Size(mnItemWidth, mnItemHeight)));
2000-09-18 16:07:07 +00:00
if (!((i + 1) % mnCols))
2000-09-18 16:07:07 +00:00
{
x = nStartX;
y += mnItemHeight + mnSpacing;
2000-09-18 16:07:07 +00:00
}
else
x += mnItemWidth + mnSpacing;
2000-09-18 16:07:07 +00:00
}
else
2002-02-25 09:52:14 +00:00
{
if (pItem->mbVisible && ImplHasAccessibleListeners())
2002-02-25 09:52:14 +00:00
{
Any aOldAny;
Any aNewAny;
2002-02-25 09:52:14 +00:00
aOldAny <<= pItem->GetAccessible(mbIsTransientChildrenDisabled);
ImplFireAccessibleEvent(AccessibleEventId::CHILD, aOldAny, aNewAny);
2002-02-25 09:52:14 +00:00
}
pItem->mbVisible = false;
2002-02-25 09:52:14 +00:00
}
2000-09-18 16:07:07 +00:00
}
// arrange ScrollBar, set values and show it
if (mxScrollBar.get())
2000-09-18 16:07:07 +00:00
{
Point aPos(aWinSize.Width() - nScrBarWidth + SCRBAR_OFFSET, 0);
Size aSize(nScrBarWidth - SCRBAR_OFFSET, aWinSize.Height());
2000-11-16 18:18:50 +00:00
// If a none field is visible, then we center the scrollbar
if (nStyle & WB_NONEFIELD)
2000-11-16 18:18:50 +00:00
{
aPos.Y() = nStartY + nNoneHeight + 1;
aSize.Height() = ((mnItemHeight + mnSpacing) * mnVisLines) - 2 - mnSpacing;
2000-11-16 18:18:50 +00:00
}
mxScrollBar->SetPosSizePixel(aPos, aSize);
mxScrollBar->SetRangeMax(mnLines);
mxScrollBar->SetVisibleSize(mnVisLines);
mxScrollBar->SetThumbPos((long)mnFirstLine);
2000-09-18 16:07:07 +00:00
long nPageSize = mnVisLines;
if (nPageSize < 1)
2000-09-18 16:07:07 +00:00
nPageSize = 1;
mxScrollBar->SetPageSize(nPageSize);
mxScrollBar->Show();
2000-09-18 16:07:07 +00:00
}
}
// waiting for the next since the formatting is finished
2012-02-11 18:17:26 +01:00
mbFormat = false;
xDeletedScrollBar.disposeAndClear();
2000-09-18 16:07:07 +00:00
}
void ValueSet::ImplDrawItemText(vcl::RenderContext& rRenderContext, const OUString& rText)
2000-09-18 16:07:07 +00:00
{
if (!(GetStyle() & WB_NAMEFIELD))
2000-09-18 16:07:07 +00:00
return;
Size aWinSize(GetOutputSizePixel());
long nTxtWidth = rRenderContext.GetTextWidth(rText);
long nTxtOffset = mnTextOffset;
2000-09-18 16:07:07 +00:00
// delete rectangle and show text
if (GetStyle() & WB_FLATVALUESET)
2000-09-18 16:07:07 +00:00
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
rRenderContext.SetLineColor();
rRenderContext.SetFillColor(rStyleSettings.GetFaceColor());
rRenderContext.DrawRect(Rectangle(Point(0, nTxtOffset), Point(aWinSize.Width(), aWinSize.Height())));
rRenderContext.SetTextColor(rStyleSettings.GetButtonTextColor());
2000-09-18 16:07:07 +00:00
}
else
2000-11-16 18:18:50 +00:00
{
nTxtOffset += NAME_LINE_HEIGHT+NAME_LINE_OFF_Y;
rRenderContext.Erase(Rectangle(Point(0, nTxtOffset), Point(aWinSize.Width(), aWinSize.Height())));
2000-11-16 18:18:50 +00:00
}
rRenderContext.DrawText(Point((aWinSize.Width() - nTxtWidth) / 2, nTxtOffset + (NAME_OFFSET / 2)), rText);
2000-09-18 16:07:07 +00:00
}
void ValueSet::ImplDrawSelect(vcl::RenderContext& rRenderContext)
2000-09-18 16:07:07 +00:00
{
if (!IsReallyVisible())
2000-09-18 16:07:07 +00:00
return;
2011-12-26 10:38:25 +01:00
const bool bFocus = HasFocus();
const bool bDrawSel = !((mbNoSelection && !mbHighlight) || (!mbDrawSelection && mbHighlight));
2000-09-18 16:07:07 +00:00
if (!bFocus && !bDrawSel)
2000-09-18 16:07:07 +00:00
{
ImplDrawItemText(rRenderContext, OUString());
2000-09-18 16:07:07 +00:00
return;
}
ImplDrawSelect(rRenderContext, mnSelItemId, bFocus, bDrawSel);
if (mbHighlight)
2000-09-18 16:07:07 +00:00
{
ImplDrawSelect(rRenderContext, mnHighItemId, bFocus, bDrawSel);
}
}
void ValueSet::ImplDrawSelect(vcl::RenderContext& rRenderContext, sal_uInt16 nItemId, const bool bFocus, const bool bDrawSel )
{
ValueSetItem* pItem;
Rectangle aRect;
if (nItemId)
{
const size_t nPos = GetItemPos( nItemId );
pItem = mItemList[ nPos ];
aRect = ImplGetItemRect( nPos );
}
else if (mpNoneItem.get())
{
pItem = mpNoneItem.get();
aRect = maNoneItemRect;
}
else if (bFocus && (pItem = ImplGetFirstItem()))
{
aRect = ImplGetItemRect(0);
}
else
{
return;
}
2000-09-18 16:07:07 +00:00
if (pItem->mbVisible)
{
// draw selection
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
rRenderContext.SetFillColor();
2000-09-18 16:07:07 +00:00
Color aDoubleColor(rStyleSettings.GetHighlightColor());
Color aSingleColor(rStyleSettings.GetHighlightTextColor());
if (!mbDoubleSel)
{
/*
* #99777# contrast enhancement for thin mode
*/
const Wallpaper& rWall = GetDisplayBackground();
if (!rWall.IsBitmap() && ! rWall.IsGradient())
{
const Color& rBack = rWall.GetColor();
if (rBack.IsDark() && ! aDoubleColor.IsBright())
{
aDoubleColor = Color(COL_WHITE);
aSingleColor = Color(COL_BLACK);
}
else if (rBack.IsBright() && ! aDoubleColor.IsDark())
{
aDoubleColor = Color(COL_BLACK);
aSingleColor = Color(COL_WHITE);
}
}
}
// specify selection output
WinBits nStyle = GetStyle();
if (nStyle & WB_MENUSTYLEVALUESET)
2000-09-18 16:07:07 +00:00
{
if (bFocus)
ShowFocus(aRect);
if (bDrawSel)
{
rRenderContext.SetLineColor(mbBlackSel ? Color(COL_BLACK) : aDoubleColor);
rRenderContext.DrawRect(aRect);
}
2000-09-18 16:07:07 +00:00
}
else if (nStyle & WB_RADIOSEL)
{
aRect.Left() += 3;
aRect.Top() += 3;
aRect.Right() -= 3;
aRect.Bottom() -= 3;
if (nStyle & WB_DOUBLEBORDER)
{
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
}
2000-09-18 16:07:07 +00:00
if (bFocus)
ShowFocus(aRect);
2000-09-18 16:07:07 +00:00
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
if (bDrawSel)
{
rRenderContext.SetLineColor(aDoubleColor);
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
rRenderContext.DrawRect(aRect);
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
rRenderContext.DrawRect(aRect);
}
2000-09-18 16:07:07 +00:00
}
else
2000-09-18 16:07:07 +00:00
{
if (bDrawSel)
{
rRenderContext.SetLineColor(mbBlackSel ? Color(COL_BLACK) : aDoubleColor);
rRenderContext.DrawRect(aRect);
}
if (mbDoubleSel)
{
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
if (bDrawSel)
rRenderContext.DrawRect(aRect);
}
2000-09-18 16:07:07 +00:00
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
Rectangle aRect2 = aRect;
2000-09-18 16:07:07 +00:00
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
if (bDrawSel)
rRenderContext.DrawRect(aRect);
if (mbDoubleSel)
{
aRect.Left()++;
aRect.Top()++;
aRect.Right()--;
aRect.Bottom()--;
if (bDrawSel)
rRenderContext.DrawRect(aRect);
}
2000-09-18 16:07:07 +00:00
if (bDrawSel)
{
rRenderContext.SetLineColor(mbBlackSel ? Color(COL_WHITE) : aSingleColor);
}
2000-09-18 16:07:07 +00:00
else
{
rRenderContext.SetLineColor(Color(COL_LIGHTGRAY));
}
rRenderContext.DrawRect(aRect2);
if (bFocus)
ShowFocus(aRect2);
2000-09-18 16:07:07 +00:00
}
ImplDrawItemText(rRenderContext, pItem->maText);
2000-09-18 16:07:07 +00:00
}
}
void ValueSet::ImplHideSelect( sal_uInt16 nItemId )
2000-09-18 16:07:07 +00:00
{
Rectangle aRect;
const size_t nItemPos = GetItemPos( nItemId );
if ( nItemPos != VALUESET_ITEM_NOTFOUND )
2000-09-18 16:07:07 +00:00
{
if ( !mItemList[nItemPos]->mbVisible )
{
return;
}
aRect = ImplGetItemRect(nItemPos);
2000-09-18 16:07:07 +00:00
}
else
2000-09-18 16:07:07 +00:00
{
if (mpNoneItem.get() == NULL)
{
return;
}
aRect = maNoneItemRect;
2000-09-18 16:07:07 +00:00
}
HideFocus();
const Point aPos = aRect.TopLeft();
const Size aSize = aRect.GetSize();
DrawOutDev( aPos, aSize, aPos, aSize, *maVirDev.get() );
2000-09-18 16:07:07 +00:00
}
2012-02-11 18:17:26 +01:00
void ValueSet::ImplHighlightItem( sal_uInt16 nItemId, bool bIsSelection )
2000-09-18 16:07:07 +00:00
{
if ( mnHighItemId != nItemId )
{
// remember the old item to delete the previous selection
sal_uInt16 nOldItem = mnHighItemId;
2000-09-18 16:07:07 +00:00
mnHighItemId = nItemId;
// don't draw the selection if nothing is selected
2000-09-18 16:07:07 +00:00
if ( !bIsSelection && mbNoSelection )
2012-02-11 18:17:26 +01:00
mbDrawSelection = false;
2000-09-18 16:07:07 +00:00
// remove the old selection and draw the new one
2000-09-18 16:07:07 +00:00
ImplHideSelect( nOldItem );
Invalidate();
2012-02-11 18:17:26 +01:00
mbDrawSelection = true;
2000-09-18 16:07:07 +00:00
}
}
void ValueSet::ImplDraw(vcl::RenderContext& rRenderContext)
2000-09-18 16:07:07 +00:00
{
if (mbFormat)
Format(rRenderContext);
2000-09-18 16:07:07 +00:00
HideFocus();
Point aDefPos;
Size aSize = maVirDev->GetOutputSizePixel();
2000-09-18 16:07:07 +00:00
if (mxScrollBar.get() && mxScrollBar->IsVisible())
2000-09-18 16:07:07 +00:00
{
Point aScrPos = mxScrollBar->GetPosPixel();
Size aScrSize = mxScrollBar->GetSizePixel();
Point aTempPos(0, aScrPos.Y());
Size aTempSize(aSize.Width(), aScrPos.Y());
2000-09-18 16:07:07 +00:00
rRenderContext.DrawOutDev(aDefPos, aTempSize, aDefPos, aTempSize, *maVirDev.get());
aTempSize.Width() = aScrPos.X() - 1;
2000-09-18 16:07:07 +00:00
aTempSize.Height() = aScrSize.Height();
rRenderContext.DrawOutDev(aTempPos, aTempSize, aTempPos, aTempSize, *maVirDev.get());
aTempPos.Y() = aScrPos.Y() + aScrSize.Height();
2000-09-18 16:07:07 +00:00
aTempSize.Width() = aSize.Width();
aTempSize.Height() = aSize.Height() - aTempPos.Y();
rRenderContext.DrawOutDev(aTempPos, aTempSize, aTempPos, aTempSize, *maVirDev.get());
2000-09-18 16:07:07 +00:00
}
else
rRenderContext.DrawOutDev(aDefPos, aSize, aDefPos, aSize, *maVirDev.get());
2000-09-18 16:07:07 +00:00
// draw parting line to the Namefield
if (GetStyle() & WB_NAMEFIELD)
2000-11-16 18:18:50 +00:00
{
if (!(GetStyle() & WB_FLATVALUESET))
2000-11-16 18:18:50 +00:00
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
Size aWinSize(GetOutputSizePixel());
Point aPos1(NAME_LINE_OFF_X, mnTextOffset + NAME_LINE_OFF_Y);
Point aPos2(aWinSize.Width() - (NAME_LINE_OFF_X * 2), mnTextOffset + NAME_LINE_OFF_Y);
if (!(rStyleSettings.GetOptions() & StyleSettingsOptions::Mono))
2000-11-16 18:18:50 +00:00
{
rRenderContext.SetLineColor(rStyleSettings.GetShadowColor());
rRenderContext.DrawLine(aPos1, aPos2);
2000-11-16 18:18:50 +00:00
aPos1.Y()++;
aPos2.Y()++;
rRenderContext.SetLineColor(rStyleSettings.GetLightColor());
2000-11-16 18:18:50 +00:00
}
else
rRenderContext.SetLineColor(rStyleSettings.GetWindowTextColor());
rRenderContext.DrawLine(aPos1, aPos2);
2000-11-16 18:18:50 +00:00
}
}
ImplDrawSelect(rRenderContext);
2000-09-18 16:07:07 +00:00
}
bool ValueSet::ImplScroll(const Point& rPos)
2000-09-18 16:07:07 +00:00
{
if (!mbScroll || !maItemListRect.IsInside(rPos))
2012-02-11 18:17:26 +01:00
return false;
2000-09-18 16:07:07 +00:00
const long nScrollOffset = (mnItemHeight <= 16) ? SCROLL_OFFSET / 2 : SCROLL_OFFSET;
2012-02-28 00:06:24 +01:00
bool bScroll = false;
if (rPos.Y() <= maItemListRect.Top() + nScrollOffset)
2000-09-18 16:07:07 +00:00
{
if (mnFirstLine > 0)
2012-02-28 00:06:24 +01:00
{
--mnFirstLine;
bScroll = true;
}
2000-09-18 16:07:07 +00:00
}
else if (rPos.Y() >= maItemListRect.Bottom() - nScrollOffset)
2000-09-18 16:07:07 +00:00
{
if (mnFirstLine < static_cast<sal_uInt16>(mnLines - mnVisLines))
2012-02-28 00:06:24 +01:00
{
++mnFirstLine;
bScroll = true;
}
2000-09-18 16:07:07 +00:00
}
if (!bScroll)
2012-02-11 18:17:26 +01:00
return false;
2012-02-28 00:06:24 +01:00
mbFormat = true;
Invalidate();
2012-02-28 00:06:24 +01:00
return true;
2000-09-18 16:07:07 +00:00
}
2012-02-11 18:17:26 +01:00
size_t ValueSet::ImplGetItem( const Point& rPos, bool bMove ) const
2000-09-18 16:07:07 +00:00
{
if (!mbHasVisibleItems)
2000-09-18 16:07:07 +00:00
{
return VALUESET_ITEM_NOTFOUND;
2000-09-18 16:07:07 +00:00
}
if (mpNoneItem.get() && maNoneItemRect.IsInside(rPos))
{
return VALUESET_ITEM_NONEITEM;
}
2000-11-16 18:18:50 +00:00
if (maItemListRect.IsInside(rPos))
2000-09-18 16:07:07 +00:00
{
const int xc = rPos.X() - maItemListRect.Left();
const int yc = rPos.Y() - maItemListRect.Top();
// The point is inside the area of item list,
// let's find the containing item.
const int col = xc / (mnItemWidth + mnSpacing);
const int x = xc % (mnItemWidth + mnSpacing);
const int row = yc / (mnItemHeight + mnSpacing);
const int y = yc % (mnItemHeight + mnSpacing);
if (x < mnItemWidth && y < mnItemHeight)
2000-11-16 18:18:50 +00:00
{
// the point is inside item rect and not inside spacing
const size_t item = (mnFirstLine + row) * static_cast<size_t>(mnCols) + col;
if (item < mItemList.size())
{
return item;
}
2000-11-16 18:18:50 +00:00
}
2000-09-18 16:07:07 +00:00
// return the previously selected item if spacing is set and
// the mouse hasn't left the window yet
if (bMove && mnSpacing && mnHighItemId)
{
2000-09-18 16:07:07 +00:00
return GetItemPos( mnHighItemId );
}
2000-09-18 16:07:07 +00:00
}
return VALUESET_ITEM_NOTFOUND;
}
ValueSetItem* ValueSet::ImplGetItem( size_t nPos )
2000-09-18 16:07:07 +00:00
{
if (nPos == VALUESET_ITEM_NONEITEM)
return mpNoneItem.get();
2000-09-18 16:07:07 +00:00
else
return (nPos < mItemList.size()) ? mItemList[nPos] : NULL;
2000-09-18 16:07:07 +00:00
}
ValueSetItem* ValueSet::ImplGetFirstItem()
{
return mItemList.size() ? mItemList[0] : NULL;
2000-09-18 16:07:07 +00:00
}
sal_uInt16 ValueSet::ImplGetVisibleItemCount() const
2002-02-25 09:52:14 +00:00
{
sal_uInt16 nRet = 0;
const size_t nItemCount = mItemList.size();
2002-02-25 09:52:14 +00:00
for ( size_t n = 0; n < nItemCount; ++n )
2002-02-25 09:52:14 +00:00
{
if ( mItemList[n]->mbVisible )
++nRet;
2002-02-25 09:52:14 +00:00
}
return nRet;
}
void ValueSet::ImplFireAccessibleEvent( short nEventId, const Any& rOldValue, const Any& rNewValue )
2002-02-25 09:52:14 +00:00
{
ValueSetAcc* pAcc = ValueSetAcc::getImplementation( GetAccessible( false ) );
2002-02-25 09:52:14 +00:00
2002-02-25 15:39:54 +00:00
if( pAcc )
pAcc->FireAccessibleEvent( nEventId, rOldValue, rNewValue );
2002-02-25 09:52:14 +00:00
}
2012-02-11 18:17:26 +01:00
bool ValueSet::ImplHasAccessibleListeners()
2002-02-25 09:52:14 +00:00
{
ValueSetAcc* pAcc = ValueSetAcc::getImplementation( GetAccessible( false ) );
2002-02-25 15:39:54 +00:00
return( pAcc && pAcc->HasAccessibleListeners() );
2002-02-25 09:52:14 +00:00
}
2000-09-18 16:07:07 +00:00
IMPL_LINK( ValueSet,ImplScrollHdl, ScrollBar*, pScrollBar )
{
sal_uInt16 nNewFirstLine = (sal_uInt16)pScrollBar->GetThumbPos();
2000-09-18 16:07:07 +00:00
if ( nNewFirstLine != mnFirstLine )
{
mnFirstLine = nNewFirstLine;
2012-02-11 18:17:26 +01:00
mbFormat = true;
Invalidate();
2000-09-18 16:07:07 +00:00
}
return 0;
}
IMPL_LINK_NOARG_TYPED(ValueSet, ImplTimerHdl, Timer *, void)
2000-09-18 16:07:07 +00:00
{
2012-02-11 18:17:26 +01:00
ImplTracking( GetPointerPosPixel(), true );
2000-09-18 16:07:07 +00:00
}
2012-02-11 18:17:26 +01:00
void ValueSet::ImplTracking( const Point& rPos, bool bRepeat )
2000-09-18 16:07:07 +00:00
{
if ( bRepeat || mbSelection )
{
if ( ImplScroll( rPos ) )
{
if ( mbSelection )
{
maTimer.SetTimeoutHdl( LINK( this, ValueSet, ImplTimerHdl ) );
maTimer.SetTimeout( GetSettings().GetMouseSettings().GetScrollRepeat() );
maTimer.Start();
}
}
}
ValueSetItem* pItem = ImplGetItem( ImplGetItem( rPos ) );
if ( pItem )
{
if( GetStyle() & WB_MENUSTYLEVALUESET )
2012-02-11 18:17:26 +01:00
mbHighlight = true;
2000-09-18 16:07:07 +00:00
ImplHighlightItem( pItem->mnId );
}
2000-09-18 16:07:07 +00:00
else
{
if( GetStyle() & WB_MENUSTYLEVALUESET )
2012-02-11 18:17:26 +01:00
mbHighlight = true;
2012-02-11 18:17:26 +01:00
ImplHighlightItem( mnSelItemId, false );
}
2000-09-18 16:07:07 +00:00
}
2012-02-11 18:17:26 +01:00
void ValueSet::ImplEndTracking( const Point& rPos, bool bCancel )
2000-09-18 16:07:07 +00:00
{
ValueSetItem* pItem;
// restore the old status in case of termination
2000-09-18 16:07:07 +00:00
if ( bCancel )
pItem = NULL;
else
pItem = ImplGetItem( ImplGetItem( rPos ) );
if ( pItem )
2000-09-18 16:07:07 +00:00
{
SelectItem( pItem->mnId );
if ( !mbSelection && !(GetStyle() & WB_NOPOINTERFOCUS) )
GrabFocus();
2012-02-11 18:17:26 +01:00
mbHighlight = false;
mbSelection = false;
2000-09-18 16:07:07 +00:00
Select();
}
else
{
2012-02-11 18:17:26 +01:00
ImplHighlightItem( mnSelItemId, false );
mbHighlight = false;
mbSelection = false;
2000-09-18 16:07:07 +00:00
}
}
void ValueSet::MouseButtonDown( const MouseEvent& rMouseEvent )
2000-09-18 16:07:07 +00:00
{
if ( rMouseEvent.IsLeft() )
2000-09-18 16:07:07 +00:00
{
ValueSetItem* pItem = ImplGetItem( ImplGetItem( rMouseEvent.GetPosPixel() ) );
2000-09-18 16:07:07 +00:00
if ( mbSelection )
{
2012-02-11 18:17:26 +01:00
mbHighlight = true;
if ( pItem )
2000-09-18 16:07:07 +00:00
{
mnHighItemId = mnSelItemId;
ImplHighlightItem( pItem->mnId );
}
return;
}
else
{
if ( pItem && !rMouseEvent.IsMod2() )
2000-09-18 16:07:07 +00:00
{
if ( rMouseEvent.GetClicks() == 1 )
2000-09-18 16:07:07 +00:00
{
2012-02-11 18:17:26 +01:00
mbHighlight = true;
2000-09-18 16:07:07 +00:00
mnHighItemId = mnSelItemId;
ImplHighlightItem( pItem->mnId );
StartTracking( StartTrackingFlags::ScrollRepeat );
2000-09-18 16:07:07 +00:00
}
else if ( rMouseEvent.GetClicks() == 2 )
2000-09-18 16:07:07 +00:00
DoubleClick();
return;
}
}
}
Control::MouseButtonDown( rMouseEvent );
2000-09-18 16:07:07 +00:00
}
void ValueSet::MouseButtonUp( const MouseEvent& rMouseEvent )
2000-09-18 16:07:07 +00:00
{
// because of SelectionMode
if ( rMouseEvent.IsLeft() && mbSelection )
ImplEndTracking( rMouseEvent.GetPosPixel(), false );
2000-09-18 16:07:07 +00:00
else
Control::MouseButtonUp( rMouseEvent );
2000-09-18 16:07:07 +00:00
}
void ValueSet::MouseMove( const MouseEvent& rMouseEvent )
2000-09-18 16:07:07 +00:00
{
// because of SelectionMode
if ( mbSelection || (GetStyle() & WB_MENUSTYLEVALUESET) )
ImplTracking( rMouseEvent.GetPosPixel(), false );
Control::MouseMove( rMouseEvent );
2000-09-18 16:07:07 +00:00
}
void ValueSet::Tracking( const TrackingEvent& rTrackingEvent )
2000-09-18 16:07:07 +00:00
{
Point aMousePos = rTrackingEvent.GetMouseEvent().GetPosPixel();
2000-09-18 16:07:07 +00:00
if ( rTrackingEvent.IsTrackingEnded() )
ImplEndTracking( aMousePos, rTrackingEvent.IsTrackingCanceled() );
2000-09-18 16:07:07 +00:00
else
ImplTracking( aMousePos, rTrackingEvent.IsTrackingRepeat() );
2000-09-18 16:07:07 +00:00
}
void ValueSet::KeyInput( const KeyEvent& rKeyEvent )
2000-09-18 16:07:07 +00:00
{
size_t nLastItem = mItemList.size();
2000-09-18 16:07:07 +00:00
if ( !nLastItem || !ImplGetFirstItem() )
{
Control::KeyInput( rKeyEvent );
2000-09-18 16:07:07 +00:00
return;
}
if (mbFormat)
Invalidate();
2012-04-03 15:00:19 +02:00
--nLastItem;
const size_t nCurPos = mnSelItemId ? GetItemPos(mnSelItemId)
: (mpNoneItem.get() ? VALUESET_ITEM_NONEITEM : 0);
2012-04-03 15:00:19 +02:00
size_t nItemPos = VALUESET_ITEM_NOTFOUND;
size_t nVStep = mnCols;
2000-09-18 16:07:07 +00:00
switch (rKeyEvent.GetKeyCode().GetCode())
2000-09-18 16:07:07 +00:00
{
case KEY_HOME:
nItemPos = mpNoneItem.get() ? VALUESET_ITEM_NONEITEM : 0;
2000-09-18 16:07:07 +00:00
break;
case KEY_END:
nItemPos = nLastItem;
break;
case KEY_LEFT:
2012-04-03 15:00:19 +02:00
if (nCurPos != VALUESET_ITEM_NONEITEM)
2000-09-18 16:07:07 +00:00
{
2012-04-03 15:00:19 +02:00
if (nCurPos)
2000-09-18 16:07:07 +00:00
{
2012-04-03 15:00:19 +02:00
nItemPos = nCurPos-1;
}
else if (mpNoneItem.get())
2012-04-03 15:00:19 +02:00
{
nItemPos = VALUESET_ITEM_NONEITEM;
2000-09-18 16:07:07 +00:00
}
}
2012-04-03 15:00:19 +02:00
break;
case KEY_RIGHT:
if (nCurPos < nLastItem)
2000-09-18 16:07:07 +00:00
{
2012-04-03 15:00:19 +02:00
if (nCurPos == VALUESET_ITEM_NONEITEM)
2000-09-18 16:07:07 +00:00
{
2012-04-03 15:00:19 +02:00
nItemPos = 0;
2000-09-18 16:07:07 +00:00
}
else
2012-04-03 15:00:19 +02:00
{
nItemPos = nCurPos+1;
}
2000-09-18 16:07:07 +00:00
}
break;
case KEY_PAGEUP:
if (rKeyEvent.GetKeyCode().IsShift() || rKeyEvent.GetKeyCode().IsMod1() || rKeyEvent.GetKeyCode().IsMod2())
2000-09-18 16:07:07 +00:00
{
Control::KeyInput( rKeyEvent );
2012-04-03 15:00:19 +02:00
return;
}
nVStep *= mnVisLines;
// intentional fall-through
case KEY_UP:
if (nCurPos != VALUESET_ITEM_NONEITEM)
{
if (nCurPos == nLastItem)
2000-09-18 16:07:07 +00:00
{
2012-04-03 15:00:19 +02:00
const size_t nCol = nLastItem % mnCols;
if (nCol < mnCurCol)
{
// Move to previous row/page, keeping the old column
nVStep -= mnCurCol - nCol;
}
}
2012-04-03 15:00:19 +02:00
if (nCurPos >= nVStep)
{
2012-04-03 15:00:19 +02:00
// Go up of a whole page
nItemPos = nCurPos-nVStep;
}
else if (mpNoneItem.get())
{
2012-04-03 15:00:19 +02:00
nItemPos = VALUESET_ITEM_NONEITEM;
}
else if (nCurPos > mnCols)
{
// Go to same column in first row
nItemPos = nCurPos % mnCols;
2000-09-18 16:07:07 +00:00
}
}
2012-04-03 15:00:19 +02:00
break;
2000-09-18 16:07:07 +00:00
case KEY_PAGEDOWN:
if (rKeyEvent.GetKeyCode().IsShift() || rKeyEvent.GetKeyCode().IsMod1() || rKeyEvent.GetKeyCode().IsMod2())
2000-09-18 16:07:07 +00:00
{
Control::KeyInput( rKeyEvent );
2012-04-03 15:00:19 +02:00
return;
}
nVStep *= mnVisLines;
// intentional fall-through
case KEY_DOWN:
if (nCurPos != nLastItem)
{
if (nCurPos == VALUESET_ITEM_NONEITEM)
{
2012-04-03 15:00:19 +02:00
nItemPos = nVStep-mnCols+mnCurCol;
}
2012-04-03 15:00:19 +02:00
else
2000-09-18 16:07:07 +00:00
{
2012-04-03 15:00:19 +02:00
nItemPos = nCurPos+nVStep;
}
if (nItemPos > nLastItem)
{
nItemPos = nLastItem;
2000-09-18 16:07:07 +00:00
}
}
2012-04-03 15:00:19 +02:00
break;
2002-05-28 11:31:25 +00:00
case KEY_RETURN:
2012-04-03 15:00:19 +02:00
if (GetStyle() & WB_NO_DIRECTSELECT)
2002-06-20 09:15:13 +00:00
{
Select();
break;
}
2012-04-03 15:00:19 +02:00
// intentional fall-through
2000-09-18 16:07:07 +00:00
default:
Control::KeyInput( rKeyEvent );
2012-04-03 15:00:19 +02:00
return;
2000-09-18 16:07:07 +00:00
}
2012-04-03 15:00:19 +02:00
// This point is reached only if key travelling was used,
// in which case selection mode should be switched off
EndSelection();
2000-09-18 16:07:07 +00:00
if ( nItemPos != VALUESET_ITEM_NOTFOUND )
{
2012-04-03 15:00:19 +02:00
if ( nItemPos!=VALUESET_ITEM_NONEITEM && nItemPos<nLastItem )
{
// update current column only in case of a new position
// which is also not a "specially" handled one.
mnCurCol = mnCols ? nItemPos % mnCols : 0;
2012-04-03 15:00:19 +02:00
}
const sal_uInt16 nItemId = (nItemPos != VALUESET_ITEM_NONEITEM) ? GetItemId( nItemPos ) : 0;
2000-09-18 16:07:07 +00:00
if ( nItemId != mnSelItemId )
{
SelectItem( nItemId );
2012-04-03 15:00:19 +02:00
if (!(GetStyle() & WB_NO_DIRECTSELECT))
{
// select only if WB_NO_DIRECTSELECT is not set
2002-05-28 11:31:25 +00:00
Select();
2012-04-03 15:00:19 +02:00
}
2000-09-18 16:07:07 +00:00
}
}
}
void ValueSet::Command( const CommandEvent& rCommandEvent )
2000-09-18 16:07:07 +00:00
{
if ( rCommandEvent.GetCommand() == CommandEventId::Wheel ||
rCommandEvent.GetCommand() == CommandEventId::StartAutoScroll ||
rCommandEvent.GetCommand() == CommandEventId::AutoScroll )
2000-09-18 16:07:07 +00:00
{
if ( HandleScrollCommand( rCommandEvent, NULL, mxScrollBar.get() ) )
2000-09-18 16:07:07 +00:00
return;
}
Control::Command( rCommandEvent );
2000-09-18 16:07:07 +00:00
}
void ValueSet::Paint(vcl::RenderContext& rRenderContext, const Rectangle&)
2000-09-18 16:07:07 +00:00
{
if (GetStyle() & WB_FLATVALUESET)
2000-09-18 16:07:07 +00:00
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
rRenderContext.SetLineColor();
rRenderContext.SetFillColor(rStyleSettings.GetFaceColor());
long nOffY = maVirDev->GetOutputSizePixel().Height();
Size aWinSize(GetOutputSizePixel());
rRenderContext.DrawRect(Rectangle(Point(0, nOffY ), Point( aWinSize.Width(), aWinSize.Height())));
2000-09-18 16:07:07 +00:00
}
ImplDraw(rRenderContext);
2000-09-18 16:07:07 +00:00
}
void ValueSet::GetFocus()
{
OSL_TRACE ("value set getting focus");
Invalidate();
2000-09-18 16:07:07 +00:00
Control::GetFocus();
// Tell the accessible object that we got the focus.
ValueSetAcc* pAcc = ValueSetAcc::getImplementation(GetAccessible(false));
if (pAcc)
pAcc->GetFocus();
2000-09-18 16:07:07 +00:00
}
void ValueSet::LoseFocus()
{
OSL_TRACE ("value set losing focus");
2000-09-18 16:07:07 +00:00
if ( mbNoSelection && mnSelItemId )
ImplHideSelect( mnSelItemId );
else
HideFocus();
Control::LoseFocus();
// Tell the accessible object that we lost the focus.
ValueSetAcc* pAcc = ValueSetAcc::getImplementation( GetAccessible( false ) );
if( pAcc )
pAcc->LoseFocus();
2000-09-18 16:07:07 +00:00
}
void ValueSet::Resize()
{
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
Control::Resize();
}
void ValueSet::RequestHelp( const HelpEvent& rHelpEvent )
2000-09-18 16:07:07 +00:00
{
if ( (rHelpEvent.GetMode() & (HelpEventMode::QUICK | HelpEventMode::BALLOON)) == HelpEventMode::QUICK )
2000-09-18 16:07:07 +00:00
{
Point aPos = ScreenToOutputPixel( rHelpEvent.GetMousePosPixel() );
size_t nItemPos = ImplGetItem( aPos );
2000-11-16 18:18:50 +00:00
if ( nItemPos != VALUESET_ITEM_NOTFOUND )
2000-09-18 16:07:07 +00:00
{
Rectangle aItemRect = ImplGetItemRect( nItemPos );
2000-11-16 18:18:50 +00:00
Point aPt = OutputToScreenPixel( aItemRect.TopLeft() );
aItemRect.Left() = aPt.X();
aItemRect.Top() = aPt.Y();
aPt = OutputToScreenPixel( aItemRect.BottomRight() );
aItemRect.Right() = aPt.X();
aItemRect.Bottom() = aPt.Y();
Help::ShowQuickHelp( this, aItemRect, GetItemText( ImplGetItem( nItemPos )->mnId ) );
2000-11-16 18:18:50 +00:00
return;
2000-09-18 16:07:07 +00:00
}
}
Control::RequestHelp( rHelpEvent );
2000-09-18 16:07:07 +00:00
}
void ValueSet::StateChanged(StateChangedType nType)
2000-09-18 16:07:07 +00:00
{
Control::StateChanged(nType);
2000-09-18 16:07:07 +00:00
if (nType == StateChangedType::InitShow)
2000-09-18 16:07:07 +00:00
{
if (mbFormat)
Invalidate();
2000-09-18 16:07:07 +00:00
}
else if (nType == StateChangedType::UpdateMode)
2000-09-18 16:07:07 +00:00
{
if (IsReallyVisible() && IsUpdateMode())
2000-09-18 16:07:07 +00:00
Invalidate();
}
else if (nType == StateChangedType::Text)
2000-09-18 16:07:07 +00:00
{
if (mpNoneItem.get() && !mbFormat && IsReallyVisible() && IsUpdateMode())
2000-09-18 16:07:07 +00:00
{
Invalidate(maNoneItemRect);
2000-09-18 16:07:07 +00:00
}
}
else if ((nType == StateChangedType::Zoom) ||
(nType == StateChangedType::ControlFont))
2000-09-18 16:07:07 +00:00
{
ImplInitSettings(true, false, false);
2000-09-18 16:07:07 +00:00
Invalidate();
}
else if (nType == StateChangedType::ControlForeground)
2000-09-18 16:07:07 +00:00
{
ImplInitSettings(false, true, false);
2000-09-18 16:07:07 +00:00
Invalidate();
}
else if (nType == StateChangedType::ControlBackground)
2000-09-18 16:07:07 +00:00
{
ImplInitSettings(false, false, true);
2000-09-18 16:07:07 +00:00
Invalidate();
}
else if ((nType == StateChangedType::Style) || (nType == StateChangedType::Enable))
2000-09-18 16:07:07 +00:00
{
2012-02-11 18:17:26 +01:00
mbFormat = true;
ImplInitSettings(false, false, true);
2000-09-18 16:07:07 +00:00
Invalidate();
}
}
void ValueSet::DataChanged( const DataChangedEvent& rDataChangedEvent )
2000-09-18 16:07:07 +00:00
{
Control::DataChanged( rDataChangedEvent );
2000-09-18 16:07:07 +00:00
if ( rDataChangedEvent.GetType() == DataChangedEventType::FONTS ||
rDataChangedEvent.GetType() == DataChangedEventType::DISPLAY ||
rDataChangedEvent.GetType() == DataChangedEventType::FONTSUBSTITUTION ||
(rDataChangedEvent.GetType() == DataChangedEventType::SETTINGS &&
rDataChangedEvent.GetFlags() & AllSettingsFlags::STYLE) )
2000-09-18 16:07:07 +00:00
{
2012-02-11 18:17:26 +01:00
mbFormat = true;
ImplInitSettings( true, true, true );
2000-09-18 16:07:07 +00:00
Invalidate();
}
}
void ValueSet::Select()
{
maSelectHdl.Call( this );
}
void ValueSet::DoubleClick()
{
maDoubleClickHdl.Call( this );
}
void ValueSet::UserDraw( const UserDrawEvent& )
{
}
Merge commit 'ooo/DEV300_m101' into intm101 The following builds for me: basebmp, basegfx, comphelper, dtrans, i18npool, i18nutil, l10ntools, o3tl, psprint_config, regexp, rsc, sax, sot, tools, ucbhelper, unotools, vcl The rest still needs fixing ;-) Conflicts: canvas/prj/build.lst canvas/source/cairo/cairo_textlayout.cxx canvas/source/directx/dx_winstuff.hxx canvas/source/tools/image.cxx canvas/source/vcl/canvashelper.cxx comphelper/inc/comphelper/documentconstants.hxx comphelper/inc/comphelper/optionalvalue.hxx comphelper/inc/comphelper/querydeep.hxx comphelper/prj/build.lst comphelper/qa/complex/makefile.mk comphelper/qa/string/test_string_noadditional.cxx comphelper/source/misc/componentmodule.cxx comphelper/source/misc/mimeconfighelper.cxx comphelper/source/misc/querydeep.cxx comphelper/source/misc/uieventslogger.cxx comphelper/source/property/TypeGeneration.cxx comphelper/test/uno_iterators/uno_iterators.cxx comphelper/util/makefile.mk cppcanvas/source/mtfrenderer/implrenderer.cxx dtrans/prj/build.lst dtrans/source/generic/dtrans.cxx dtrans/source/win32/dtobj/FmtFilter.cxx i18npool/prj/build.lst i18npool/source/localedata/data/localedata_others.map i18npool/source/localedata/data/makefile.mk i18npool/source/localedata/localedata.cxx i18npool/source/localedata/saxparser.cxx i18npool/source/registerservices/registerservices.cxx i18npool/source/search/textsearch.cxx l10ntools/inc/cfgmerge.hxx l10ntools/inc/export.hxx l10ntools/inc/gsicheck.hxx l10ntools/inc/l10ntools/vosapp.hxx l10ntools/inc/tagtest.hxx l10ntools/inc/xmlparse.hxx l10ntools/layout/layoutparse.cxx l10ntools/layout/tralay.cxx l10ntools/source/cfgmerge.cxx l10ntools/source/export.cxx l10ntools/source/export2.cxx l10ntools/source/gsicheck.cxx l10ntools/source/help/HelpLinker.cxx l10ntools/source/lngex.cxx l10ntools/source/lngmerge.cxx l10ntools/source/merge.cxx l10ntools/source/tagtest.cxx l10ntools/source/xmlparse.cxx padmin/source/fontentry.cxx padmin/source/padialog.cxx padmin/source/padialog.src padmin/source/pamain.cxx rsc/inc/rscarray.hxx rsc/inc/rscclass.hxx rsc/inc/rscclobj.hxx rsc/inc/rsccont.hxx rsc/inc/rscdb.hxx rsc/inc/rscdef.hxx rsc/inc/rscmgr.hxx rsc/inc/rscrange.hxx rsc/inc/rsctop.hxx rsc/inc/vclrsc.hxx rsc/source/parser/rscdb.cxx rsc/source/parser/rscicpx.cxx rsc/source/parser/rscinit.cxx rsc/source/prj/start.cxx rsc/source/res/rscarray.cxx rsc/source/res/rscclass.cxx rsc/source/res/rscclobj.cxx rsc/source/res/rsccont.cxx rsc/source/res/rscmgr.cxx rsc/source/res/rscrange.cxx rsc/source/res/rsctop.cxx rsc/source/rsc/rsc.cxx rsc/source/tools/rscdef.cxx rsc/source/tools/rsctools.cxx sax/source/expatwrap/sax_expat.cxx sax/source/fastparser/facreg.cxx sax/source/tools/fastserializer.cxx sot/inc/sot/filelist.hxx sot/inc/sot/object.hxx sot/source/base/factory.cxx sot/source/base/filelist.cxx sot/source/sdstor/stg.cxx sot/source/sdstor/stgcache.cxx sot/source/sdstor/stgole.cxx sot/source/sdstor/stgstrms.cxx sot/source/sdstor/storage.cxx sot/source/sdstor/ucbstorage.cxx svl/inc/svl/cenumitm.hxx svl/inc/svl/cintitem.hxx svl/inc/svl/cntwall.hxx svl/inc/svl/ctypeitm.hxx svl/inc/svl/custritm.hxx svl/inc/svl/dateitem.hxx svl/inc/svl/filerec.hxx svl/inc/svl/globalnameitem.hxx svl/inc/svl/ilstitem.hxx svl/inc/svl/imageitm.hxx svl/inc/svl/intitem.hxx svl/inc/svl/itempool.hxx svl/inc/svl/itemset.hxx svl/inc/svl/lckbitem.hxx svl/inc/svl/poolitem.hxx svl/inc/svl/ptitem.hxx svl/inc/svl/rectitem.hxx svl/inc/svl/sfontitm.hxx svl/inc/svl/slstitm.hxx svl/inc/svl/srchitem.hxx svl/inc/svl/svarray.hxx svl/inc/svl/svdde.hxx svl/inc/svl/svstdarr.hxx svl/inc/svl/szitem.hxx svl/inc/svl/visitem.hxx svl/inc/svl/zforlist.hxx svl/inc/svl/zformat.hxx svl/prj/build.lst svl/qa/complex/ConfigItems/helper/ConfigItemTest.cxx svl/qa/complex/ConfigItems/helper/makefile.mk svl/qa/makefile.mk svl/source/filepicker/pickerhelper.cxx svl/source/filerec/filerec.cxx svl/source/items/cenumitm.cxx svl/source/items/cintitem.cxx svl/source/items/cntwall.cxx svl/source/items/ctypeitm.cxx svl/source/items/custritm.cxx svl/source/items/dateitem.cxx svl/source/items/globalnameitem.cxx svl/source/items/ilstitem.cxx svl/source/items/imageitm.cxx svl/source/items/intitem.cxx svl/source/items/itempool.cxx svl/source/items/itemprop.cxx svl/source/items/itemset.cxx svl/source/items/lckbitem.cxx svl/source/items/poolio.cxx svl/source/items/poolitem.cxx svl/source/items/ptitem.cxx svl/source/items/rectitem.cxx svl/source/items/slstitm.cxx svl/source/items/srchitem.cxx svl/source/items/style.cxx svl/source/items/szitem.cxx svl/source/items/visitem.cxx svl/source/items/whiter.cxx svl/source/memtools/svarray.cxx svl/source/misc/PasswordHelper.cxx svl/source/misc/adrparse.cxx svl/source/misc/lngmisc.cxx svl/source/notify/brdcst.cxx svl/source/notify/listener.cxx svl/source/notify/listenerbase.cxx svl/source/numbers/makefile.mk svl/source/numbers/nbdll.cxx svl/source/numbers/zforfind.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svl/source/passwordcontainer/passwordcontainer.cxx svl/source/svdde/ddecli.cxx svl/source/svdde/ddeimp.hxx svl/source/svdde/ddemlos2.h svl/source/svdde/ddesvr.cxx svl/source/undo/undo.cxx svl/source/uno/registerservices.cxx svl/util/makefile.mk svtools/bmpmaker/bmpsum.cxx svtools/bmpmaker/g2g.cxx svtools/bmpmaker/makefile.mk svtools/inc/borderhelper.hxx svtools/inc/svtools/accessiblefactory.hxx svtools/inc/svtools/apearcfg.hxx svtools/inc/svtools/brwbox.hxx svtools/inc/svtools/ctrlbox.hxx svtools/inc/svtools/ctrltool.hxx svtools/inc/svtools/editbrowsebox.hxx svtools/inc/svtools/ehdl.hxx svtools/inc/svtools/embedhlp.hxx svtools/inc/svtools/filter.hxx svtools/inc/svtools/ivctrl.hxx svtools/inc/svtools/parhtml.hxx svtools/inc/svtools/printdlg.hxx svtools/inc/svtools/rtftoken.h svtools/inc/svtools/ruler.hxx svtools/inc/svtools/svicnvw.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svlbox.hxx svtools/inc/svtools/svtreebx.hxx svtools/inc/svtools/tabbar.hxx svtools/inc/svtools/table/abstracttablecontrol.hxx svtools/inc/svtools/taskbar.hxx svtools/inc/svtools/textview.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/brwbox1.cxx svtools/source/brwbox/brwbox2.cxx svtools/source/brwbox/datwin.cxx svtools/source/brwbox/datwin.hxx svtools/source/brwbox/makefile.mk svtools/source/config/apearcfg.cxx svtools/source/config/htmlcfg.cxx svtools/source/config/menuoptions.cxx svtools/source/config/miscopt.cxx svtools/source/contnr/cont_pch.cxx svtools/source/contnr/ctrdll.cxx svtools/source/contnr/fileview.cxx svtools/source/contnr/imivctl1.cxx svtools/source/contnr/ivctrl.cxx svtools/source/contnr/makefile.mk svtools/source/contnr/svcontnr.src svtools/source/contnr/svicnvw.cxx svtools/source/contnr/svimpbox.cxx svtools/source/contnr/svimpicn.cxx svtools/source/contnr/svlbitm.cxx svtools/source/contnr/svtreebx.cxx svtools/source/contnr/templwin.cxx svtools/source/contnr/templwin.hxx svtools/source/control/asynclink.cxx svtools/source/control/ctrlbox.cxx svtools/source/control/ctrldll.cxx svtools/source/control/ctrltool.cxx svtools/source/control/filectrl.cxx svtools/source/control/filectrl.src svtools/source/control/headbar.cxx svtools/source/control/inettbc.cxx svtools/source/control/makefile.mk svtools/source/control/prgsbar.cxx svtools/source/control/roadmap.cxx svtools/source/control/ruler.cxx svtools/source/control/scriptedtext.cxx svtools/source/control/stdmenu.cxx svtools/source/control/tabbar.cxx svtools/source/control/taskbar.cxx svtools/source/control/taskbox.cxx svtools/source/control/taskmisc.cxx svtools/source/control/taskstat.cxx svtools/source/control/valueacc.cxx svtools/source/control/valueset.cxx svtools/source/dialogs/addresstemplate.cxx svtools/source/dialogs/addresstemplate.src svtools/source/dialogs/colrdlg.src svtools/source/dialogs/filedlg2.cxx svtools/source/dialogs/filedlg2.hxx svtools/source/dialogs/makefile.mk svtools/source/dialogs/printdlg.cxx svtools/source/dialogs/printdlg.src svtools/source/dialogs/propctrl.cxx svtools/source/dialogs/propctrl.hxx svtools/source/dialogs/property.cxx svtools/source/edit/makefile.mk svtools/source/edit/sychconv.cxx svtools/source/edit/syntaxhighlight.cxx svtools/source/edit/textdoc.cxx svtools/source/edit/texteng.cxx svtools/source/edit/textundo.cxx svtools/source/edit/textview.cxx svtools/source/filter.vcl/filter/SvFilterOptionsDialog.cxx svtools/source/filter.vcl/filter/dlgejpg.cxx svtools/source/filter.vcl/filter/dlgejpg.hxx svtools/source/filter.vcl/filter/dlgejpg.src svtools/source/filter.vcl/filter/dlgepng.cxx svtools/source/filter.vcl/filter/dlgepng.hxx svtools/source/filter.vcl/filter/dlgepng.src svtools/source/filter.vcl/filter/dlgexpor.cxx svtools/source/filter.vcl/filter/dlgexpor.hxx svtools/source/filter.vcl/filter/dlgexpor.src svtools/source/filter.vcl/filter/filter2.cxx svtools/source/filter.vcl/filter/makefile.mk svtools/source/filter.vcl/filter/sgfbram.cxx svtools/source/filter.vcl/filter/sgvmain.cxx svtools/source/filter.vcl/filter/sgvspln.cxx svtools/source/filter.vcl/filter/strings.src svtools/source/filter.vcl/jpeg/makefile.mk svtools/source/filter.vcl/wmf/emfwr.cxx svtools/source/filter.vcl/wmf/emfwr.hxx svtools/source/filter.vcl/wmf/enhwmf.cxx svtools/source/filter.vcl/wmf/winmtf.hxx svtools/source/filter.vcl/wmf/wmfwr.cxx svtools/source/filter.vcl/wmf/wmfwr.hxx svtools/source/graphic/grfcache.cxx svtools/source/graphic/grfcache.hxx svtools/source/graphic/grfmgr.cxx svtools/source/graphic/makefile.mk svtools/source/inc/accessibletableimp.hxx svtools/source/inc/svimpbox.hxx svtools/source/java/patchjavaerror.src svtools/source/misc/ehdl.cxx svtools/source/misc/errtxt.src svtools/source/misc/helpagentwindow.cxx svtools/source/misc/imagemgr.cxx svtools/source/misc/imagemgr.src svtools/source/misc/imageresourceaccess.cxx svtools/source/misc/imap.cxx svtools/source/misc/langtab.src svtools/source/misc/makefile.mk svtools/source/misc/svtdata.cxx svtools/source/misc/templatefoldercache.cxx svtools/source/misc/transfer2.cxx svtools/source/misc/undo.src svtools/source/plugapp/commtest.cxx svtools/source/plugapp/commtest.src svtools/source/plugapp/makefile.mk svtools/source/plugapp/testtool.src svtools/source/productregistration/productregistration.cxx svtools/source/svhtml/htmlkywd.cxx svtools/source/svhtml/parhtml.cxx svtools/source/svrtf/rtfkey2.cxx svtools/source/svrtf/rtfkeywd.cxx svtools/source/table/defaultinputhandler.cxx svtools/source/table/makefile.mk svtools/source/table/tablecontrol.cxx svtools/source/table/tablecontrol_impl.cxx svtools/source/table/tablecontrol_impl.hxx svtools/source/table/tabledatawindow.cxx svtools/source/table/tablegeometry.cxx svtools/source/table/tablegeometry.hxx svtools/source/toolpanel/makefile.mk svtools/source/toolpanel/toolpaneldrawer.cxx svtools/source/uno/addrtempuno.cxx svtools/source/uno/miscservices.cxx svtools/source/uno/svtxgridcontrol.cxx svtools/source/uno/svtxgridcontrol.hxx svtools/source/uno/toolboxcontroller.cxx svtools/source/uno/treecontrolpeer.cxx svtools/source/uno/unocontroltablemodel.cxx svtools/source/uno/unocontroltablemodel.hxx svtools/source/uno/unoimap.cxx svtools/source/urlobj/inetimg.cxx svtools/util/makefile.mk svtools/workben/browser.cxx svtools/workben/cui/makefile.mk svtools/workben/makefile.mk svtools/workben/stest.cxx svtools/workben/toolpanel/makefile.mk svtools/workben/urange.cxx toolkit/inc/toolkit/awt/vclxdevice.hxx toolkit/inc/toolkit/awt/vclxgraphics.hxx toolkit/inc/toolkit/awt/vclxwindows.hxx toolkit/inc/toolkit/controls/dialogcontrol.hxx toolkit/inc/toolkit/helper/property.hxx toolkit/inc/toolkit/helper/servicenames.hxx toolkit/inc/toolkit/helper/throbberimpl.hxx toolkit/qa/complex/toolkit/accessibility/_XAccessibleComponent.java toolkit/source/awt/asynccallback.cxx toolkit/source/awt/vclxgraphics.cxx toolkit/source/awt/vclxtoolkit.cxx toolkit/source/awt/vclxwindow.cxx toolkit/source/awt/xsimpleanimation.cxx toolkit/source/awt/xthrobber.cxx toolkit/source/controls/dialogcontrol.cxx toolkit/source/controls/grid/defaultgridcolumnmodel.cxx toolkit/source/controls/grid/defaultgriddatamodel.cxx toolkit/source/controls/grid/gridcontrol.cxx toolkit/source/controls/grid/initguard.hxx toolkit/source/controls/unocontrol.cxx toolkit/source/controls/unocontrolcontainer.cxx toolkit/source/controls/unocontrols.cxx toolkit/source/helper/listenermultiplexer.cxx toolkit/source/helper/property.cxx toolkit/source/helper/registerservices.cxx toolkit/source/helper/servicenames.cxx toolkit/source/helper/throbberimpl.cxx toolkit/source/helper/tkresmgr.cxx tools/StaticLibrary_ooopathutils.mk tools/bootstrp/addexes/makefile.mk tools/bootstrp/addexes2/makefile.mk tools/bootstrp/addexes2/mkfilt.cxx tools/bootstrp/command.cxx tools/bootstrp/cppdep.cxx tools/bootstrp/iserver.cxx tools/bootstrp/makefile.mk tools/bootstrp/mkcreate.cxx tools/bootstrp/prj.cxx tools/bootstrp/rscdep.cxx tools/bootstrp/sstring.cxx tools/inc/bootstrp/command.hxx tools/inc/bootstrp/mkcreate.hxx tools/inc/bootstrp/prj.hxx tools/inc/bootstrp/sstring.hxx tools/inc/tools/agapi.hxx tools/inc/tools/agitem.hxx tools/inc/tools/chapi.hxx tools/inc/tools/download.hxx tools/inc/tools/eacopier.hxx tools/inc/tools/fract.hxx tools/inc/tools/fsys.hxx tools/inc/tools/geninfo.hxx tools/inc/tools/globname.hxx tools/inc/tools/inetmime.hxx tools/inc/tools/multisel.hxx tools/inc/tools/poly.hxx tools/inc/tools/postsys.h tools/inc/tools/postwin.h tools/inc/tools/presys.h tools/inc/tools/prewin.h tools/inc/tools/pstm.hxx tools/inc/tools/ref.hxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/inc/tools/table.hxx tools/inc/tools/urlkeys.hxx tools/inc/tools/urlobj.hxx tools/prj/build.lst tools/prj/d.lst tools/qa/makefile.mk tools/source/communi/geninfo.cxx tools/source/debug/debug.cxx tools/source/fsys/dirent.cxx tools/source/fsys/tdir.cxx tools/source/fsys/unx.cxx tools/source/fsys/urlobj.cxx tools/source/generic/color.cxx tools/source/generic/config.cxx tools/source/generic/fract.cxx tools/source/inet/inetmime.cxx tools/source/memtools/multisel.cxx tools/source/memtools/table.cxx tools/source/rc/resmgr.cxx tools/source/ref/globname.cxx tools/source/ref/pstm.cxx tools/source/solar/solar.c tools/source/stream/strmos2.cxx tools/source/stream/strmunx.cxx tools/source/stream/strmwnt.cxx tools/source/string/makefile.mk tools/source/testtoolloader/testtoolloader.cxx tools/test/makefile.mk tools/util/makefile.mk tools/win/inc/dll.hxx tools/win/inc/parser.hxx tools/win/inc/shellex.h tools/win/inc/shutil.h tools/win/inc/toolsdll.hxx tools/win/inc/winshell.hxx tools/workben/makefile.mk ucbhelper/source/client/proxydecider.cxx ucbhelper/workben/ucbexplorer/ucbexplorer.hrc unotools/inc/unotools/unotunnelhelper.hxx unotools/source/config/fltrcfg.cxx unotools/source/config/lingucfg.cxx unotools/source/config/misccfg.cxx unotools/source/config/pathoptions.cxx unotools/source/config/searchopt.cxx unotools/source/i18n/localedatawrapper.cxx unotools/source/ucbhelper/localfilehelper.cxx unotools/source/ucbhelper/ucbhelper.cxx unotools/source/ucbhelper/xtempfile.cxx vcl/aqua/inc/salbmp.h vcl/aqua/inc/salgdi.h vcl/aqua/inc/salinst.h vcl/aqua/source/app/salinst.cxx vcl/aqua/source/gdi/aquaprintaccessoryview.mm vcl/aqua/source/gdi/salgdi.cxx vcl/aqua/source/gdi/salprn.cxx vcl/aqua/source/window/salframeview.mm vcl/aqua/source/window/salobj.cxx vcl/inc/vcl/bitmap.hxx vcl/inc/vcl/brdwin.hxx vcl/inc/vcl/button.hxx vcl/inc/vcl/cmdevt.hxx vcl/inc/vcl/cvtgrf.hxx vcl/inc/vcl/dialog.hxx vcl/inc/vcl/dockwin.hxx vcl/inc/vcl/event.hxx vcl/inc/vcl/fixed.hxx vcl/inc/vcl/fldunit.hxx vcl/inc/vcl/floatwin.hxx vcl/inc/vcl/gdimtf.hxx vcl/inc/vcl/glyphcache.hxx vcl/inc/vcl/graphite_adaptors.hxx vcl/inc/vcl/graphite_features.hxx vcl/inc/vcl/graphite_layout.hxx vcl/inc/vcl/ilstbox.hxx vcl/inc/vcl/image.h vcl/inc/vcl/imgctrl.hxx vcl/inc/vcl/impbmpconv.hxx vcl/inc/vcl/impprn.hxx vcl/inc/vcl/jobset.h vcl/inc/vcl/keycodes.hxx vcl/inc/vcl/lstbox.hxx vcl/inc/vcl/mapunit.hxx vcl/inc/vcl/menu.hxx vcl/inc/vcl/msgbox.hxx vcl/inc/vcl/outdev.hxx vcl/inc/vcl/prndlg.hxx vcl/inc/vcl/salatype.hxx vcl/inc/vcl/salbmp.hxx vcl/inc/vcl/salgdi.hxx vcl/inc/vcl/salinst.hxx vcl/inc/vcl/seleng.hxx vcl/inc/vcl/settings.hxx vcl/inc/vcl/smartid.hxx vcl/inc/vcl/status.hxx vcl/inc/vcl/strhelper.hxx vcl/inc/vcl/svapp.hxx vcl/inc/vcl/svdata.hxx vcl/inc/vcl/syschild.hxx vcl/inc/vcl/sysdata.hxx vcl/inc/vcl/taskpanelist.hxx vcl/inc/vcl/toolbox.hxx vcl/inc/vcl/vclevent.hxx vcl/inc/vcl/windata.hxx vcl/inc/vcl/window.hxx vcl/inc/vcl/wintypes.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/gdi/salgdi.cxx vcl/os2/source/window/salmenu.cxx vcl/os2/source/window/salobj.cxx vcl/prj/build.lst vcl/source/app/dbggui.cxx vcl/source/app/help.cxx vcl/source/app/idlemgr.cxx vcl/source/app/settings.cxx vcl/source/app/svapp.cxx vcl/source/app/svdata.cxx vcl/source/app/svmain.cxx vcl/source/app/svmainhook.cxx vcl/source/app/unohelp.cxx vcl/source/app/vclevent.cxx vcl/source/control/button.cxx vcl/source/control/combobox.cxx vcl/source/control/edit.cxx vcl/source/control/field.cxx vcl/source/control/fixed.cxx vcl/source/control/ilstbox.cxx vcl/source/control/imgctrl.cxx vcl/source/control/makefile.mk vcl/source/control/tabctrl.cxx vcl/source/gdi/bitmap.cxx vcl/source/gdi/bitmap2.cxx vcl/source/gdi/bitmap4.cxx vcl/source/gdi/bmpconv.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/font.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/image.cxx vcl/source/gdi/impimage.cxx vcl/source/gdi/jobset.cxx vcl/source/gdi/makefile.mk vcl/source/gdi/metaact.cxx vcl/source/gdi/outdev.cxx vcl/source/gdi/outdev3.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdevnative.cxx vcl/source/gdi/pdfwriter.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/print3.cxx vcl/source/gdi/salmisc.cxx vcl/source/glyphs/gcach_ftyp.cxx vcl/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_cache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/glyphs/graphite_textsrc.hxx vcl/source/helper/canvasbitmap.cxx vcl/source/helper/smartid.cxx vcl/source/helper/xconnection.cxx vcl/source/src/btntext.src vcl/source/src/images.src vcl/source/src/print.src vcl/source/window/accel.cxx vcl/source/window/accmgr.cxx vcl/source/window/brdwin.cxx vcl/source/window/btndlg.cxx vcl/source/window/dlgctrl.cxx vcl/source/window/javachild.cxx vcl/source/window/menu.cxx vcl/source/window/msgbox.cxx vcl/source/window/printdlg.cxx vcl/source/window/status.cxx vcl/source/window/syschild.cxx vcl/source/window/toolbox.cxx vcl/source/window/toolbox2.cxx vcl/source/window/window.cxx vcl/source/window/window2.cxx vcl/source/window/wrkwin.cxx vcl/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkinst.cxx vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx vcl/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkobject.cxx vcl/unx/headless/svpbmp.hxx vcl/unx/headless/svpgdi.cxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svpinst.cxx vcl/unx/headless/svpinst.hxx vcl/unx/headless/svpprn.cxx vcl/unx/headless/svpprn.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx vcl/unx/headless/svptext.cxx vcl/unx/inc/dtint.hxx vcl/unx/inc/plugins/gtk/gtkdata.hxx vcl/unx/inc/pspgraphics.h vcl/unx/inc/salbmp.h vcl/unx/inc/saldata.hxx vcl/unx/inc/saldisp.hxx vcl/unx/inc/salgdi.h vcl/unx/inc/salinst.h vcl/unx/inc/xfont.hxx vcl/unx/kde/kdedata.cxx vcl/unx/kde4/KDESalGraphics.cxx vcl/unx/source/app/keysymnames.cxx vcl/unx/source/app/saldata.cxx vcl/unx/source/app/saldisp.cxx vcl/unx/source/app/salinst.cxx vcl/unx/source/app/wmadaptor.cxx vcl/unx/source/dtrans/X11_selection.cxx vcl/unx/source/dtrans/X11_service.cxx vcl/unx/source/gdi/makefile.mk vcl/unx/source/gdi/pspgraphics.cxx vcl/unx/source/gdi/salgdi.cxx vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salprnpsp.cxx vcl/unx/source/gdi/xfont.cxx vcl/unx/source/gdi/xlfd_attr.cxx vcl/unx/source/gdi/xlfd_attr.hxx vcl/unx/source/gdi/xlfd_extd.cxx vcl/unx/source/gdi/xlfd_extd.hxx vcl/unx/source/gdi/xlfd_smpl.cxx vcl/unx/source/gdi/xlfd_smpl.hxx vcl/unx/source/printer/ppdparser.cxx vcl/unx/source/printer/printerinfomanager.cxx vcl/unx/source/window/salframe.cxx vcl/unx/source/window/salmenu.cxx vcl/unx/source/window/salobj.cxx vcl/util/makefile2.pmk vcl/win/inc/salbmp.h vcl/win/inc/saldata.hxx vcl/win/inc/salgdi.h vcl/win/inc/salinst.h vcl/win/source/app/saldata.cxx vcl/win/source/app/salinst.cxx vcl/win/source/gdi/salgdi.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/salprn.cxx vcl/win/source/gdi/winlayout.cxx vcl/win/source/window/salframe.cxx vcl/win/source/window/salobj.cxx vcl/workben/outdevgrind.cxx vos/inc/vos/execabl.hxx vos/inc/vos/macros.hxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/refernce.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/stream.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/process.cxx vos/source/signal.cxx vos/source/thread.cxx vos/source/timer.cxx
2011-03-11 14:24:23 +01:00
void ValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage, size_t nPos )
2000-09-18 16:07:07 +00:00
{
2002-02-25 09:52:14 +00:00
ValueSetItem* pItem = new ValueSetItem( *this );
2000-09-18 16:07:07 +00:00
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage;
ImplInsertItem( pItem, nPos );
2000-09-18 16:07:07 +00:00
}
void ValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage,
const OUString& rText, size_t nPos )
2000-09-18 16:07:07 +00:00
{
2002-02-25 09:52:14 +00:00
ValueSetItem* pItem = new ValueSetItem( *this );
2000-09-18 16:07:07 +00:00
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage;
pItem->maText = rText;
ImplInsertItem( pItem, nPos );
2000-09-18 16:07:07 +00:00
}
void ValueSet::InsertItem( sal_uInt16 nItemId, const Color& rColor,
const OUString& rText, size_t nPos )
2000-09-18 16:07:07 +00:00
{
2002-02-25 09:52:14 +00:00
ValueSetItem* pItem = new ValueSetItem( *this );
2000-09-18 16:07:07 +00:00
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor;
pItem->maText = rText;
ImplInsertItem( pItem, nPos );
2000-09-18 16:07:07 +00:00
}
Merge commit 'ooo/DEV300_m101' into intm101 The following builds for me: basebmp, basegfx, comphelper, dtrans, i18npool, i18nutil, l10ntools, o3tl, psprint_config, regexp, rsc, sax, sot, tools, ucbhelper, unotools, vcl The rest still needs fixing ;-) Conflicts: canvas/prj/build.lst canvas/source/cairo/cairo_textlayout.cxx canvas/source/directx/dx_winstuff.hxx canvas/source/tools/image.cxx canvas/source/vcl/canvashelper.cxx comphelper/inc/comphelper/documentconstants.hxx comphelper/inc/comphelper/optionalvalue.hxx comphelper/inc/comphelper/querydeep.hxx comphelper/prj/build.lst comphelper/qa/complex/makefile.mk comphelper/qa/string/test_string_noadditional.cxx comphelper/source/misc/componentmodule.cxx comphelper/source/misc/mimeconfighelper.cxx comphelper/source/misc/querydeep.cxx comphelper/source/misc/uieventslogger.cxx comphelper/source/property/TypeGeneration.cxx comphelper/test/uno_iterators/uno_iterators.cxx comphelper/util/makefile.mk cppcanvas/source/mtfrenderer/implrenderer.cxx dtrans/prj/build.lst dtrans/source/generic/dtrans.cxx dtrans/source/win32/dtobj/FmtFilter.cxx i18npool/prj/build.lst i18npool/source/localedata/data/localedata_others.map i18npool/source/localedata/data/makefile.mk i18npool/source/localedata/localedata.cxx i18npool/source/localedata/saxparser.cxx i18npool/source/registerservices/registerservices.cxx i18npool/source/search/textsearch.cxx l10ntools/inc/cfgmerge.hxx l10ntools/inc/export.hxx l10ntools/inc/gsicheck.hxx l10ntools/inc/l10ntools/vosapp.hxx l10ntools/inc/tagtest.hxx l10ntools/inc/xmlparse.hxx l10ntools/layout/layoutparse.cxx l10ntools/layout/tralay.cxx l10ntools/source/cfgmerge.cxx l10ntools/source/export.cxx l10ntools/source/export2.cxx l10ntools/source/gsicheck.cxx l10ntools/source/help/HelpLinker.cxx l10ntools/source/lngex.cxx l10ntools/source/lngmerge.cxx l10ntools/source/merge.cxx l10ntools/source/tagtest.cxx l10ntools/source/xmlparse.cxx padmin/source/fontentry.cxx padmin/source/padialog.cxx padmin/source/padialog.src padmin/source/pamain.cxx rsc/inc/rscarray.hxx rsc/inc/rscclass.hxx rsc/inc/rscclobj.hxx rsc/inc/rsccont.hxx rsc/inc/rscdb.hxx rsc/inc/rscdef.hxx rsc/inc/rscmgr.hxx rsc/inc/rscrange.hxx rsc/inc/rsctop.hxx rsc/inc/vclrsc.hxx rsc/source/parser/rscdb.cxx rsc/source/parser/rscicpx.cxx rsc/source/parser/rscinit.cxx rsc/source/prj/start.cxx rsc/source/res/rscarray.cxx rsc/source/res/rscclass.cxx rsc/source/res/rscclobj.cxx rsc/source/res/rsccont.cxx rsc/source/res/rscmgr.cxx rsc/source/res/rscrange.cxx rsc/source/res/rsctop.cxx rsc/source/rsc/rsc.cxx rsc/source/tools/rscdef.cxx rsc/source/tools/rsctools.cxx sax/source/expatwrap/sax_expat.cxx sax/source/fastparser/facreg.cxx sax/source/tools/fastserializer.cxx sot/inc/sot/filelist.hxx sot/inc/sot/object.hxx sot/source/base/factory.cxx sot/source/base/filelist.cxx sot/source/sdstor/stg.cxx sot/source/sdstor/stgcache.cxx sot/source/sdstor/stgole.cxx sot/source/sdstor/stgstrms.cxx sot/source/sdstor/storage.cxx sot/source/sdstor/ucbstorage.cxx svl/inc/svl/cenumitm.hxx svl/inc/svl/cintitem.hxx svl/inc/svl/cntwall.hxx svl/inc/svl/ctypeitm.hxx svl/inc/svl/custritm.hxx svl/inc/svl/dateitem.hxx svl/inc/svl/filerec.hxx svl/inc/svl/globalnameitem.hxx svl/inc/svl/ilstitem.hxx svl/inc/svl/imageitm.hxx svl/inc/svl/intitem.hxx svl/inc/svl/itempool.hxx svl/inc/svl/itemset.hxx svl/inc/svl/lckbitem.hxx svl/inc/svl/poolitem.hxx svl/inc/svl/ptitem.hxx svl/inc/svl/rectitem.hxx svl/inc/svl/sfontitm.hxx svl/inc/svl/slstitm.hxx svl/inc/svl/srchitem.hxx svl/inc/svl/svarray.hxx svl/inc/svl/svdde.hxx svl/inc/svl/svstdarr.hxx svl/inc/svl/szitem.hxx svl/inc/svl/visitem.hxx svl/inc/svl/zforlist.hxx svl/inc/svl/zformat.hxx svl/prj/build.lst svl/qa/complex/ConfigItems/helper/ConfigItemTest.cxx svl/qa/complex/ConfigItems/helper/makefile.mk svl/qa/makefile.mk svl/source/filepicker/pickerhelper.cxx svl/source/filerec/filerec.cxx svl/source/items/cenumitm.cxx svl/source/items/cintitem.cxx svl/source/items/cntwall.cxx svl/source/items/ctypeitm.cxx svl/source/items/custritm.cxx svl/source/items/dateitem.cxx svl/source/items/globalnameitem.cxx svl/source/items/ilstitem.cxx svl/source/items/imageitm.cxx svl/source/items/intitem.cxx svl/source/items/itempool.cxx svl/source/items/itemprop.cxx svl/source/items/itemset.cxx svl/source/items/lckbitem.cxx svl/source/items/poolio.cxx svl/source/items/poolitem.cxx svl/source/items/ptitem.cxx svl/source/items/rectitem.cxx svl/source/items/slstitm.cxx svl/source/items/srchitem.cxx svl/source/items/style.cxx svl/source/items/szitem.cxx svl/source/items/visitem.cxx svl/source/items/whiter.cxx svl/source/memtools/svarray.cxx svl/source/misc/PasswordHelper.cxx svl/source/misc/adrparse.cxx svl/source/misc/lngmisc.cxx svl/source/notify/brdcst.cxx svl/source/notify/listener.cxx svl/source/notify/listenerbase.cxx svl/source/numbers/makefile.mk svl/source/numbers/nbdll.cxx svl/source/numbers/zforfind.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svl/source/passwordcontainer/passwordcontainer.cxx svl/source/svdde/ddecli.cxx svl/source/svdde/ddeimp.hxx svl/source/svdde/ddemlos2.h svl/source/svdde/ddesvr.cxx svl/source/undo/undo.cxx svl/source/uno/registerservices.cxx svl/util/makefile.mk svtools/bmpmaker/bmpsum.cxx svtools/bmpmaker/g2g.cxx svtools/bmpmaker/makefile.mk svtools/inc/borderhelper.hxx svtools/inc/svtools/accessiblefactory.hxx svtools/inc/svtools/apearcfg.hxx svtools/inc/svtools/brwbox.hxx svtools/inc/svtools/ctrlbox.hxx svtools/inc/svtools/ctrltool.hxx svtools/inc/svtools/editbrowsebox.hxx svtools/inc/svtools/ehdl.hxx svtools/inc/svtools/embedhlp.hxx svtools/inc/svtools/filter.hxx svtools/inc/svtools/ivctrl.hxx svtools/inc/svtools/parhtml.hxx svtools/inc/svtools/printdlg.hxx svtools/inc/svtools/rtftoken.h svtools/inc/svtools/ruler.hxx svtools/inc/svtools/svicnvw.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svlbox.hxx svtools/inc/svtools/svtreebx.hxx svtools/inc/svtools/tabbar.hxx svtools/inc/svtools/table/abstracttablecontrol.hxx svtools/inc/svtools/taskbar.hxx svtools/inc/svtools/textview.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/brwbox1.cxx svtools/source/brwbox/brwbox2.cxx svtools/source/brwbox/datwin.cxx svtools/source/brwbox/datwin.hxx svtools/source/brwbox/makefile.mk svtools/source/config/apearcfg.cxx svtools/source/config/htmlcfg.cxx svtools/source/config/menuoptions.cxx svtools/source/config/miscopt.cxx svtools/source/contnr/cont_pch.cxx svtools/source/contnr/ctrdll.cxx svtools/source/contnr/fileview.cxx svtools/source/contnr/imivctl1.cxx svtools/source/contnr/ivctrl.cxx svtools/source/contnr/makefile.mk svtools/source/contnr/svcontnr.src svtools/source/contnr/svicnvw.cxx svtools/source/contnr/svimpbox.cxx svtools/source/contnr/svimpicn.cxx svtools/source/contnr/svlbitm.cxx svtools/source/contnr/svtreebx.cxx svtools/source/contnr/templwin.cxx svtools/source/contnr/templwin.hxx svtools/source/control/asynclink.cxx svtools/source/control/ctrlbox.cxx svtools/source/control/ctrldll.cxx svtools/source/control/ctrltool.cxx svtools/source/control/filectrl.cxx svtools/source/control/filectrl.src svtools/source/control/headbar.cxx svtools/source/control/inettbc.cxx svtools/source/control/makefile.mk svtools/source/control/prgsbar.cxx svtools/source/control/roadmap.cxx svtools/source/control/ruler.cxx svtools/source/control/scriptedtext.cxx svtools/source/control/stdmenu.cxx svtools/source/control/tabbar.cxx svtools/source/control/taskbar.cxx svtools/source/control/taskbox.cxx svtools/source/control/taskmisc.cxx svtools/source/control/taskstat.cxx svtools/source/control/valueacc.cxx svtools/source/control/valueset.cxx svtools/source/dialogs/addresstemplate.cxx svtools/source/dialogs/addresstemplate.src svtools/source/dialogs/colrdlg.src svtools/source/dialogs/filedlg2.cxx svtools/source/dialogs/filedlg2.hxx svtools/source/dialogs/makefile.mk svtools/source/dialogs/printdlg.cxx svtools/source/dialogs/printdlg.src svtools/source/dialogs/propctrl.cxx svtools/source/dialogs/propctrl.hxx svtools/source/dialogs/property.cxx svtools/source/edit/makefile.mk svtools/source/edit/sychconv.cxx svtools/source/edit/syntaxhighlight.cxx svtools/source/edit/textdoc.cxx svtools/source/edit/texteng.cxx svtools/source/edit/textundo.cxx svtools/source/edit/textview.cxx svtools/source/filter.vcl/filter/SvFilterOptionsDialog.cxx svtools/source/filter.vcl/filter/dlgejpg.cxx svtools/source/filter.vcl/filter/dlgejpg.hxx svtools/source/filter.vcl/filter/dlgejpg.src svtools/source/filter.vcl/filter/dlgepng.cxx svtools/source/filter.vcl/filter/dlgepng.hxx svtools/source/filter.vcl/filter/dlgepng.src svtools/source/filter.vcl/filter/dlgexpor.cxx svtools/source/filter.vcl/filter/dlgexpor.hxx svtools/source/filter.vcl/filter/dlgexpor.src svtools/source/filter.vcl/filter/filter2.cxx svtools/source/filter.vcl/filter/makefile.mk svtools/source/filter.vcl/filter/sgfbram.cxx svtools/source/filter.vcl/filter/sgvmain.cxx svtools/source/filter.vcl/filter/sgvspln.cxx svtools/source/filter.vcl/filter/strings.src svtools/source/filter.vcl/jpeg/makefile.mk svtools/source/filter.vcl/wmf/emfwr.cxx svtools/source/filter.vcl/wmf/emfwr.hxx svtools/source/filter.vcl/wmf/enhwmf.cxx svtools/source/filter.vcl/wmf/winmtf.hxx svtools/source/filter.vcl/wmf/wmfwr.cxx svtools/source/filter.vcl/wmf/wmfwr.hxx svtools/source/graphic/grfcache.cxx svtools/source/graphic/grfcache.hxx svtools/source/graphic/grfmgr.cxx svtools/source/graphic/makefile.mk svtools/source/inc/accessibletableimp.hxx svtools/source/inc/svimpbox.hxx svtools/source/java/patchjavaerror.src svtools/source/misc/ehdl.cxx svtools/source/misc/errtxt.src svtools/source/misc/helpagentwindow.cxx svtools/source/misc/imagemgr.cxx svtools/source/misc/imagemgr.src svtools/source/misc/imageresourceaccess.cxx svtools/source/misc/imap.cxx svtools/source/misc/langtab.src svtools/source/misc/makefile.mk svtools/source/misc/svtdata.cxx svtools/source/misc/templatefoldercache.cxx svtools/source/misc/transfer2.cxx svtools/source/misc/undo.src svtools/source/plugapp/commtest.cxx svtools/source/plugapp/commtest.src svtools/source/plugapp/makefile.mk svtools/source/plugapp/testtool.src svtools/source/productregistration/productregistration.cxx svtools/source/svhtml/htmlkywd.cxx svtools/source/svhtml/parhtml.cxx svtools/source/svrtf/rtfkey2.cxx svtools/source/svrtf/rtfkeywd.cxx svtools/source/table/defaultinputhandler.cxx svtools/source/table/makefile.mk svtools/source/table/tablecontrol.cxx svtools/source/table/tablecontrol_impl.cxx svtools/source/table/tablecontrol_impl.hxx svtools/source/table/tabledatawindow.cxx svtools/source/table/tablegeometry.cxx svtools/source/table/tablegeometry.hxx svtools/source/toolpanel/makefile.mk svtools/source/toolpanel/toolpaneldrawer.cxx svtools/source/uno/addrtempuno.cxx svtools/source/uno/miscservices.cxx svtools/source/uno/svtxgridcontrol.cxx svtools/source/uno/svtxgridcontrol.hxx svtools/source/uno/toolboxcontroller.cxx svtools/source/uno/treecontrolpeer.cxx svtools/source/uno/unocontroltablemodel.cxx svtools/source/uno/unocontroltablemodel.hxx svtools/source/uno/unoimap.cxx svtools/source/urlobj/inetimg.cxx svtools/util/makefile.mk svtools/workben/browser.cxx svtools/workben/cui/makefile.mk svtools/workben/makefile.mk svtools/workben/stest.cxx svtools/workben/toolpanel/makefile.mk svtools/workben/urange.cxx toolkit/inc/toolkit/awt/vclxdevice.hxx toolkit/inc/toolkit/awt/vclxgraphics.hxx toolkit/inc/toolkit/awt/vclxwindows.hxx toolkit/inc/toolkit/controls/dialogcontrol.hxx toolkit/inc/toolkit/helper/property.hxx toolkit/inc/toolkit/helper/servicenames.hxx toolkit/inc/toolkit/helper/throbberimpl.hxx toolkit/qa/complex/toolkit/accessibility/_XAccessibleComponent.java toolkit/source/awt/asynccallback.cxx toolkit/source/awt/vclxgraphics.cxx toolkit/source/awt/vclxtoolkit.cxx toolkit/source/awt/vclxwindow.cxx toolkit/source/awt/xsimpleanimation.cxx toolkit/source/awt/xthrobber.cxx toolkit/source/controls/dialogcontrol.cxx toolkit/source/controls/grid/defaultgridcolumnmodel.cxx toolkit/source/controls/grid/defaultgriddatamodel.cxx toolkit/source/controls/grid/gridcontrol.cxx toolkit/source/controls/grid/initguard.hxx toolkit/source/controls/unocontrol.cxx toolkit/source/controls/unocontrolcontainer.cxx toolkit/source/controls/unocontrols.cxx toolkit/source/helper/listenermultiplexer.cxx toolkit/source/helper/property.cxx toolkit/source/helper/registerservices.cxx toolkit/source/helper/servicenames.cxx toolkit/source/helper/throbberimpl.cxx toolkit/source/helper/tkresmgr.cxx tools/StaticLibrary_ooopathutils.mk tools/bootstrp/addexes/makefile.mk tools/bootstrp/addexes2/makefile.mk tools/bootstrp/addexes2/mkfilt.cxx tools/bootstrp/command.cxx tools/bootstrp/cppdep.cxx tools/bootstrp/iserver.cxx tools/bootstrp/makefile.mk tools/bootstrp/mkcreate.cxx tools/bootstrp/prj.cxx tools/bootstrp/rscdep.cxx tools/bootstrp/sstring.cxx tools/inc/bootstrp/command.hxx tools/inc/bootstrp/mkcreate.hxx tools/inc/bootstrp/prj.hxx tools/inc/bootstrp/sstring.hxx tools/inc/tools/agapi.hxx tools/inc/tools/agitem.hxx tools/inc/tools/chapi.hxx tools/inc/tools/download.hxx tools/inc/tools/eacopier.hxx tools/inc/tools/fract.hxx tools/inc/tools/fsys.hxx tools/inc/tools/geninfo.hxx tools/inc/tools/globname.hxx tools/inc/tools/inetmime.hxx tools/inc/tools/multisel.hxx tools/inc/tools/poly.hxx tools/inc/tools/postsys.h tools/inc/tools/postwin.h tools/inc/tools/presys.h tools/inc/tools/prewin.h tools/inc/tools/pstm.hxx tools/inc/tools/ref.hxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/inc/tools/table.hxx tools/inc/tools/urlkeys.hxx tools/inc/tools/urlobj.hxx tools/prj/build.lst tools/prj/d.lst tools/qa/makefile.mk tools/source/communi/geninfo.cxx tools/source/debug/debug.cxx tools/source/fsys/dirent.cxx tools/source/fsys/tdir.cxx tools/source/fsys/unx.cxx tools/source/fsys/urlobj.cxx tools/source/generic/color.cxx tools/source/generic/config.cxx tools/source/generic/fract.cxx tools/source/inet/inetmime.cxx tools/source/memtools/multisel.cxx tools/source/memtools/table.cxx tools/source/rc/resmgr.cxx tools/source/ref/globname.cxx tools/source/ref/pstm.cxx tools/source/solar/solar.c tools/source/stream/strmos2.cxx tools/source/stream/strmunx.cxx tools/source/stream/strmwnt.cxx tools/source/string/makefile.mk tools/source/testtoolloader/testtoolloader.cxx tools/test/makefile.mk tools/util/makefile.mk tools/win/inc/dll.hxx tools/win/inc/parser.hxx tools/win/inc/shellex.h tools/win/inc/shutil.h tools/win/inc/toolsdll.hxx tools/win/inc/winshell.hxx tools/workben/makefile.mk ucbhelper/source/client/proxydecider.cxx ucbhelper/workben/ucbexplorer/ucbexplorer.hrc unotools/inc/unotools/unotunnelhelper.hxx unotools/source/config/fltrcfg.cxx unotools/source/config/lingucfg.cxx unotools/source/config/misccfg.cxx unotools/source/config/pathoptions.cxx unotools/source/config/searchopt.cxx unotools/source/i18n/localedatawrapper.cxx unotools/source/ucbhelper/localfilehelper.cxx unotools/source/ucbhelper/ucbhelper.cxx unotools/source/ucbhelper/xtempfile.cxx vcl/aqua/inc/salbmp.h vcl/aqua/inc/salgdi.h vcl/aqua/inc/salinst.h vcl/aqua/source/app/salinst.cxx vcl/aqua/source/gdi/aquaprintaccessoryview.mm vcl/aqua/source/gdi/salgdi.cxx vcl/aqua/source/gdi/salprn.cxx vcl/aqua/source/window/salframeview.mm vcl/aqua/source/window/salobj.cxx vcl/inc/vcl/bitmap.hxx vcl/inc/vcl/brdwin.hxx vcl/inc/vcl/button.hxx vcl/inc/vcl/cmdevt.hxx vcl/inc/vcl/cvtgrf.hxx vcl/inc/vcl/dialog.hxx vcl/inc/vcl/dockwin.hxx vcl/inc/vcl/event.hxx vcl/inc/vcl/fixed.hxx vcl/inc/vcl/fldunit.hxx vcl/inc/vcl/floatwin.hxx vcl/inc/vcl/gdimtf.hxx vcl/inc/vcl/glyphcache.hxx vcl/inc/vcl/graphite_adaptors.hxx vcl/inc/vcl/graphite_features.hxx vcl/inc/vcl/graphite_layout.hxx vcl/inc/vcl/ilstbox.hxx vcl/inc/vcl/image.h vcl/inc/vcl/imgctrl.hxx vcl/inc/vcl/impbmpconv.hxx vcl/inc/vcl/impprn.hxx vcl/inc/vcl/jobset.h vcl/inc/vcl/keycodes.hxx vcl/inc/vcl/lstbox.hxx vcl/inc/vcl/mapunit.hxx vcl/inc/vcl/menu.hxx vcl/inc/vcl/msgbox.hxx vcl/inc/vcl/outdev.hxx vcl/inc/vcl/prndlg.hxx vcl/inc/vcl/salatype.hxx vcl/inc/vcl/salbmp.hxx vcl/inc/vcl/salgdi.hxx vcl/inc/vcl/salinst.hxx vcl/inc/vcl/seleng.hxx vcl/inc/vcl/settings.hxx vcl/inc/vcl/smartid.hxx vcl/inc/vcl/status.hxx vcl/inc/vcl/strhelper.hxx vcl/inc/vcl/svapp.hxx vcl/inc/vcl/svdata.hxx vcl/inc/vcl/syschild.hxx vcl/inc/vcl/sysdata.hxx vcl/inc/vcl/taskpanelist.hxx vcl/inc/vcl/toolbox.hxx vcl/inc/vcl/vclevent.hxx vcl/inc/vcl/windata.hxx vcl/inc/vcl/window.hxx vcl/inc/vcl/wintypes.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/gdi/salgdi.cxx vcl/os2/source/window/salmenu.cxx vcl/os2/source/window/salobj.cxx vcl/prj/build.lst vcl/source/app/dbggui.cxx vcl/source/app/help.cxx vcl/source/app/idlemgr.cxx vcl/source/app/settings.cxx vcl/source/app/svapp.cxx vcl/source/app/svdata.cxx vcl/source/app/svmain.cxx vcl/source/app/svmainhook.cxx vcl/source/app/unohelp.cxx vcl/source/app/vclevent.cxx vcl/source/control/button.cxx vcl/source/control/combobox.cxx vcl/source/control/edit.cxx vcl/source/control/field.cxx vcl/source/control/fixed.cxx vcl/source/control/ilstbox.cxx vcl/source/control/imgctrl.cxx vcl/source/control/makefile.mk vcl/source/control/tabctrl.cxx vcl/source/gdi/bitmap.cxx vcl/source/gdi/bitmap2.cxx vcl/source/gdi/bitmap4.cxx vcl/source/gdi/bmpconv.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/font.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/image.cxx vcl/source/gdi/impimage.cxx vcl/source/gdi/jobset.cxx vcl/source/gdi/makefile.mk vcl/source/gdi/metaact.cxx vcl/source/gdi/outdev.cxx vcl/source/gdi/outdev3.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdevnative.cxx vcl/source/gdi/pdfwriter.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/print3.cxx vcl/source/gdi/salmisc.cxx vcl/source/glyphs/gcach_ftyp.cxx vcl/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_cache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/glyphs/graphite_textsrc.hxx vcl/source/helper/canvasbitmap.cxx vcl/source/helper/smartid.cxx vcl/source/helper/xconnection.cxx vcl/source/src/btntext.src vcl/source/src/images.src vcl/source/src/print.src vcl/source/window/accel.cxx vcl/source/window/accmgr.cxx vcl/source/window/brdwin.cxx vcl/source/window/btndlg.cxx vcl/source/window/dlgctrl.cxx vcl/source/window/javachild.cxx vcl/source/window/menu.cxx vcl/source/window/msgbox.cxx vcl/source/window/printdlg.cxx vcl/source/window/status.cxx vcl/source/window/syschild.cxx vcl/source/window/toolbox.cxx vcl/source/window/toolbox2.cxx vcl/source/window/window.cxx vcl/source/window/window2.cxx vcl/source/window/wrkwin.cxx vcl/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkinst.cxx vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx vcl/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkobject.cxx vcl/unx/headless/svpbmp.hxx vcl/unx/headless/svpgdi.cxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svpinst.cxx vcl/unx/headless/svpinst.hxx vcl/unx/headless/svpprn.cxx vcl/unx/headless/svpprn.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx vcl/unx/headless/svptext.cxx vcl/unx/inc/dtint.hxx vcl/unx/inc/plugins/gtk/gtkdata.hxx vcl/unx/inc/pspgraphics.h vcl/unx/inc/salbmp.h vcl/unx/inc/saldata.hxx vcl/unx/inc/saldisp.hxx vcl/unx/inc/salgdi.h vcl/unx/inc/salinst.h vcl/unx/inc/xfont.hxx vcl/unx/kde/kdedata.cxx vcl/unx/kde4/KDESalGraphics.cxx vcl/unx/source/app/keysymnames.cxx vcl/unx/source/app/saldata.cxx vcl/unx/source/app/saldisp.cxx vcl/unx/source/app/salinst.cxx vcl/unx/source/app/wmadaptor.cxx vcl/unx/source/dtrans/X11_selection.cxx vcl/unx/source/dtrans/X11_service.cxx vcl/unx/source/gdi/makefile.mk vcl/unx/source/gdi/pspgraphics.cxx vcl/unx/source/gdi/salgdi.cxx vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salprnpsp.cxx vcl/unx/source/gdi/xfont.cxx vcl/unx/source/gdi/xlfd_attr.cxx vcl/unx/source/gdi/xlfd_attr.hxx vcl/unx/source/gdi/xlfd_extd.cxx vcl/unx/source/gdi/xlfd_extd.hxx vcl/unx/source/gdi/xlfd_smpl.cxx vcl/unx/source/gdi/xlfd_smpl.hxx vcl/unx/source/printer/ppdparser.cxx vcl/unx/source/printer/printerinfomanager.cxx vcl/unx/source/window/salframe.cxx vcl/unx/source/window/salmenu.cxx vcl/unx/source/window/salobj.cxx vcl/util/makefile2.pmk vcl/win/inc/salbmp.h vcl/win/inc/saldata.hxx vcl/win/inc/salgdi.h vcl/win/inc/salinst.h vcl/win/source/app/saldata.cxx vcl/win/source/app/salinst.cxx vcl/win/source/gdi/salgdi.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/salprn.cxx vcl/win/source/gdi/winlayout.cxx vcl/win/source/window/salframe.cxx vcl/win/source/window/salobj.cxx vcl/workben/outdevgrind.cxx vos/inc/vos/execabl.hxx vos/inc/vos/macros.hxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/refernce.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/stream.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/process.cxx vos/source/signal.cxx vos/source/thread.cxx vos/source/timer.cxx
2011-03-11 14:24:23 +01:00
void ValueSet::InsertItem( sal_uInt16 nItemId, size_t nPos )
2000-09-18 16:07:07 +00:00
{
2002-02-25 09:52:14 +00:00
ValueSetItem* pItem = new ValueSetItem( *this );
2000-09-18 16:07:07 +00:00
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_USERDRAW;
ImplInsertItem( pItem, nPos );
}
void ValueSet::ImplInsertItem( ValueSetItem *const pItem, const size_t nPos )
{
DBG_ASSERT( pItem->mnId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( pItem->mnId ) == VALUESET_ITEM_NOTFOUND,
"ValueSet::InsertItem(): ItemId already exists" );
if ( nPos < mItemList.size() ) {
ValueItemList::iterator it = mItemList.begin();
::std::advance( it, nPos );
mItemList.insert( it, pItem );
} else {
mItemList.push_back( pItem );
}
2000-09-18 16:07:07 +00:00
queue_resize();
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
Rectangle ValueSet::ImplGetItemRect( size_t nPos ) const
{
const size_t nVisibleBegin = static_cast<size_t>(mnFirstLine)*mnCols;
const size_t nVisibleEnd = nVisibleBegin + static_cast<size_t>(mnVisLines)*mnCols;
// Check if the item is inside the range of the displayed ones,
// taking into account that last row could be incomplete
if ( nPos<nVisibleBegin || nPos>=nVisibleEnd || nPos>=mItemList.size() )
return Rectangle();
nPos -= nVisibleBegin;
const size_t row = mnCols ? nPos/mnCols : 0;
const size_t col = mnCols ? nPos%mnCols : 0;
const long x = maItemListRect.Left()+col*(mnItemWidth+mnSpacing);
const long y = maItemListRect.Top()+row*(mnItemHeight+mnSpacing);
return Rectangle( Point(x, y), Size(mnItemWidth, mnItemHeight) );
}
void ValueSet::RemoveItem( sal_uInt16 nItemId )
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos == VALUESET_ITEM_NOTFOUND )
return;
if ( nPos < mItemList.size() ) {
ValueItemList::iterator it = mItemList.begin();
::std::advance( it, nPos );
delete *it;
mItemList.erase( it );
}
2000-09-18 16:07:07 +00:00
// reset variables
2000-09-18 16:07:07 +00:00
if ( (mnHighItemId == nItemId) || (mnSelItemId == nItemId) )
{
mnCurCol = 0;
mnHighItemId = 0;
mnSelItemId = 0;
2012-02-11 18:17:26 +01:00
mbNoSelection = true;
2000-09-18 16:07:07 +00:00
}
queue_resize();
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
void ValueSet::Clear()
{
2002-02-25 09:52:14 +00:00
ImplDeleteItems();
2000-09-18 16:07:07 +00:00
// reset variables
2000-09-18 16:07:07 +00:00
mnFirstLine = 0;
mnCurCol = 0;
mnHighItemId = 0;
mnSelItemId = 0;
2012-02-11 18:17:26 +01:00
mbNoSelection = true;
2000-09-18 16:07:07 +00:00
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
size_t ValueSet::GetItemCount() const
2000-09-18 16:07:07 +00:00
{
return mItemList.size();
2000-09-18 16:07:07 +00:00
}
Merge commit 'ooo/DEV300_m101' into intm101 The following builds for me: basebmp, basegfx, comphelper, dtrans, i18npool, i18nutil, l10ntools, o3tl, psprint_config, regexp, rsc, sax, sot, tools, ucbhelper, unotools, vcl The rest still needs fixing ;-) Conflicts: canvas/prj/build.lst canvas/source/cairo/cairo_textlayout.cxx canvas/source/directx/dx_winstuff.hxx canvas/source/tools/image.cxx canvas/source/vcl/canvashelper.cxx comphelper/inc/comphelper/documentconstants.hxx comphelper/inc/comphelper/optionalvalue.hxx comphelper/inc/comphelper/querydeep.hxx comphelper/prj/build.lst comphelper/qa/complex/makefile.mk comphelper/qa/string/test_string_noadditional.cxx comphelper/source/misc/componentmodule.cxx comphelper/source/misc/mimeconfighelper.cxx comphelper/source/misc/querydeep.cxx comphelper/source/misc/uieventslogger.cxx comphelper/source/property/TypeGeneration.cxx comphelper/test/uno_iterators/uno_iterators.cxx comphelper/util/makefile.mk cppcanvas/source/mtfrenderer/implrenderer.cxx dtrans/prj/build.lst dtrans/source/generic/dtrans.cxx dtrans/source/win32/dtobj/FmtFilter.cxx i18npool/prj/build.lst i18npool/source/localedata/data/localedata_others.map i18npool/source/localedata/data/makefile.mk i18npool/source/localedata/localedata.cxx i18npool/source/localedata/saxparser.cxx i18npool/source/registerservices/registerservices.cxx i18npool/source/search/textsearch.cxx l10ntools/inc/cfgmerge.hxx l10ntools/inc/export.hxx l10ntools/inc/gsicheck.hxx l10ntools/inc/l10ntools/vosapp.hxx l10ntools/inc/tagtest.hxx l10ntools/inc/xmlparse.hxx l10ntools/layout/layoutparse.cxx l10ntools/layout/tralay.cxx l10ntools/source/cfgmerge.cxx l10ntools/source/export.cxx l10ntools/source/export2.cxx l10ntools/source/gsicheck.cxx l10ntools/source/help/HelpLinker.cxx l10ntools/source/lngex.cxx l10ntools/source/lngmerge.cxx l10ntools/source/merge.cxx l10ntools/source/tagtest.cxx l10ntools/source/xmlparse.cxx padmin/source/fontentry.cxx padmin/source/padialog.cxx padmin/source/padialog.src padmin/source/pamain.cxx rsc/inc/rscarray.hxx rsc/inc/rscclass.hxx rsc/inc/rscclobj.hxx rsc/inc/rsccont.hxx rsc/inc/rscdb.hxx rsc/inc/rscdef.hxx rsc/inc/rscmgr.hxx rsc/inc/rscrange.hxx rsc/inc/rsctop.hxx rsc/inc/vclrsc.hxx rsc/source/parser/rscdb.cxx rsc/source/parser/rscicpx.cxx rsc/source/parser/rscinit.cxx rsc/source/prj/start.cxx rsc/source/res/rscarray.cxx rsc/source/res/rscclass.cxx rsc/source/res/rscclobj.cxx rsc/source/res/rsccont.cxx rsc/source/res/rscmgr.cxx rsc/source/res/rscrange.cxx rsc/source/res/rsctop.cxx rsc/source/rsc/rsc.cxx rsc/source/tools/rscdef.cxx rsc/source/tools/rsctools.cxx sax/source/expatwrap/sax_expat.cxx sax/source/fastparser/facreg.cxx sax/source/tools/fastserializer.cxx sot/inc/sot/filelist.hxx sot/inc/sot/object.hxx sot/source/base/factory.cxx sot/source/base/filelist.cxx sot/source/sdstor/stg.cxx sot/source/sdstor/stgcache.cxx sot/source/sdstor/stgole.cxx sot/source/sdstor/stgstrms.cxx sot/source/sdstor/storage.cxx sot/source/sdstor/ucbstorage.cxx svl/inc/svl/cenumitm.hxx svl/inc/svl/cintitem.hxx svl/inc/svl/cntwall.hxx svl/inc/svl/ctypeitm.hxx svl/inc/svl/custritm.hxx svl/inc/svl/dateitem.hxx svl/inc/svl/filerec.hxx svl/inc/svl/globalnameitem.hxx svl/inc/svl/ilstitem.hxx svl/inc/svl/imageitm.hxx svl/inc/svl/intitem.hxx svl/inc/svl/itempool.hxx svl/inc/svl/itemset.hxx svl/inc/svl/lckbitem.hxx svl/inc/svl/poolitem.hxx svl/inc/svl/ptitem.hxx svl/inc/svl/rectitem.hxx svl/inc/svl/sfontitm.hxx svl/inc/svl/slstitm.hxx svl/inc/svl/srchitem.hxx svl/inc/svl/svarray.hxx svl/inc/svl/svdde.hxx svl/inc/svl/svstdarr.hxx svl/inc/svl/szitem.hxx svl/inc/svl/visitem.hxx svl/inc/svl/zforlist.hxx svl/inc/svl/zformat.hxx svl/prj/build.lst svl/qa/complex/ConfigItems/helper/ConfigItemTest.cxx svl/qa/complex/ConfigItems/helper/makefile.mk svl/qa/makefile.mk svl/source/filepicker/pickerhelper.cxx svl/source/filerec/filerec.cxx svl/source/items/cenumitm.cxx svl/source/items/cintitem.cxx svl/source/items/cntwall.cxx svl/source/items/ctypeitm.cxx svl/source/items/custritm.cxx svl/source/items/dateitem.cxx svl/source/items/globalnameitem.cxx svl/source/items/ilstitem.cxx svl/source/items/imageitm.cxx svl/source/items/intitem.cxx svl/source/items/itempool.cxx svl/source/items/itemprop.cxx svl/source/items/itemset.cxx svl/source/items/lckbitem.cxx svl/source/items/poolio.cxx svl/source/items/poolitem.cxx svl/source/items/ptitem.cxx svl/source/items/rectitem.cxx svl/source/items/slstitm.cxx svl/source/items/srchitem.cxx svl/source/items/style.cxx svl/source/items/szitem.cxx svl/source/items/visitem.cxx svl/source/items/whiter.cxx svl/source/memtools/svarray.cxx svl/source/misc/PasswordHelper.cxx svl/source/misc/adrparse.cxx svl/source/misc/lngmisc.cxx svl/source/notify/brdcst.cxx svl/source/notify/listener.cxx svl/source/notify/listenerbase.cxx svl/source/numbers/makefile.mk svl/source/numbers/nbdll.cxx svl/source/numbers/zforfind.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svl/source/passwordcontainer/passwordcontainer.cxx svl/source/svdde/ddecli.cxx svl/source/svdde/ddeimp.hxx svl/source/svdde/ddemlos2.h svl/source/svdde/ddesvr.cxx svl/source/undo/undo.cxx svl/source/uno/registerservices.cxx svl/util/makefile.mk svtools/bmpmaker/bmpsum.cxx svtools/bmpmaker/g2g.cxx svtools/bmpmaker/makefile.mk svtools/inc/borderhelper.hxx svtools/inc/svtools/accessiblefactory.hxx svtools/inc/svtools/apearcfg.hxx svtools/inc/svtools/brwbox.hxx svtools/inc/svtools/ctrlbox.hxx svtools/inc/svtools/ctrltool.hxx svtools/inc/svtools/editbrowsebox.hxx svtools/inc/svtools/ehdl.hxx svtools/inc/svtools/embedhlp.hxx svtools/inc/svtools/filter.hxx svtools/inc/svtools/ivctrl.hxx svtools/inc/svtools/parhtml.hxx svtools/inc/svtools/printdlg.hxx svtools/inc/svtools/rtftoken.h svtools/inc/svtools/ruler.hxx svtools/inc/svtools/svicnvw.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svlbox.hxx svtools/inc/svtools/svtreebx.hxx svtools/inc/svtools/tabbar.hxx svtools/inc/svtools/table/abstracttablecontrol.hxx svtools/inc/svtools/taskbar.hxx svtools/inc/svtools/textview.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/brwbox1.cxx svtools/source/brwbox/brwbox2.cxx svtools/source/brwbox/datwin.cxx svtools/source/brwbox/datwin.hxx svtools/source/brwbox/makefile.mk svtools/source/config/apearcfg.cxx svtools/source/config/htmlcfg.cxx svtools/source/config/menuoptions.cxx svtools/source/config/miscopt.cxx svtools/source/contnr/cont_pch.cxx svtools/source/contnr/ctrdll.cxx svtools/source/contnr/fileview.cxx svtools/source/contnr/imivctl1.cxx svtools/source/contnr/ivctrl.cxx svtools/source/contnr/makefile.mk svtools/source/contnr/svcontnr.src svtools/source/contnr/svicnvw.cxx svtools/source/contnr/svimpbox.cxx svtools/source/contnr/svimpicn.cxx svtools/source/contnr/svlbitm.cxx svtools/source/contnr/svtreebx.cxx svtools/source/contnr/templwin.cxx svtools/source/contnr/templwin.hxx svtools/source/control/asynclink.cxx svtools/source/control/ctrlbox.cxx svtools/source/control/ctrldll.cxx svtools/source/control/ctrltool.cxx svtools/source/control/filectrl.cxx svtools/source/control/filectrl.src svtools/source/control/headbar.cxx svtools/source/control/inettbc.cxx svtools/source/control/makefile.mk svtools/source/control/prgsbar.cxx svtools/source/control/roadmap.cxx svtools/source/control/ruler.cxx svtools/source/control/scriptedtext.cxx svtools/source/control/stdmenu.cxx svtools/source/control/tabbar.cxx svtools/source/control/taskbar.cxx svtools/source/control/taskbox.cxx svtools/source/control/taskmisc.cxx svtools/source/control/taskstat.cxx svtools/source/control/valueacc.cxx svtools/source/control/valueset.cxx svtools/source/dialogs/addresstemplate.cxx svtools/source/dialogs/addresstemplate.src svtools/source/dialogs/colrdlg.src svtools/source/dialogs/filedlg2.cxx svtools/source/dialogs/filedlg2.hxx svtools/source/dialogs/makefile.mk svtools/source/dialogs/printdlg.cxx svtools/source/dialogs/printdlg.src svtools/source/dialogs/propctrl.cxx svtools/source/dialogs/propctrl.hxx svtools/source/dialogs/property.cxx svtools/source/edit/makefile.mk svtools/source/edit/sychconv.cxx svtools/source/edit/syntaxhighlight.cxx svtools/source/edit/textdoc.cxx svtools/source/edit/texteng.cxx svtools/source/edit/textundo.cxx svtools/source/edit/textview.cxx svtools/source/filter.vcl/filter/SvFilterOptionsDialog.cxx svtools/source/filter.vcl/filter/dlgejpg.cxx svtools/source/filter.vcl/filter/dlgejpg.hxx svtools/source/filter.vcl/filter/dlgejpg.src svtools/source/filter.vcl/filter/dlgepng.cxx svtools/source/filter.vcl/filter/dlgepng.hxx svtools/source/filter.vcl/filter/dlgepng.src svtools/source/filter.vcl/filter/dlgexpor.cxx svtools/source/filter.vcl/filter/dlgexpor.hxx svtools/source/filter.vcl/filter/dlgexpor.src svtools/source/filter.vcl/filter/filter2.cxx svtools/source/filter.vcl/filter/makefile.mk svtools/source/filter.vcl/filter/sgfbram.cxx svtools/source/filter.vcl/filter/sgvmain.cxx svtools/source/filter.vcl/filter/sgvspln.cxx svtools/source/filter.vcl/filter/strings.src svtools/source/filter.vcl/jpeg/makefile.mk svtools/source/filter.vcl/wmf/emfwr.cxx svtools/source/filter.vcl/wmf/emfwr.hxx svtools/source/filter.vcl/wmf/enhwmf.cxx svtools/source/filter.vcl/wmf/winmtf.hxx svtools/source/filter.vcl/wmf/wmfwr.cxx svtools/source/filter.vcl/wmf/wmfwr.hxx svtools/source/graphic/grfcache.cxx svtools/source/graphic/grfcache.hxx svtools/source/graphic/grfmgr.cxx svtools/source/graphic/makefile.mk svtools/source/inc/accessibletableimp.hxx svtools/source/inc/svimpbox.hxx svtools/source/java/patchjavaerror.src svtools/source/misc/ehdl.cxx svtools/source/misc/errtxt.src svtools/source/misc/helpagentwindow.cxx svtools/source/misc/imagemgr.cxx svtools/source/misc/imagemgr.src svtools/source/misc/imageresourceaccess.cxx svtools/source/misc/imap.cxx svtools/source/misc/langtab.src svtools/source/misc/makefile.mk svtools/source/misc/svtdata.cxx svtools/source/misc/templatefoldercache.cxx svtools/source/misc/transfer2.cxx svtools/source/misc/undo.src svtools/source/plugapp/commtest.cxx svtools/source/plugapp/commtest.src svtools/source/plugapp/makefile.mk svtools/source/plugapp/testtool.src svtools/source/productregistration/productregistration.cxx svtools/source/svhtml/htmlkywd.cxx svtools/source/svhtml/parhtml.cxx svtools/source/svrtf/rtfkey2.cxx svtools/source/svrtf/rtfkeywd.cxx svtools/source/table/defaultinputhandler.cxx svtools/source/table/makefile.mk svtools/source/table/tablecontrol.cxx svtools/source/table/tablecontrol_impl.cxx svtools/source/table/tablecontrol_impl.hxx svtools/source/table/tabledatawindow.cxx svtools/source/table/tablegeometry.cxx svtools/source/table/tablegeometry.hxx svtools/source/toolpanel/makefile.mk svtools/source/toolpanel/toolpaneldrawer.cxx svtools/source/uno/addrtempuno.cxx svtools/source/uno/miscservices.cxx svtools/source/uno/svtxgridcontrol.cxx svtools/source/uno/svtxgridcontrol.hxx svtools/source/uno/toolboxcontroller.cxx svtools/source/uno/treecontrolpeer.cxx svtools/source/uno/unocontroltablemodel.cxx svtools/source/uno/unocontroltablemodel.hxx svtools/source/uno/unoimap.cxx svtools/source/urlobj/inetimg.cxx svtools/util/makefile.mk svtools/workben/browser.cxx svtools/workben/cui/makefile.mk svtools/workben/makefile.mk svtools/workben/stest.cxx svtools/workben/toolpanel/makefile.mk svtools/workben/urange.cxx toolkit/inc/toolkit/awt/vclxdevice.hxx toolkit/inc/toolkit/awt/vclxgraphics.hxx toolkit/inc/toolkit/awt/vclxwindows.hxx toolkit/inc/toolkit/controls/dialogcontrol.hxx toolkit/inc/toolkit/helper/property.hxx toolkit/inc/toolkit/helper/servicenames.hxx toolkit/inc/toolkit/helper/throbberimpl.hxx toolkit/qa/complex/toolkit/accessibility/_XAccessibleComponent.java toolkit/source/awt/asynccallback.cxx toolkit/source/awt/vclxgraphics.cxx toolkit/source/awt/vclxtoolkit.cxx toolkit/source/awt/vclxwindow.cxx toolkit/source/awt/xsimpleanimation.cxx toolkit/source/awt/xthrobber.cxx toolkit/source/controls/dialogcontrol.cxx toolkit/source/controls/grid/defaultgridcolumnmodel.cxx toolkit/source/controls/grid/defaultgriddatamodel.cxx toolkit/source/controls/grid/gridcontrol.cxx toolkit/source/controls/grid/initguard.hxx toolkit/source/controls/unocontrol.cxx toolkit/source/controls/unocontrolcontainer.cxx toolkit/source/controls/unocontrols.cxx toolkit/source/helper/listenermultiplexer.cxx toolkit/source/helper/property.cxx toolkit/source/helper/registerservices.cxx toolkit/source/helper/servicenames.cxx toolkit/source/helper/throbberimpl.cxx toolkit/source/helper/tkresmgr.cxx tools/StaticLibrary_ooopathutils.mk tools/bootstrp/addexes/makefile.mk tools/bootstrp/addexes2/makefile.mk tools/bootstrp/addexes2/mkfilt.cxx tools/bootstrp/command.cxx tools/bootstrp/cppdep.cxx tools/bootstrp/iserver.cxx tools/bootstrp/makefile.mk tools/bootstrp/mkcreate.cxx tools/bootstrp/prj.cxx tools/bootstrp/rscdep.cxx tools/bootstrp/sstring.cxx tools/inc/bootstrp/command.hxx tools/inc/bootstrp/mkcreate.hxx tools/inc/bootstrp/prj.hxx tools/inc/bootstrp/sstring.hxx tools/inc/tools/agapi.hxx tools/inc/tools/agitem.hxx tools/inc/tools/chapi.hxx tools/inc/tools/download.hxx tools/inc/tools/eacopier.hxx tools/inc/tools/fract.hxx tools/inc/tools/fsys.hxx tools/inc/tools/geninfo.hxx tools/inc/tools/globname.hxx tools/inc/tools/inetmime.hxx tools/inc/tools/multisel.hxx tools/inc/tools/poly.hxx tools/inc/tools/postsys.h tools/inc/tools/postwin.h tools/inc/tools/presys.h tools/inc/tools/prewin.h tools/inc/tools/pstm.hxx tools/inc/tools/ref.hxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/inc/tools/table.hxx tools/inc/tools/urlkeys.hxx tools/inc/tools/urlobj.hxx tools/prj/build.lst tools/prj/d.lst tools/qa/makefile.mk tools/source/communi/geninfo.cxx tools/source/debug/debug.cxx tools/source/fsys/dirent.cxx tools/source/fsys/tdir.cxx tools/source/fsys/unx.cxx tools/source/fsys/urlobj.cxx tools/source/generic/color.cxx tools/source/generic/config.cxx tools/source/generic/fract.cxx tools/source/inet/inetmime.cxx tools/source/memtools/multisel.cxx tools/source/memtools/table.cxx tools/source/rc/resmgr.cxx tools/source/ref/globname.cxx tools/source/ref/pstm.cxx tools/source/solar/solar.c tools/source/stream/strmos2.cxx tools/source/stream/strmunx.cxx tools/source/stream/strmwnt.cxx tools/source/string/makefile.mk tools/source/testtoolloader/testtoolloader.cxx tools/test/makefile.mk tools/util/makefile.mk tools/win/inc/dll.hxx tools/win/inc/parser.hxx tools/win/inc/shellex.h tools/win/inc/shutil.h tools/win/inc/toolsdll.hxx tools/win/inc/winshell.hxx tools/workben/makefile.mk ucbhelper/source/client/proxydecider.cxx ucbhelper/workben/ucbexplorer/ucbexplorer.hrc unotools/inc/unotools/unotunnelhelper.hxx unotools/source/config/fltrcfg.cxx unotools/source/config/lingucfg.cxx unotools/source/config/misccfg.cxx unotools/source/config/pathoptions.cxx unotools/source/config/searchopt.cxx unotools/source/i18n/localedatawrapper.cxx unotools/source/ucbhelper/localfilehelper.cxx unotools/source/ucbhelper/ucbhelper.cxx unotools/source/ucbhelper/xtempfile.cxx vcl/aqua/inc/salbmp.h vcl/aqua/inc/salgdi.h vcl/aqua/inc/salinst.h vcl/aqua/source/app/salinst.cxx vcl/aqua/source/gdi/aquaprintaccessoryview.mm vcl/aqua/source/gdi/salgdi.cxx vcl/aqua/source/gdi/salprn.cxx vcl/aqua/source/window/salframeview.mm vcl/aqua/source/window/salobj.cxx vcl/inc/vcl/bitmap.hxx vcl/inc/vcl/brdwin.hxx vcl/inc/vcl/button.hxx vcl/inc/vcl/cmdevt.hxx vcl/inc/vcl/cvtgrf.hxx vcl/inc/vcl/dialog.hxx vcl/inc/vcl/dockwin.hxx vcl/inc/vcl/event.hxx vcl/inc/vcl/fixed.hxx vcl/inc/vcl/fldunit.hxx vcl/inc/vcl/floatwin.hxx vcl/inc/vcl/gdimtf.hxx vcl/inc/vcl/glyphcache.hxx vcl/inc/vcl/graphite_adaptors.hxx vcl/inc/vcl/graphite_features.hxx vcl/inc/vcl/graphite_layout.hxx vcl/inc/vcl/ilstbox.hxx vcl/inc/vcl/image.h vcl/inc/vcl/imgctrl.hxx vcl/inc/vcl/impbmpconv.hxx vcl/inc/vcl/impprn.hxx vcl/inc/vcl/jobset.h vcl/inc/vcl/keycodes.hxx vcl/inc/vcl/lstbox.hxx vcl/inc/vcl/mapunit.hxx vcl/inc/vcl/menu.hxx vcl/inc/vcl/msgbox.hxx vcl/inc/vcl/outdev.hxx vcl/inc/vcl/prndlg.hxx vcl/inc/vcl/salatype.hxx vcl/inc/vcl/salbmp.hxx vcl/inc/vcl/salgdi.hxx vcl/inc/vcl/salinst.hxx vcl/inc/vcl/seleng.hxx vcl/inc/vcl/settings.hxx vcl/inc/vcl/smartid.hxx vcl/inc/vcl/status.hxx vcl/inc/vcl/strhelper.hxx vcl/inc/vcl/svapp.hxx vcl/inc/vcl/svdata.hxx vcl/inc/vcl/syschild.hxx vcl/inc/vcl/sysdata.hxx vcl/inc/vcl/taskpanelist.hxx vcl/inc/vcl/toolbox.hxx vcl/inc/vcl/vclevent.hxx vcl/inc/vcl/windata.hxx vcl/inc/vcl/window.hxx vcl/inc/vcl/wintypes.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/gdi/salgdi.cxx vcl/os2/source/window/salmenu.cxx vcl/os2/source/window/salobj.cxx vcl/prj/build.lst vcl/source/app/dbggui.cxx vcl/source/app/help.cxx vcl/source/app/idlemgr.cxx vcl/source/app/settings.cxx vcl/source/app/svapp.cxx vcl/source/app/svdata.cxx vcl/source/app/svmain.cxx vcl/source/app/svmainhook.cxx vcl/source/app/unohelp.cxx vcl/source/app/vclevent.cxx vcl/source/control/button.cxx vcl/source/control/combobox.cxx vcl/source/control/edit.cxx vcl/source/control/field.cxx vcl/source/control/fixed.cxx vcl/source/control/ilstbox.cxx vcl/source/control/imgctrl.cxx vcl/source/control/makefile.mk vcl/source/control/tabctrl.cxx vcl/source/gdi/bitmap.cxx vcl/source/gdi/bitmap2.cxx vcl/source/gdi/bitmap4.cxx vcl/source/gdi/bmpconv.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/font.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/image.cxx vcl/source/gdi/impimage.cxx vcl/source/gdi/jobset.cxx vcl/source/gdi/makefile.mk vcl/source/gdi/metaact.cxx vcl/source/gdi/outdev.cxx vcl/source/gdi/outdev3.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdevnative.cxx vcl/source/gdi/pdfwriter.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/print3.cxx vcl/source/gdi/salmisc.cxx vcl/source/glyphs/gcach_ftyp.cxx vcl/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_cache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/glyphs/graphite_textsrc.hxx vcl/source/helper/canvasbitmap.cxx vcl/source/helper/smartid.cxx vcl/source/helper/xconnection.cxx vcl/source/src/btntext.src vcl/source/src/images.src vcl/source/src/print.src vcl/source/window/accel.cxx vcl/source/window/accmgr.cxx vcl/source/window/brdwin.cxx vcl/source/window/btndlg.cxx vcl/source/window/dlgctrl.cxx vcl/source/window/javachild.cxx vcl/source/window/menu.cxx vcl/source/window/msgbox.cxx vcl/source/window/printdlg.cxx vcl/source/window/status.cxx vcl/source/window/syschild.cxx vcl/source/window/toolbox.cxx vcl/source/window/toolbox2.cxx vcl/source/window/window.cxx vcl/source/window/window2.cxx vcl/source/window/wrkwin.cxx vcl/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkinst.cxx vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx vcl/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkobject.cxx vcl/unx/headless/svpbmp.hxx vcl/unx/headless/svpgdi.cxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svpinst.cxx vcl/unx/headless/svpinst.hxx vcl/unx/headless/svpprn.cxx vcl/unx/headless/svpprn.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx vcl/unx/headless/svptext.cxx vcl/unx/inc/dtint.hxx vcl/unx/inc/plugins/gtk/gtkdata.hxx vcl/unx/inc/pspgraphics.h vcl/unx/inc/salbmp.h vcl/unx/inc/saldata.hxx vcl/unx/inc/saldisp.hxx vcl/unx/inc/salgdi.h vcl/unx/inc/salinst.h vcl/unx/inc/xfont.hxx vcl/unx/kde/kdedata.cxx vcl/unx/kde4/KDESalGraphics.cxx vcl/unx/source/app/keysymnames.cxx vcl/unx/source/app/saldata.cxx vcl/unx/source/app/saldisp.cxx vcl/unx/source/app/salinst.cxx vcl/unx/source/app/wmadaptor.cxx vcl/unx/source/dtrans/X11_selection.cxx vcl/unx/source/dtrans/X11_service.cxx vcl/unx/source/gdi/makefile.mk vcl/unx/source/gdi/pspgraphics.cxx vcl/unx/source/gdi/salgdi.cxx vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salprnpsp.cxx vcl/unx/source/gdi/xfont.cxx vcl/unx/source/gdi/xlfd_attr.cxx vcl/unx/source/gdi/xlfd_attr.hxx vcl/unx/source/gdi/xlfd_extd.cxx vcl/unx/source/gdi/xlfd_extd.hxx vcl/unx/source/gdi/xlfd_smpl.cxx vcl/unx/source/gdi/xlfd_smpl.hxx vcl/unx/source/printer/ppdparser.cxx vcl/unx/source/printer/printerinfomanager.cxx vcl/unx/source/window/salframe.cxx vcl/unx/source/window/salmenu.cxx vcl/unx/source/window/salobj.cxx vcl/util/makefile2.pmk vcl/win/inc/salbmp.h vcl/win/inc/saldata.hxx vcl/win/inc/salgdi.h vcl/win/inc/salinst.h vcl/win/source/app/saldata.cxx vcl/win/source/app/salinst.cxx vcl/win/source/gdi/salgdi.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/salprn.cxx vcl/win/source/gdi/winlayout.cxx vcl/win/source/window/salframe.cxx vcl/win/source/window/salobj.cxx vcl/workben/outdevgrind.cxx vos/inc/vos/execabl.hxx vos/inc/vos/macros.hxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/refernce.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/stream.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/process.cxx vos/source/signal.cxx vos/source/thread.cxx vos/source/timer.cxx
2011-03-11 14:24:23 +01:00
size_t ValueSet::GetItemPos( sal_uInt16 nItemId ) const
2000-09-18 16:07:07 +00:00
{
for ( size_t i = 0, n = mItemList.size(); i < n; ++i ) {
if ( mItemList[i]->mnId == nItemId ) {
return i;
}
2000-09-18 16:07:07 +00:00
}
return VALUESET_ITEM_NOTFOUND;
}
Merge commit 'ooo/DEV300_m101' into intm101 The following builds for me: basebmp, basegfx, comphelper, dtrans, i18npool, i18nutil, l10ntools, o3tl, psprint_config, regexp, rsc, sax, sot, tools, ucbhelper, unotools, vcl The rest still needs fixing ;-) Conflicts: canvas/prj/build.lst canvas/source/cairo/cairo_textlayout.cxx canvas/source/directx/dx_winstuff.hxx canvas/source/tools/image.cxx canvas/source/vcl/canvashelper.cxx comphelper/inc/comphelper/documentconstants.hxx comphelper/inc/comphelper/optionalvalue.hxx comphelper/inc/comphelper/querydeep.hxx comphelper/prj/build.lst comphelper/qa/complex/makefile.mk comphelper/qa/string/test_string_noadditional.cxx comphelper/source/misc/componentmodule.cxx comphelper/source/misc/mimeconfighelper.cxx comphelper/source/misc/querydeep.cxx comphelper/source/misc/uieventslogger.cxx comphelper/source/property/TypeGeneration.cxx comphelper/test/uno_iterators/uno_iterators.cxx comphelper/util/makefile.mk cppcanvas/source/mtfrenderer/implrenderer.cxx dtrans/prj/build.lst dtrans/source/generic/dtrans.cxx dtrans/source/win32/dtobj/FmtFilter.cxx i18npool/prj/build.lst i18npool/source/localedata/data/localedata_others.map i18npool/source/localedata/data/makefile.mk i18npool/source/localedata/localedata.cxx i18npool/source/localedata/saxparser.cxx i18npool/source/registerservices/registerservices.cxx i18npool/source/search/textsearch.cxx l10ntools/inc/cfgmerge.hxx l10ntools/inc/export.hxx l10ntools/inc/gsicheck.hxx l10ntools/inc/l10ntools/vosapp.hxx l10ntools/inc/tagtest.hxx l10ntools/inc/xmlparse.hxx l10ntools/layout/layoutparse.cxx l10ntools/layout/tralay.cxx l10ntools/source/cfgmerge.cxx l10ntools/source/export.cxx l10ntools/source/export2.cxx l10ntools/source/gsicheck.cxx l10ntools/source/help/HelpLinker.cxx l10ntools/source/lngex.cxx l10ntools/source/lngmerge.cxx l10ntools/source/merge.cxx l10ntools/source/tagtest.cxx l10ntools/source/xmlparse.cxx padmin/source/fontentry.cxx padmin/source/padialog.cxx padmin/source/padialog.src padmin/source/pamain.cxx rsc/inc/rscarray.hxx rsc/inc/rscclass.hxx rsc/inc/rscclobj.hxx rsc/inc/rsccont.hxx rsc/inc/rscdb.hxx rsc/inc/rscdef.hxx rsc/inc/rscmgr.hxx rsc/inc/rscrange.hxx rsc/inc/rsctop.hxx rsc/inc/vclrsc.hxx rsc/source/parser/rscdb.cxx rsc/source/parser/rscicpx.cxx rsc/source/parser/rscinit.cxx rsc/source/prj/start.cxx rsc/source/res/rscarray.cxx rsc/source/res/rscclass.cxx rsc/source/res/rscclobj.cxx rsc/source/res/rsccont.cxx rsc/source/res/rscmgr.cxx rsc/source/res/rscrange.cxx rsc/source/res/rsctop.cxx rsc/source/rsc/rsc.cxx rsc/source/tools/rscdef.cxx rsc/source/tools/rsctools.cxx sax/source/expatwrap/sax_expat.cxx sax/source/fastparser/facreg.cxx sax/source/tools/fastserializer.cxx sot/inc/sot/filelist.hxx sot/inc/sot/object.hxx sot/source/base/factory.cxx sot/source/base/filelist.cxx sot/source/sdstor/stg.cxx sot/source/sdstor/stgcache.cxx sot/source/sdstor/stgole.cxx sot/source/sdstor/stgstrms.cxx sot/source/sdstor/storage.cxx sot/source/sdstor/ucbstorage.cxx svl/inc/svl/cenumitm.hxx svl/inc/svl/cintitem.hxx svl/inc/svl/cntwall.hxx svl/inc/svl/ctypeitm.hxx svl/inc/svl/custritm.hxx svl/inc/svl/dateitem.hxx svl/inc/svl/filerec.hxx svl/inc/svl/globalnameitem.hxx svl/inc/svl/ilstitem.hxx svl/inc/svl/imageitm.hxx svl/inc/svl/intitem.hxx svl/inc/svl/itempool.hxx svl/inc/svl/itemset.hxx svl/inc/svl/lckbitem.hxx svl/inc/svl/poolitem.hxx svl/inc/svl/ptitem.hxx svl/inc/svl/rectitem.hxx svl/inc/svl/sfontitm.hxx svl/inc/svl/slstitm.hxx svl/inc/svl/srchitem.hxx svl/inc/svl/svarray.hxx svl/inc/svl/svdde.hxx svl/inc/svl/svstdarr.hxx svl/inc/svl/szitem.hxx svl/inc/svl/visitem.hxx svl/inc/svl/zforlist.hxx svl/inc/svl/zformat.hxx svl/prj/build.lst svl/qa/complex/ConfigItems/helper/ConfigItemTest.cxx svl/qa/complex/ConfigItems/helper/makefile.mk svl/qa/makefile.mk svl/source/filepicker/pickerhelper.cxx svl/source/filerec/filerec.cxx svl/source/items/cenumitm.cxx svl/source/items/cintitem.cxx svl/source/items/cntwall.cxx svl/source/items/ctypeitm.cxx svl/source/items/custritm.cxx svl/source/items/dateitem.cxx svl/source/items/globalnameitem.cxx svl/source/items/ilstitem.cxx svl/source/items/imageitm.cxx svl/source/items/intitem.cxx svl/source/items/itempool.cxx svl/source/items/itemprop.cxx svl/source/items/itemset.cxx svl/source/items/lckbitem.cxx svl/source/items/poolio.cxx svl/source/items/poolitem.cxx svl/source/items/ptitem.cxx svl/source/items/rectitem.cxx svl/source/items/slstitm.cxx svl/source/items/srchitem.cxx svl/source/items/style.cxx svl/source/items/szitem.cxx svl/source/items/visitem.cxx svl/source/items/whiter.cxx svl/source/memtools/svarray.cxx svl/source/misc/PasswordHelper.cxx svl/source/misc/adrparse.cxx svl/source/misc/lngmisc.cxx svl/source/notify/brdcst.cxx svl/source/notify/listener.cxx svl/source/notify/listenerbase.cxx svl/source/numbers/makefile.mk svl/source/numbers/nbdll.cxx svl/source/numbers/zforfind.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svl/source/passwordcontainer/passwordcontainer.cxx svl/source/svdde/ddecli.cxx svl/source/svdde/ddeimp.hxx svl/source/svdde/ddemlos2.h svl/source/svdde/ddesvr.cxx svl/source/undo/undo.cxx svl/source/uno/registerservices.cxx svl/util/makefile.mk svtools/bmpmaker/bmpsum.cxx svtools/bmpmaker/g2g.cxx svtools/bmpmaker/makefile.mk svtools/inc/borderhelper.hxx svtools/inc/svtools/accessiblefactory.hxx svtools/inc/svtools/apearcfg.hxx svtools/inc/svtools/brwbox.hxx svtools/inc/svtools/ctrlbox.hxx svtools/inc/svtools/ctrltool.hxx svtools/inc/svtools/editbrowsebox.hxx svtools/inc/svtools/ehdl.hxx svtools/inc/svtools/embedhlp.hxx svtools/inc/svtools/filter.hxx svtools/inc/svtools/ivctrl.hxx svtools/inc/svtools/parhtml.hxx svtools/inc/svtools/printdlg.hxx svtools/inc/svtools/rtftoken.h svtools/inc/svtools/ruler.hxx svtools/inc/svtools/svicnvw.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svlbox.hxx svtools/inc/svtools/svtreebx.hxx svtools/inc/svtools/tabbar.hxx svtools/inc/svtools/table/abstracttablecontrol.hxx svtools/inc/svtools/taskbar.hxx svtools/inc/svtools/textview.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/brwbox1.cxx svtools/source/brwbox/brwbox2.cxx svtools/source/brwbox/datwin.cxx svtools/source/brwbox/datwin.hxx svtools/source/brwbox/makefile.mk svtools/source/config/apearcfg.cxx svtools/source/config/htmlcfg.cxx svtools/source/config/menuoptions.cxx svtools/source/config/miscopt.cxx svtools/source/contnr/cont_pch.cxx svtools/source/contnr/ctrdll.cxx svtools/source/contnr/fileview.cxx svtools/source/contnr/imivctl1.cxx svtools/source/contnr/ivctrl.cxx svtools/source/contnr/makefile.mk svtools/source/contnr/svcontnr.src svtools/source/contnr/svicnvw.cxx svtools/source/contnr/svimpbox.cxx svtools/source/contnr/svimpicn.cxx svtools/source/contnr/svlbitm.cxx svtools/source/contnr/svtreebx.cxx svtools/source/contnr/templwin.cxx svtools/source/contnr/templwin.hxx svtools/source/control/asynclink.cxx svtools/source/control/ctrlbox.cxx svtools/source/control/ctrldll.cxx svtools/source/control/ctrltool.cxx svtools/source/control/filectrl.cxx svtools/source/control/filectrl.src svtools/source/control/headbar.cxx svtools/source/control/inettbc.cxx svtools/source/control/makefile.mk svtools/source/control/prgsbar.cxx svtools/source/control/roadmap.cxx svtools/source/control/ruler.cxx svtools/source/control/scriptedtext.cxx svtools/source/control/stdmenu.cxx svtools/source/control/tabbar.cxx svtools/source/control/taskbar.cxx svtools/source/control/taskbox.cxx svtools/source/control/taskmisc.cxx svtools/source/control/taskstat.cxx svtools/source/control/valueacc.cxx svtools/source/control/valueset.cxx svtools/source/dialogs/addresstemplate.cxx svtools/source/dialogs/addresstemplate.src svtools/source/dialogs/colrdlg.src svtools/source/dialogs/filedlg2.cxx svtools/source/dialogs/filedlg2.hxx svtools/source/dialogs/makefile.mk svtools/source/dialogs/printdlg.cxx svtools/source/dialogs/printdlg.src svtools/source/dialogs/propctrl.cxx svtools/source/dialogs/propctrl.hxx svtools/source/dialogs/property.cxx svtools/source/edit/makefile.mk svtools/source/edit/sychconv.cxx svtools/source/edit/syntaxhighlight.cxx svtools/source/edit/textdoc.cxx svtools/source/edit/texteng.cxx svtools/source/edit/textundo.cxx svtools/source/edit/textview.cxx svtools/source/filter.vcl/filter/SvFilterOptionsDialog.cxx svtools/source/filter.vcl/filter/dlgejpg.cxx svtools/source/filter.vcl/filter/dlgejpg.hxx svtools/source/filter.vcl/filter/dlgejpg.src svtools/source/filter.vcl/filter/dlgepng.cxx svtools/source/filter.vcl/filter/dlgepng.hxx svtools/source/filter.vcl/filter/dlgepng.src svtools/source/filter.vcl/filter/dlgexpor.cxx svtools/source/filter.vcl/filter/dlgexpor.hxx svtools/source/filter.vcl/filter/dlgexpor.src svtools/source/filter.vcl/filter/filter2.cxx svtools/source/filter.vcl/filter/makefile.mk svtools/source/filter.vcl/filter/sgfbram.cxx svtools/source/filter.vcl/filter/sgvmain.cxx svtools/source/filter.vcl/filter/sgvspln.cxx svtools/source/filter.vcl/filter/strings.src svtools/source/filter.vcl/jpeg/makefile.mk svtools/source/filter.vcl/wmf/emfwr.cxx svtools/source/filter.vcl/wmf/emfwr.hxx svtools/source/filter.vcl/wmf/enhwmf.cxx svtools/source/filter.vcl/wmf/winmtf.hxx svtools/source/filter.vcl/wmf/wmfwr.cxx svtools/source/filter.vcl/wmf/wmfwr.hxx svtools/source/graphic/grfcache.cxx svtools/source/graphic/grfcache.hxx svtools/source/graphic/grfmgr.cxx svtools/source/graphic/makefile.mk svtools/source/inc/accessibletableimp.hxx svtools/source/inc/svimpbox.hxx svtools/source/java/patchjavaerror.src svtools/source/misc/ehdl.cxx svtools/source/misc/errtxt.src svtools/source/misc/helpagentwindow.cxx svtools/source/misc/imagemgr.cxx svtools/source/misc/imagemgr.src svtools/source/misc/imageresourceaccess.cxx svtools/source/misc/imap.cxx svtools/source/misc/langtab.src svtools/source/misc/makefile.mk svtools/source/misc/svtdata.cxx svtools/source/misc/templatefoldercache.cxx svtools/source/misc/transfer2.cxx svtools/source/misc/undo.src svtools/source/plugapp/commtest.cxx svtools/source/plugapp/commtest.src svtools/source/plugapp/makefile.mk svtools/source/plugapp/testtool.src svtools/source/productregistration/productregistration.cxx svtools/source/svhtml/htmlkywd.cxx svtools/source/svhtml/parhtml.cxx svtools/source/svrtf/rtfkey2.cxx svtools/source/svrtf/rtfkeywd.cxx svtools/source/table/defaultinputhandler.cxx svtools/source/table/makefile.mk svtools/source/table/tablecontrol.cxx svtools/source/table/tablecontrol_impl.cxx svtools/source/table/tablecontrol_impl.hxx svtools/source/table/tabledatawindow.cxx svtools/source/table/tablegeometry.cxx svtools/source/table/tablegeometry.hxx svtools/source/toolpanel/makefile.mk svtools/source/toolpanel/toolpaneldrawer.cxx svtools/source/uno/addrtempuno.cxx svtools/source/uno/miscservices.cxx svtools/source/uno/svtxgridcontrol.cxx svtools/source/uno/svtxgridcontrol.hxx svtools/source/uno/toolboxcontroller.cxx svtools/source/uno/treecontrolpeer.cxx svtools/source/uno/unocontroltablemodel.cxx svtools/source/uno/unocontroltablemodel.hxx svtools/source/uno/unoimap.cxx svtools/source/urlobj/inetimg.cxx svtools/util/makefile.mk svtools/workben/browser.cxx svtools/workben/cui/makefile.mk svtools/workben/makefile.mk svtools/workben/stest.cxx svtools/workben/toolpanel/makefile.mk svtools/workben/urange.cxx toolkit/inc/toolkit/awt/vclxdevice.hxx toolkit/inc/toolkit/awt/vclxgraphics.hxx toolkit/inc/toolkit/awt/vclxwindows.hxx toolkit/inc/toolkit/controls/dialogcontrol.hxx toolkit/inc/toolkit/helper/property.hxx toolkit/inc/toolkit/helper/servicenames.hxx toolkit/inc/toolkit/helper/throbberimpl.hxx toolkit/qa/complex/toolkit/accessibility/_XAccessibleComponent.java toolkit/source/awt/asynccallback.cxx toolkit/source/awt/vclxgraphics.cxx toolkit/source/awt/vclxtoolkit.cxx toolkit/source/awt/vclxwindow.cxx toolkit/source/awt/xsimpleanimation.cxx toolkit/source/awt/xthrobber.cxx toolkit/source/controls/dialogcontrol.cxx toolkit/source/controls/grid/defaultgridcolumnmodel.cxx toolkit/source/controls/grid/defaultgriddatamodel.cxx toolkit/source/controls/grid/gridcontrol.cxx toolkit/source/controls/grid/initguard.hxx toolkit/source/controls/unocontrol.cxx toolkit/source/controls/unocontrolcontainer.cxx toolkit/source/controls/unocontrols.cxx toolkit/source/helper/listenermultiplexer.cxx toolkit/source/helper/property.cxx toolkit/source/helper/registerservices.cxx toolkit/source/helper/servicenames.cxx toolkit/source/helper/throbberimpl.cxx toolkit/source/helper/tkresmgr.cxx tools/StaticLibrary_ooopathutils.mk tools/bootstrp/addexes/makefile.mk tools/bootstrp/addexes2/makefile.mk tools/bootstrp/addexes2/mkfilt.cxx tools/bootstrp/command.cxx tools/bootstrp/cppdep.cxx tools/bootstrp/iserver.cxx tools/bootstrp/makefile.mk tools/bootstrp/mkcreate.cxx tools/bootstrp/prj.cxx tools/bootstrp/rscdep.cxx tools/bootstrp/sstring.cxx tools/inc/bootstrp/command.hxx tools/inc/bootstrp/mkcreate.hxx tools/inc/bootstrp/prj.hxx tools/inc/bootstrp/sstring.hxx tools/inc/tools/agapi.hxx tools/inc/tools/agitem.hxx tools/inc/tools/chapi.hxx tools/inc/tools/download.hxx tools/inc/tools/eacopier.hxx tools/inc/tools/fract.hxx tools/inc/tools/fsys.hxx tools/inc/tools/geninfo.hxx tools/inc/tools/globname.hxx tools/inc/tools/inetmime.hxx tools/inc/tools/multisel.hxx tools/inc/tools/poly.hxx tools/inc/tools/postsys.h tools/inc/tools/postwin.h tools/inc/tools/presys.h tools/inc/tools/prewin.h tools/inc/tools/pstm.hxx tools/inc/tools/ref.hxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/inc/tools/table.hxx tools/inc/tools/urlkeys.hxx tools/inc/tools/urlobj.hxx tools/prj/build.lst tools/prj/d.lst tools/qa/makefile.mk tools/source/communi/geninfo.cxx tools/source/debug/debug.cxx tools/source/fsys/dirent.cxx tools/source/fsys/tdir.cxx tools/source/fsys/unx.cxx tools/source/fsys/urlobj.cxx tools/source/generic/color.cxx tools/source/generic/config.cxx tools/source/generic/fract.cxx tools/source/inet/inetmime.cxx tools/source/memtools/multisel.cxx tools/source/memtools/table.cxx tools/source/rc/resmgr.cxx tools/source/ref/globname.cxx tools/source/ref/pstm.cxx tools/source/solar/solar.c tools/source/stream/strmos2.cxx tools/source/stream/strmunx.cxx tools/source/stream/strmwnt.cxx tools/source/string/makefile.mk tools/source/testtoolloader/testtoolloader.cxx tools/test/makefile.mk tools/util/makefile.mk tools/win/inc/dll.hxx tools/win/inc/parser.hxx tools/win/inc/shellex.h tools/win/inc/shutil.h tools/win/inc/toolsdll.hxx tools/win/inc/winshell.hxx tools/workben/makefile.mk ucbhelper/source/client/proxydecider.cxx ucbhelper/workben/ucbexplorer/ucbexplorer.hrc unotools/inc/unotools/unotunnelhelper.hxx unotools/source/config/fltrcfg.cxx unotools/source/config/lingucfg.cxx unotools/source/config/misccfg.cxx unotools/source/config/pathoptions.cxx unotools/source/config/searchopt.cxx unotools/source/i18n/localedatawrapper.cxx unotools/source/ucbhelper/localfilehelper.cxx unotools/source/ucbhelper/ucbhelper.cxx unotools/source/ucbhelper/xtempfile.cxx vcl/aqua/inc/salbmp.h vcl/aqua/inc/salgdi.h vcl/aqua/inc/salinst.h vcl/aqua/source/app/salinst.cxx vcl/aqua/source/gdi/aquaprintaccessoryview.mm vcl/aqua/source/gdi/salgdi.cxx vcl/aqua/source/gdi/salprn.cxx vcl/aqua/source/window/salframeview.mm vcl/aqua/source/window/salobj.cxx vcl/inc/vcl/bitmap.hxx vcl/inc/vcl/brdwin.hxx vcl/inc/vcl/button.hxx vcl/inc/vcl/cmdevt.hxx vcl/inc/vcl/cvtgrf.hxx vcl/inc/vcl/dialog.hxx vcl/inc/vcl/dockwin.hxx vcl/inc/vcl/event.hxx vcl/inc/vcl/fixed.hxx vcl/inc/vcl/fldunit.hxx vcl/inc/vcl/floatwin.hxx vcl/inc/vcl/gdimtf.hxx vcl/inc/vcl/glyphcache.hxx vcl/inc/vcl/graphite_adaptors.hxx vcl/inc/vcl/graphite_features.hxx vcl/inc/vcl/graphite_layout.hxx vcl/inc/vcl/ilstbox.hxx vcl/inc/vcl/image.h vcl/inc/vcl/imgctrl.hxx vcl/inc/vcl/impbmpconv.hxx vcl/inc/vcl/impprn.hxx vcl/inc/vcl/jobset.h vcl/inc/vcl/keycodes.hxx vcl/inc/vcl/lstbox.hxx vcl/inc/vcl/mapunit.hxx vcl/inc/vcl/menu.hxx vcl/inc/vcl/msgbox.hxx vcl/inc/vcl/outdev.hxx vcl/inc/vcl/prndlg.hxx vcl/inc/vcl/salatype.hxx vcl/inc/vcl/salbmp.hxx vcl/inc/vcl/salgdi.hxx vcl/inc/vcl/salinst.hxx vcl/inc/vcl/seleng.hxx vcl/inc/vcl/settings.hxx vcl/inc/vcl/smartid.hxx vcl/inc/vcl/status.hxx vcl/inc/vcl/strhelper.hxx vcl/inc/vcl/svapp.hxx vcl/inc/vcl/svdata.hxx vcl/inc/vcl/syschild.hxx vcl/inc/vcl/sysdata.hxx vcl/inc/vcl/taskpanelist.hxx vcl/inc/vcl/toolbox.hxx vcl/inc/vcl/vclevent.hxx vcl/inc/vcl/windata.hxx vcl/inc/vcl/window.hxx vcl/inc/vcl/wintypes.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/gdi/salgdi.cxx vcl/os2/source/window/salmenu.cxx vcl/os2/source/window/salobj.cxx vcl/prj/build.lst vcl/source/app/dbggui.cxx vcl/source/app/help.cxx vcl/source/app/idlemgr.cxx vcl/source/app/settings.cxx vcl/source/app/svapp.cxx vcl/source/app/svdata.cxx vcl/source/app/svmain.cxx vcl/source/app/svmainhook.cxx vcl/source/app/unohelp.cxx vcl/source/app/vclevent.cxx vcl/source/control/button.cxx vcl/source/control/combobox.cxx vcl/source/control/edit.cxx vcl/source/control/field.cxx vcl/source/control/fixed.cxx vcl/source/control/ilstbox.cxx vcl/source/control/imgctrl.cxx vcl/source/control/makefile.mk vcl/source/control/tabctrl.cxx vcl/source/gdi/bitmap.cxx vcl/source/gdi/bitmap2.cxx vcl/source/gdi/bitmap4.cxx vcl/source/gdi/bmpconv.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/font.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/image.cxx vcl/source/gdi/impimage.cxx vcl/source/gdi/jobset.cxx vcl/source/gdi/makefile.mk vcl/source/gdi/metaact.cxx vcl/source/gdi/outdev.cxx vcl/source/gdi/outdev3.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdevnative.cxx vcl/source/gdi/pdfwriter.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/print3.cxx vcl/source/gdi/salmisc.cxx vcl/source/glyphs/gcach_ftyp.cxx vcl/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_cache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/glyphs/graphite_textsrc.hxx vcl/source/helper/canvasbitmap.cxx vcl/source/helper/smartid.cxx vcl/source/helper/xconnection.cxx vcl/source/src/btntext.src vcl/source/src/images.src vcl/source/src/print.src vcl/source/window/accel.cxx vcl/source/window/accmgr.cxx vcl/source/window/brdwin.cxx vcl/source/window/btndlg.cxx vcl/source/window/dlgctrl.cxx vcl/source/window/javachild.cxx vcl/source/window/menu.cxx vcl/source/window/msgbox.cxx vcl/source/window/printdlg.cxx vcl/source/window/status.cxx vcl/source/window/syschild.cxx vcl/source/window/toolbox.cxx vcl/source/window/toolbox2.cxx vcl/source/window/window.cxx vcl/source/window/window2.cxx vcl/source/window/wrkwin.cxx vcl/unx/gtk/app/gtkdata.cxx vcl/unx/gtk/app/gtkinst.cxx vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx vcl/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkobject.cxx vcl/unx/headless/svpbmp.hxx vcl/unx/headless/svpgdi.cxx vcl/unx/headless/svpgdi.hxx vcl/unx/headless/svpinst.cxx vcl/unx/headless/svpinst.hxx vcl/unx/headless/svpprn.cxx vcl/unx/headless/svpprn.hxx vcl/unx/headless/svppspgraphics.cxx vcl/unx/headless/svppspgraphics.hxx vcl/unx/headless/svptext.cxx vcl/unx/inc/dtint.hxx vcl/unx/inc/plugins/gtk/gtkdata.hxx vcl/unx/inc/pspgraphics.h vcl/unx/inc/salbmp.h vcl/unx/inc/saldata.hxx vcl/unx/inc/saldisp.hxx vcl/unx/inc/salgdi.h vcl/unx/inc/salinst.h vcl/unx/inc/xfont.hxx vcl/unx/kde/kdedata.cxx vcl/unx/kde4/KDESalGraphics.cxx vcl/unx/source/app/keysymnames.cxx vcl/unx/source/app/saldata.cxx vcl/unx/source/app/saldisp.cxx vcl/unx/source/app/salinst.cxx vcl/unx/source/app/wmadaptor.cxx vcl/unx/source/dtrans/X11_selection.cxx vcl/unx/source/dtrans/X11_service.cxx vcl/unx/source/gdi/makefile.mk vcl/unx/source/gdi/pspgraphics.cxx vcl/unx/source/gdi/salgdi.cxx vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salprnpsp.cxx vcl/unx/source/gdi/xfont.cxx vcl/unx/source/gdi/xlfd_attr.cxx vcl/unx/source/gdi/xlfd_attr.hxx vcl/unx/source/gdi/xlfd_extd.cxx vcl/unx/source/gdi/xlfd_extd.hxx vcl/unx/source/gdi/xlfd_smpl.cxx vcl/unx/source/gdi/xlfd_smpl.hxx vcl/unx/source/printer/ppdparser.cxx vcl/unx/source/printer/printerinfomanager.cxx vcl/unx/source/window/salframe.cxx vcl/unx/source/window/salmenu.cxx vcl/unx/source/window/salobj.cxx vcl/util/makefile2.pmk vcl/win/inc/salbmp.h vcl/win/inc/saldata.hxx vcl/win/inc/salgdi.h vcl/win/inc/salinst.h vcl/win/source/app/saldata.cxx vcl/win/source/app/salinst.cxx vcl/win/source/gdi/salgdi.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/salprn.cxx vcl/win/source/gdi/winlayout.cxx vcl/win/source/window/salframe.cxx vcl/win/source/window/salobj.cxx vcl/workben/outdevgrind.cxx vos/inc/vos/execabl.hxx vos/inc/vos/macros.hxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/refernce.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/stream.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/process.cxx vos/source/signal.cxx vos/source/thread.cxx vos/source/timer.cxx
2011-03-11 14:24:23 +01:00
sal_uInt16 ValueSet::GetItemId( size_t nPos ) const
2000-09-18 16:07:07 +00:00
{
return ( nPos < mItemList.size() ) ? mItemList[nPos]->mnId : 0 ;
2000-09-18 16:07:07 +00:00
}
sal_uInt16 ValueSet::GetItemId( const Point& rPos ) const
2000-09-18 16:07:07 +00:00
{
size_t nItemPos = ImplGetItem( rPos );
2000-11-16 18:18:50 +00:00
if ( nItemPos != VALUESET_ITEM_NOTFOUND )
return GetItemId( nItemPos );
2000-09-18 16:07:07 +00:00
return 0;
}
Rectangle ValueSet::GetItemRect( sal_uInt16 nItemId ) const
2000-09-18 16:07:07 +00:00
{
const size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos!=VALUESET_ITEM_NOTFOUND && mItemList[nPos]->mbVisible )
return ImplGetItemRect( nPos );
return Rectangle();
2000-09-18 16:07:07 +00:00
}
2012-02-11 18:17:26 +01:00
void ValueSet::EnableFullItemMode( bool bFullMode )
{
mbFullMode = bFullMode;
}
void ValueSet::SetColCount( sal_uInt16 nNewCols )
2000-09-18 16:07:07 +00:00
{
if ( mnUserCols != nNewCols )
{
mnUserCols = nNewCols;
2012-02-11 18:17:26 +01:00
mbFormat = true;
queue_resize();
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
}
void ValueSet::SetLineCount( sal_uInt16 nNewLines )
2000-09-18 16:07:07 +00:00
{
if ( mnUserVisLines != nNewLines )
{
mnUserVisLines = nNewLines;
2012-02-11 18:17:26 +01:00
mbFormat = true;
queue_resize();
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
}
void ValueSet::SetItemWidth( long nNewItemWidth )
{
if ( mnUserItemWidth != nNewItemWidth )
{
mnUserItemWidth = nNewItemWidth;
2012-02-11 18:17:26 +01:00
mbFormat = true;
queue_resize();
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
}
//method to set accessible when the style is user draw.
void ValueSet::InsertItem( sal_uInt16 nItemId, const OUString& rText, size_t nPos )
{
DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
"ValueSet::InsertItem(): ItemId already exists" );
ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_USERDRAW;
pItem->maText = rText;
ImplInsertItem( pItem, nPos );
}
2000-09-18 16:07:07 +00:00
void ValueSet::SetItemHeight( long nNewItemHeight )
{
if ( mnUserItemHeight != nNewItemHeight )
{
mnUserItemHeight = nNewItemHeight;
2012-02-11 18:17:26 +01:00
mbFormat = true;
queue_resize();
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
}
void ValueSet::SelectItem( sal_uInt16 nItemId )
2000-09-18 16:07:07 +00:00
{
size_t nItemPos = 0;
2000-09-18 16:07:07 +00:00
if ( nItemId )
{
nItemPos = GetItemPos( nItemId );
if ( nItemPos == VALUESET_ITEM_NOTFOUND )
2000-09-18 16:07:07 +00:00
return;
}
if ( (mnSelItemId != nItemId) || mbNoSelection )
{
sal_uInt16 nOldItem = mnSelItemId ? mnSelItemId : 1;
2000-09-18 16:07:07 +00:00
mnSelItemId = nItemId;
2012-02-11 18:17:26 +01:00
mbNoSelection = false;
2000-09-18 16:07:07 +00:00
2012-02-11 18:17:26 +01:00
bool bNewOut = !mbFormat && IsReallyVisible() && IsUpdateMode();
bool bNewLine = false;
2000-09-18 16:07:07 +00:00
// if necessary scroll to the visible area
if (mbScroll && nItemId && mnCols)
2000-09-18 16:07:07 +00:00
{
sal_uInt16 nNewLine = (sal_uInt16)(nItemPos / mnCols);
2000-09-18 16:07:07 +00:00
if ( nNewLine < mnFirstLine )
{
mnFirstLine = nNewLine;
2012-02-11 18:17:26 +01:00
bNewLine = true;
2000-09-18 16:07:07 +00:00
}
else if ( nNewLine > (sal_uInt16)(mnFirstLine+mnVisLines-1) )
2000-09-18 16:07:07 +00:00
{
mnFirstLine = (sal_uInt16)(nNewLine-mnVisLines+1);
2012-02-11 18:17:26 +01:00
bNewLine = true;
2000-09-18 16:07:07 +00:00
}
}
if ( bNewOut )
{
if ( bNewLine )
{
// redraw everything if the visible area has changed
2012-02-11 18:17:26 +01:00
mbFormat = true;
Invalidate();
2000-09-18 16:07:07 +00:00
}
else
{
// remove old selection and draw the new one
2000-09-18 16:07:07 +00:00
ImplHideSelect( nOldItem );
Invalidate();
2000-09-18 16:07:07 +00:00
}
}
2002-02-25 09:52:14 +00:00
if( ImplHasAccessibleListeners() )
{
// focus event (deselect)
if( nOldItem )
{
const size_t nPos = GetItemPos( nItemId );
if( nPos != VALUESET_ITEM_NOTFOUND )
{
ValueItemAcc* pItemAcc = ValueItemAcc::getImplementation(
mItemList[nPos]->GetAccessible( mbIsTransientChildrenDisabled ) );
if( pItemAcc )
{
Any aOldAny;
Any aNewAny;
if( !mbIsTransientChildrenDisabled )
{
aOldAny <<= Reference<XInterface>(static_cast<cppu::OWeakObject*>(pItemAcc));
ImplFireAccessibleEvent(AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, aOldAny, aNewAny );
}
else
{
aOldAny <<= AccessibleStateType::FOCUSED;
pItemAcc->FireAccessibleEvent(AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny);
}
}
}
}
// focus event (select)
const size_t nPos = GetItemPos( mnSelItemId );
ValueSetItem* pItem;
if( nPos != VALUESET_ITEM_NOTFOUND )
pItem = mItemList[nPos];
else
pItem = mpNoneItem.get();
ValueItemAcc* pItemAcc = NULL;
if (pItem != NULL)
pItemAcc = ValueItemAcc::getImplementation( pItem->GetAccessible( mbIsTransientChildrenDisabled ) );
if( pItemAcc )
{
Any aOldAny;
Any aNewAny;
if( !mbIsTransientChildrenDisabled )
{
aNewAny <<= Reference<XInterface>(static_cast<cppu::OWeakObject*>(pItemAcc));
ImplFireAccessibleEvent(AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, aOldAny, aNewAny);
}
else
{
aNewAny <<= AccessibleStateType::FOCUSED;
pItemAcc->FireAccessibleEvent(AccessibleEventId::STATE_CHANGED, aOldAny, aNewAny);
}
}
// selection event
Any aOldAny;
Any aNewAny;
ImplFireAccessibleEvent(AccessibleEventId::SELECTION_CHANGED, aOldAny, aNewAny);
2002-02-25 09:52:14 +00:00
}
maHighlightHdl.Call(this);
2000-09-18 16:07:07 +00:00
}
}
void ValueSet::SetNoSelection()
{
2012-02-11 18:17:26 +01:00
mbNoSelection = true;
mbHighlight = false;
mbSelection = false;
2000-09-18 16:07:07 +00:00
if (IsReallyVisible() && IsUpdateMode())
Invalidate();
2000-09-18 16:07:07 +00:00
}
void ValueSet::SetItemImage( sal_uInt16 nItemId, const Image& rImage )
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos == VALUESET_ITEM_NOTFOUND )
return;
ValueSetItem* pItem = mItemList[nPos];
2000-09-18 16:07:07 +00:00
pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage;
if ( !mbFormat && IsReallyVisible() && IsUpdateMode() )
{
const Rectangle aRect = ImplGetItemRect(nPos);
Invalidate(aRect);
2000-09-18 16:07:07 +00:00
}
else
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
}
Image ValueSet::GetItemImage( sal_uInt16 nItemId ) const
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos != VALUESET_ITEM_NOTFOUND )
return mItemList[nPos]->maImage;
2000-09-18 16:07:07 +00:00
else
return Image();
}
void ValueSet::SetItemColor( sal_uInt16 nItemId, const Color& rColor )
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos == VALUESET_ITEM_NOTFOUND )
return;
ValueSetItem* pItem = mItemList[nPos];
2000-09-18 16:07:07 +00:00
pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor;
if ( !mbFormat && IsReallyVisible() && IsUpdateMode() )
{
const Rectangle aRect = ImplGetItemRect(nPos);
Invalidate( aRect );
2000-09-18 16:07:07 +00:00
}
else
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
}
Color ValueSet::GetItemColor( sal_uInt16 nItemId ) const
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos != VALUESET_ITEM_NOTFOUND )
return mItemList[nPos]->maColor;
2000-09-18 16:07:07 +00:00
else
return Color();
}
void ValueSet::SetItemData( sal_uInt16 nItemId, void* pData )
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos == VALUESET_ITEM_NOTFOUND )
return;
ValueSetItem* pItem = mItemList[nPos];
2000-09-18 16:07:07 +00:00
pItem->mpData = pData;
if ( pItem->meType == VALUESETITEM_USERDRAW )
{
if ( !mbFormat && IsReallyVisible() && IsUpdateMode() )
{
const Rectangle aRect = ImplGetItemRect(nPos);
Invalidate(aRect);
2000-09-18 16:07:07 +00:00
}
else
2012-02-11 18:17:26 +01:00
mbFormat = true;
2000-09-18 16:07:07 +00:00
}
}
void* ValueSet::GetItemData( sal_uInt16 nItemId ) const
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos != VALUESET_ITEM_NOTFOUND )
return mItemList[nPos]->mpData;
2000-09-18 16:07:07 +00:00
else
return NULL;
}
void ValueSet::SetItemText(sal_uInt16 nItemId, const OUString& rText)
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos == VALUESET_ITEM_NOTFOUND )
return;
ValueSetItem* pItem = mItemList[nPos];
// Remember old and new name for accessibility event.
Any aOldName;
Any aNewName;
OUString sString (pItem->maText);
aOldName <<= sString;
sString = rText;
aNewName <<= sString;
2000-09-18 16:07:07 +00:00
pItem->maText = rText;
if (!mbFormat && IsReallyVisible() && IsUpdateMode())
2000-09-18 16:07:07 +00:00
{
sal_uInt16 nTempId = mnSelItemId;
2000-09-18 16:07:07 +00:00
if (mbHighlight)
2000-09-18 16:07:07 +00:00
nTempId = mnHighItemId;
if (nTempId == nItemId)
Invalidate();
2000-09-18 16:07:07 +00:00
}
if (ImplHasAccessibleListeners())
{
Reference<XAccessible> xAccessible(pItem->GetAccessible( mbIsTransientChildrenDisabled));
ValueItemAcc* pValueItemAcc = static_cast<ValueItemAcc*>(xAccessible.get());
pValueItemAcc->FireAccessibleEvent(AccessibleEventId::NAME_CHANGED, aOldName, aNewName);
}
2000-09-18 16:07:07 +00:00
}
OUString ValueSet::GetItemText( sal_uInt16 nItemId ) const
2000-09-18 16:07:07 +00:00
{
size_t nPos = GetItemPos( nItemId );
2000-09-18 16:07:07 +00:00
if ( nPos != VALUESET_ITEM_NOTFOUND )
return mItemList[nPos]->maText;
return OUString();
2000-09-18 16:07:07 +00:00
}
void ValueSet::SetColor( const Color& rColor )
{
maColor = rColor;
mbFormat = true;
if (IsReallyVisible() && IsUpdateMode())
Invalidate();
2000-09-18 16:07:07 +00:00
}
void ValueSet::SetExtraSpacing( sal_uInt16 nNewSpacing )
2000-09-18 16:07:07 +00:00
{
if ( GetStyle() & WB_ITEMBORDER )
{
mnSpacing = nNewSpacing;
2012-02-11 18:17:26 +01:00
mbFormat = true;
queue_resize();
2000-09-18 16:07:07 +00:00
if ( IsReallyVisible() && IsUpdateMode() )
Invalidate();
}
}
void ValueSet::StartSelection()
{
mbHighlight = true;
mbSelection = true;
mnHighItemId = mnSelItemId;
2000-09-18 16:07:07 +00:00
}
void ValueSet::EndSelection()
{
if ( mbHighlight )
{
if ( IsTracking() )
EndTracking( TrackingEventFlags::Cancel );
2000-09-18 16:07:07 +00:00
ImplHighlightItem( mnSelItemId );
2012-02-11 18:17:26 +01:00
mbHighlight = false;
2000-09-18 16:07:07 +00:00
}
2012-02-11 18:17:26 +01:00
mbSelection = false;
2000-09-18 16:07:07 +00:00
}
void ValueSet::SetFormat(bool bFormat)
{
mbFormat = bFormat;
}
bool ValueSet::StartDrag( const CommandEvent& rEvent, vcl::Region& rRegion )
2000-09-18 16:07:07 +00:00
{
if ( rEvent.GetCommand() != CommandEventId::StartDrag )
2012-02-11 18:17:26 +01:00
return false;
2000-09-18 16:07:07 +00:00
// if necessary abort an existing action
2000-09-18 16:07:07 +00:00
EndSelection();
// Check out if the clicked on page is selected. If this is not the
// case set it as the current item. We only check mouse actions since
// drag-and-drop can also be triggered by the keyboard
sal_uInt16 nSelId;
if ( rEvent.IsMouseEvent() )
nSelId = GetItemId( rEvent.GetMousePosPixel() );
2000-09-18 16:07:07 +00:00
else
nSelId = mnSelItemId;
// don't activate dragging if no item was clicked on
2000-09-18 16:07:07 +00:00
if ( !nSelId )
2012-02-11 18:17:26 +01:00
return false;
2000-09-18 16:07:07 +00:00
// Check out if the page was selected. If not set as current page and
// call select.
2000-09-18 16:07:07 +00:00
if ( nSelId != mnSelItemId )
{
SelectItem( nSelId );
Update();
Select();
}
vcl::Region aRegion;
2000-09-18 16:07:07 +00:00
// assign region
2000-09-18 16:07:07 +00:00
rRegion = aRegion;
2012-02-11 18:17:26 +01:00
return true;
2000-09-18 16:07:07 +00:00
}
Size ValueSet::CalcWindowSizePixel( const Size& rItemSize, sal_uInt16 nDesireCols,
sal_uInt16 nDesireLines ) const
2000-09-18 16:07:07 +00:00
{
size_t nCalcCols = nDesireCols;
size_t nCalcLines = nDesireLines;
2000-09-18 16:07:07 +00:00
if ( !nCalcCols )
{
if ( mnUserCols )
nCalcCols = mnUserCols;
2000-09-18 16:07:07 +00:00
else
nCalcCols = 1;
}
if ( !nCalcLines )
{
nCalcLines = mnVisLines;
if ( mbFormat )
{
if ( mnUserVisLines )
nCalcLines = mnUserVisLines;
else
{
// Floor( (M+N-1)/N )==Ceiling( M/N )
nCalcLines = (mItemList.size()+nCalcCols-1) / nCalcCols;
if ( !nCalcLines )
2000-09-18 16:07:07 +00:00
nCalcLines = 1;
}
}
}
Size aSize( rItemSize.Width() * nCalcCols, rItemSize.Height() * nCalcLines );
2000-09-18 16:07:07 +00:00
WinBits nStyle = GetStyle();
long nTxtHeight = GetTextHeight();
long n;
if ( nStyle & WB_ITEMBORDER )
{
if ( nStyle & WB_DOUBLEBORDER )
n = ITEM_OFFSET_DOUBLE;
else
n = ITEM_OFFSET;
aSize.Width() += n * nCalcCols;
aSize.Height() += n * nCalcLines;
2000-09-18 16:07:07 +00:00
}
else
n = 0;
if ( mnSpacing )
{
aSize.Width() += mnSpacing * (nCalcCols - 1);
aSize.Height() += mnSpacing * (nCalcLines - 1);
2000-09-18 16:07:07 +00:00
}
if ( nStyle & WB_NAMEFIELD )
{
2000-11-16 18:18:50 +00:00
aSize.Height() += nTxtHeight + NAME_OFFSET;
if ( !(nStyle & WB_FLATVALUESET) )
aSize.Height() += NAME_LINE_HEIGHT + NAME_LINE_OFF_Y;
2000-09-18 16:07:07 +00:00
}
if ( nStyle & WB_NONEFIELD )
{
2012-02-05 12:23:31 +01:00
aSize.Height() += nTxtHeight + n + mnSpacing;
2000-09-18 16:07:07 +00:00
if ( nStyle & WB_RADIOSEL )
aSize.Height() += 8;
}
// sum possible ScrollBar width
2000-09-18 16:07:07 +00:00
aSize.Width() += GetScrollWidth();
return aSize;
}
2012-02-11 18:17:26 +01:00
Size ValueSet::CalcItemSizePixel( const Size& rItemSize, bool bOut ) const
2000-09-18 16:07:07 +00:00
{
Size aSize = rItemSize;
WinBits nStyle = GetStyle();
if ( nStyle & WB_ITEMBORDER )
{
long n;
if ( nStyle & WB_DOUBLEBORDER )
n = ITEM_OFFSET_DOUBLE;
else
n = ITEM_OFFSET;
if ( bOut )
{
aSize.Width() += n;
aSize.Height() += n;
}
else
{
aSize.Width() -= n;
aSize.Height() -= n;
}
}
return aSize;
}
long ValueSet::GetScrollWidth() const
{
if (GetStyle() & WB_VSCROLL)
2000-09-18 16:07:07 +00:00
{
ValueSet* pValueSet = const_cast<ValueSet*>(this);
if (!mxScrollBar)
{
pValueSet->ImplInitScrollBar();
}
pValueSet->Invalidate();
return mxScrollBar->GetSizePixel().Width() + SCRBAR_OFFSET;
2000-09-18 16:07:07 +00:00
}
else
return 0;
}
void ValueSet::SetHighlightHdl( const Link<>& rLink )
{
maHighlightHdl = rLink;
}
Size ValueSet::GetOptimalSize() const
{
Size aLargestItemSize;
for (size_t i = 0, n = mItemList.size(); i < n; ++i)
{
const ValueSetItem* pItem = mItemList[i];
if (!pItem->mbVisible)
continue;
if (pItem->meType != VALUESETITEM_IMAGE)
{
//handle determining an optimal size for this case
continue;
}
Size aImageSize = pItem->maImage.GetSizePixel();
aLargestItemSize.Width() = std::max(aLargestItemSize.Width(), aImageSize.Width());
aLargestItemSize.Height() = std::max(aLargestItemSize.Height(), aImageSize.Height());
}
return CalcWindowSizePixel(aLargestItemSize);
}
void ValueSet::SetEdgeBlending(bool bNew)
{
if(mbEdgeBlending != bNew)
{
mbEdgeBlending = bNew;
mbFormat = true;
if(IsReallyVisible() && IsUpdateMode())
{
Invalidate();
}
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */