638 lines
18 KiB
C++
638 lines
18 KiB
C++
/*************************************************************************
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: svxbox.cxx,v $
|
|
*
|
|
* $Revision: 1.5 $
|
|
*
|
|
* last change: $Author: obo $ $Date: 2006-09-17 04:40:43 $
|
|
*
|
|
* The Contents of this file are made available subject to
|
|
* the terms of GNU Lesser General Public License Version 2.1.
|
|
*
|
|
*
|
|
* GNU Lesser General Public License Version 2.1
|
|
* =============================================
|
|
* Copyright 2005 by Sun Microsystems, Inc.
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License version 2.1, as published by the Free Software Foundation.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*
|
|
************************************************************************/
|
|
|
|
// MARKER(update_precomp.py): autogen include statement, do not remove
|
|
#include "precompiled_svx.hxx"
|
|
|
|
#ifndef _TOOLS_DEBUG_HXX
|
|
#include <tools/debug.hxx>
|
|
#endif
|
|
#ifndef _APP_HXX //autogen
|
|
#include <vcl/svapp.hxx>
|
|
#endif
|
|
|
|
#include "svxbox.hxx"
|
|
|
|
#ifndef _UNOTOOLS_CHARCLASS_HXX
|
|
#include <unotools/charclass.hxx>
|
|
#endif
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
SV_IMPL_PTRARR(SvxEntryLst, SvxBoxEntry*)
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Ein ListboxElement
|
|
--------------------------------------------------------------------*/
|
|
|
|
SvxBoxEntry::SvxBoxEntry() :
|
|
nId(LISTBOX_ENTRY_NOTFOUND),
|
|
bModified(FALSE),
|
|
bNew(FALSE)
|
|
{
|
|
}
|
|
|
|
|
|
SvxBoxEntry::SvxBoxEntry(const String& aNam, USHORT nIdx) :
|
|
aName(aNam),
|
|
nId(nIdx),
|
|
bModified(FALSE),
|
|
bNew(FALSE)
|
|
{
|
|
}
|
|
|
|
|
|
SvxBoxEntry::SvxBoxEntry(const SvxBoxEntry& rOld) :
|
|
aName(rOld.aName),
|
|
nId(rOld.nId),
|
|
bModified(rOld.bModified),
|
|
bNew(rOld.bNew)
|
|
{
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung:
|
|
--------------------------------------------------------------------*/
|
|
|
|
SvxListBox::SvxListBox(Window* pParent, WinBits nBits) :
|
|
ListBox(pParent, nBits)
|
|
{
|
|
InitListBox();
|
|
}
|
|
|
|
|
|
SvxListBox::SvxListBox(Window* pParent, const ResId& rId):
|
|
ListBox(pParent, rId)
|
|
{
|
|
InitListBox();
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Basisklasse Dtor
|
|
--------------------------------------------------------------------*/
|
|
|
|
__EXPORT SvxListBox::~SvxListBox()
|
|
{
|
|
aEntryLst.DeleteAndDestroy(0, aEntryLst.Count());
|
|
aDelEntryLst.DeleteAndDestroy(0, aDelEntryLst.Count());
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Evtl. Liste aus der Ressource beachten
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::InitListBox()
|
|
{
|
|
// Verwaltung fuer die Stringlist aus der Resource aufbauen
|
|
USHORT nSize = GetEntryCount();
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ const SvxBoxEntry* pTmp = new SvxBoxEntry(ListBox::GetEntry(i), i);
|
|
const SvxBoxEntry* &rpTmp = pTmp;
|
|
aEntryLst.Insert(rpTmp, aEntryLst.Count());
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: neue Eintraege verwalten
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::InsertNewEntry(const SvxBoxEntry& rEntry)
|
|
{
|
|
SvxBoxEntry* pNew = new SvxBoxEntry(rEntry);
|
|
pNew->bNew = TRUE;
|
|
InsertSorted(pNew);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Eintrag in die ListBox aufnehmen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::InsertEntry(const SvxBoxEntry& rEntry, USHORT nPos)
|
|
{
|
|
if(nPos != LISTBOX_ENTRY_NOTFOUND)
|
|
{
|
|
SvxBoxEntry* pEntry = new SvxBoxEntry(rEntry);
|
|
ListBox::InsertEntry(pEntry->aName, nPos);
|
|
//const SvxBoxEntry* &rpEntry = pEntry;
|
|
aEntryLst.C40_INSERT(SvxBoxEntry, pEntry, nPos);
|
|
}
|
|
else
|
|
InsertSorted(new SvxBoxEntry(rEntry));
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Eintrag aus der Liste loeschen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::RemoveEntry(USHORT nPos)
|
|
{
|
|
if(nPos >= aEntryLst.Count())
|
|
return;
|
|
|
|
// Altes Element austragen
|
|
SvxBoxEntry* pEntry = aEntryLst[nPos];
|
|
aEntryLst.Remove(nPos, 1);
|
|
ListBox::RemoveEntry(nPos);
|
|
|
|
// keine neuen Eintraege in die Liste mit aufnehmen
|
|
if(pEntry->bNew)
|
|
return;
|
|
|
|
// in DeleteListe eintragen
|
|
aDelEntryLst.C40_INSERT(SvxBoxEntry, pEntry, aDelEntryLst.Count());
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Eintrag ueber konkretes Obkjekt loeschen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::RemoveEntry(const SvxBoxEntry& rEntry)
|
|
{
|
|
USHORT nPos = ListBox::GetEntryPos(rEntry.aName);
|
|
RemoveEntry(nPos);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Listen loeschen und Anzeige loeschen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::Clear()
|
|
{
|
|
ListBox::Clear();
|
|
aEntryLst.DeleteAndDestroy(0, aEntryLst.Count());
|
|
aDelEntryLst.DeleteAndDestroy(0, aDelEntryLst.Count());
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Position by Name
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxListBox::GetEntryPos(const SvxBoxEntry& rEntry) const
|
|
{
|
|
return ListBox::GetEntryPos(rEntry.aName);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Rund um die Entries
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxListBox::GetSvxBoxEntry(USHORT nPos) const
|
|
{
|
|
if(nPos < aEntryLst.Count())
|
|
return *aEntryLst[nPos];
|
|
else
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: aktullen Eintrag zurueckgeben
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxListBox::GetSelectSvxBoxEntry(USHORT nSelId) const
|
|
{
|
|
String aName(ListBox::GetSelectEntry(nSelId));
|
|
|
|
if(aName.Len() > 0)
|
|
{
|
|
for (USHORT i=0; i < aEntryLst.Count(); i++)
|
|
{
|
|
if(aEntryLst[i]->aName == aName )
|
|
return *aEntryLst[i];
|
|
}
|
|
}
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: modifizierte Eintraege
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxListBox::GetModifiedCount() const
|
|
{
|
|
USHORT nMod = 0;
|
|
USHORT nSize = aEntryLst.Count();
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bModified)
|
|
nMod++;
|
|
}
|
|
return nMod;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Modifizierte Eintraege behandeln
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::ModifyEntry(USHORT nPos, const String& rName)
|
|
{
|
|
if(nPos >= aEntryLst.Count())
|
|
return;
|
|
|
|
SvxBoxEntry* pEntry = aEntryLst[nPos];
|
|
aEntryLst.Remove(nPos, 1);
|
|
aEntryLst[nPos]->aName = rName;
|
|
aEntryLst[nPos]->bModified = TRUE;
|
|
ListBox::RemoveEntry(nPos);
|
|
|
|
InsertSorted(pEntry);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: alle modifizierten Eintraege bahandeln
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxListBox::GetModifiedEntry(USHORT nPos) const
|
|
{
|
|
USHORT nSize = aEntryLst.Count();
|
|
USHORT nMod = 0;
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bModified)
|
|
{ if(nMod == nPos)
|
|
return *aEntryLst[i];
|
|
nMod++;
|
|
}
|
|
}
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: geloeschte Eintraege
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxListBox::GetRemovedCount() const
|
|
{
|
|
return aDelEntryLst.Count();
|
|
}
|
|
|
|
|
|
const SvxBoxEntry& SvxListBox::GetRemovedEntry(USHORT nPos) const
|
|
{
|
|
if(nPos < aDelEntryLst.Count())
|
|
return *aDelEntryLst[nPos];
|
|
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Neue Entries begutachten
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxListBox::GetNewCount() const
|
|
{
|
|
USHORT nNew = 0;
|
|
USHORT nSize = aEntryLst.Count();
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bNew)
|
|
nNew++;
|
|
}
|
|
return nNew;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Alle neuen Eintraege ueberpruefen
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxListBox::GetNewEntry(USHORT nPos) const
|
|
{
|
|
USHORT nSize = aEntryLst.Count();
|
|
USHORT nNew = 0;
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bNew)
|
|
{ if(nNew == nPos)
|
|
return *aEntryLst[i];
|
|
nNew++;
|
|
}
|
|
}
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Sortiert einfuegen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxListBox::InsertSorted(SvxBoxEntry* pEntry)
|
|
{
|
|
ListBox::InsertEntry(pEntry->aName);
|
|
USHORT nPos = ListBox::GetEntryPos(pEntry->aName);
|
|
aEntryLst.C40_INSERT(SvxBoxEntry, pEntry, nPos);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: ComboBoxen mit Verwaltungseinheit
|
|
--------------------------------------------------------------------*/
|
|
|
|
SvxComboBox::SvxComboBox(Window* pParent, WinBits nBits, USHORT nStyleBits) :
|
|
ComboBox(pParent, nBits),
|
|
nStyle(nStyleBits)
|
|
{
|
|
InitComboBox();
|
|
}
|
|
|
|
|
|
SvxComboBox::SvxComboBox(Window* pParent, const ResId& rId, USHORT nStyleBits ):
|
|
ComboBox(pParent, rId),
|
|
nStyle(nStyleBits)
|
|
{
|
|
InitComboBox();
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Basisklasse Dtor
|
|
--------------------------------------------------------------------*/
|
|
|
|
__EXPORT SvxComboBox::~SvxComboBox()
|
|
{
|
|
aEntryLst.DeleteAndDestroy(0, aEntryLst.Count());
|
|
aDelEntryLst.DeleteAndDestroy(0, aDelEntryLst.Count());
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Evtl. Liste aus der Ressource beachten
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::InitComboBox()
|
|
{
|
|
// Verwaltung fuer die Stringlist aus der Resource aufbauen
|
|
USHORT nSize = GetEntryCount();
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ const SvxBoxEntry* pTmp = new SvxBoxEntry(ComboBox::GetEntry(i), i);
|
|
const SvxBoxEntry* &rpTmp = pTmp;
|
|
aEntryLst.Insert(rpTmp, aEntryLst.Count());
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: neue Eintraege verwalten
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::InsertNewEntry(const SvxBoxEntry& rEntry)
|
|
{
|
|
SvxBoxEntry* pNew = new SvxBoxEntry(rEntry);
|
|
pNew->bNew = TRUE;
|
|
InsertSorted(pNew);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Eintrag in die ComboBox aufnehmen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::InsertEntry(const SvxBoxEntry& rEntry)
|
|
{
|
|
InsertSorted(new SvxBoxEntry(rEntry));
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Eintrag aus der Liste loeschen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::RemoveEntry(USHORT nPos)
|
|
{
|
|
if(nPos >= aEntryLst.Count())
|
|
return;
|
|
|
|
// Altes Element austragen
|
|
SvxBoxEntry* pEntry = aEntryLst[nPos];
|
|
aEntryLst.Remove(nPos, 1);
|
|
ComboBox::RemoveEntry(nPos);
|
|
|
|
// keine neuen Eintraege in die Liste mit aufnehmen
|
|
if(pEntry->bNew)
|
|
return;
|
|
|
|
// in DeleteListe eintragen
|
|
aDelEntryLst.C40_INSERT(SvxBoxEntry, pEntry, aDelEntryLst.Count());
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Eintrag ueber konkretes Obkjekt loeschen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::RemoveEntry(const SvxBoxEntry& rEntry)
|
|
{
|
|
USHORT nPos = ComboBox::GetEntryPos(rEntry.aName);
|
|
RemoveEntry(nPos);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Listen loeschen und Anzeige loeschen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::Clear()
|
|
{
|
|
ComboBox::Clear();
|
|
aEntryLst.DeleteAndDestroy(0, aEntryLst.Count());
|
|
aDelEntryLst.DeleteAndDestroy(0, aDelEntryLst.Count());
|
|
}
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Position by Name
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxComboBox::GetEntryPos(const SvxBoxEntry& rEntry) const
|
|
{
|
|
return ComboBox::GetEntryPos(rEntry.aName);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Rund um die Entries
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxComboBox::GetEntry(USHORT nPos) const
|
|
{
|
|
if(nPos < aEntryLst.Count())
|
|
return *aEntryLst[nPos];
|
|
else
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: modifizierte Eintraege
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxComboBox::GetModifiedCount() const
|
|
{
|
|
USHORT nMod = 0;
|
|
USHORT nSize = aEntryLst.Count();
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bModified)
|
|
nMod++;
|
|
}
|
|
return nMod;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Modifizierte Eintraege behandeln
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::ModifyEntry(USHORT nPos, const String& rName)
|
|
{
|
|
if(nPos >= aEntryLst.Count())
|
|
return;
|
|
|
|
SvxBoxEntry* pEntry = aEntryLst[nPos];
|
|
aEntryLst.Remove(nPos, 1);
|
|
aEntryLst[nPos]->aName = rName;
|
|
aEntryLst[nPos]->bModified = TRUE;
|
|
ComboBox::RemoveEntry(nPos);
|
|
|
|
InsertSorted(pEntry);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: alle modifizierten Eintraege bahandeln
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxComboBox::GetModifiedEntry(USHORT nPos) const
|
|
{
|
|
USHORT nSize = aEntryLst.Count();
|
|
USHORT nMod = 0;
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bModified)
|
|
{ if(nMod == nPos)
|
|
return *aEntryLst[i];
|
|
nMod++;
|
|
}
|
|
}
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: geloeschte Eintraege
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxComboBox::GetRemovedCount() const
|
|
{
|
|
return aDelEntryLst.Count();
|
|
}
|
|
|
|
|
|
const SvxBoxEntry& SvxComboBox::GetRemovedEntry(USHORT nPos) const
|
|
{
|
|
if(nPos < aDelEntryLst.Count())
|
|
return *aDelEntryLst[nPos];
|
|
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Neue Entries begutachten
|
|
--------------------------------------------------------------------*/
|
|
|
|
USHORT SvxComboBox::GetNewCount() const
|
|
{
|
|
USHORT nNew = 0;
|
|
USHORT nSize = aEntryLst.Count();
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bNew)
|
|
nNew++;
|
|
}
|
|
return nNew;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Alle neuen Eintraege ueberpruefen
|
|
--------------------------------------------------------------------*/
|
|
|
|
const SvxBoxEntry& SvxComboBox::GetNewEntry(USHORT nPos) const
|
|
{
|
|
USHORT nSize = aEntryLst.Count();
|
|
USHORT nNew = 0;
|
|
for(USHORT i=0; i < nSize; ++i)
|
|
{ if(aEntryLst[i]->bNew)
|
|
{ if(nNew == nPos)
|
|
return *aEntryLst[i];
|
|
nNew++;
|
|
}
|
|
}
|
|
return aDefault;
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Sortiert einfuegen
|
|
--------------------------------------------------------------------*/
|
|
|
|
void SvxComboBox::InsertSorted(SvxBoxEntry* pEntry)
|
|
{
|
|
ComboBox::InsertEntry(pEntry->aName);
|
|
USHORT nPos = ComboBox::GetEntryPos(pEntry->aName);
|
|
aEntryLst.C40_INSERT(SvxBoxEntry, pEntry, nPos);
|
|
}
|
|
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Je nach Option bestimmte Zeichen ausblenden
|
|
--------------------------------------------------------------------*/
|
|
|
|
void __EXPORT SvxComboBox::KeyInput( const KeyEvent& rKEvt )
|
|
{
|
|
sal_Unicode cChar = rKEvt.GetCharCode();
|
|
|
|
if(nStyle & SVX_CBS_FILENAME)
|
|
{
|
|
#ifdef MAC
|
|
if( cChar == sal_Unicode( ':' ) )
|
|
return;
|
|
#elif defined UNX
|
|
if( cChar == sal_Unicode( '/' ) || cChar == sal_Unicode( ' ' ) )
|
|
return;
|
|
#else
|
|
if( cChar == sal_Unicode( ':' ) || cChar == sal_Unicode( '\\' ) ||
|
|
cChar == sal_Unicode( '.' ) || cChar == sal_Unicode( ' ' ) )
|
|
return;
|
|
#endif
|
|
}
|
|
ComboBox::KeyInput(rKEvt);
|
|
}
|
|
|
|
/*--------------------------------------------------------------------
|
|
Beschreibung: Text nach Option konvertieren
|
|
--------------------------------------------------------------------*/
|
|
|
|
String SvxComboBox::GetText() const
|
|
{
|
|
String aTxt(ComboBox::GetText());
|
|
CharClass aCharClass( Application::GetSettings().GetLocale() );
|
|
|
|
if(nStyle & SVX_CBS_LOWER)
|
|
return aCharClass.lower(aTxt);
|
|
|
|
if(nStyle & SVX_CBS_UPPER)
|
|
return aCharClass.upper(aTxt);
|
|
|
|
return aTxt;
|
|
}
|
|
|
|
|