blob: 2b36bac1f776696b08faf29f40b9ca3cd68ce805 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _SFX_STYFITEM_HXX
#define _SFX_STYFITEM_HXX
#include "sal/config.h"
#include "sfx2/dllapi.h"
#ifndef _BITMAP_HXX //autogen
#include <vcl/bitmap.hxx>
#endif
#ifndef _IMAGE_HXX //autogen
#include <vcl/image.hxx>
#endif
#include <tools/list.hxx>
#ifndef _RC_HXX //autogen
#include <tools/rc.hxx>
#endif
#include <rsc/rscsfx.hxx>
#ifndef _SFX_STYFITEM_HXX_NOLIST
struct SfxFilterTupel {
String aName;
sal_uInt16 nFlags;
};
DECLARE_LIST(SfxStyleFilter, SfxFilterTupel*)
#else
typedef List SfxStyleFilter;
#endif
// CLASS -----------------------------------------------------------------
class SfxStyleFamilyItem: public Resource
{
Image aImage;
Bitmap aBitmap;
String aText;
String aHelpText;
sal_uInt16 nFamily;
SfxStyleFilter aFilterList;
public:
SfxStyleFamilyItem( const ResId &rId );
~SfxStyleFamilyItem();
const Bitmap& GetBitmap() const { return aBitmap; }
const String& GetText() const { return aText; }
const String& GetHelpText() const { return aHelpText; }
SfxStyleFamily GetFamily() const { return (SfxStyleFamily)nFamily; }
const SfxStyleFilter& GetFilterList() const { return aFilterList; }
const Image& GetImage() const { return aImage; }
// --------------------------------------------------------------------
class GrantAccess { friend class SfxStyleFamilies; };
void SetImage( const Image& _rImg ) { aImage = _rImg; }
};
//#if 0 // _SOLAR__PRIVATE
DECLARE_LIST(SfxStyleFamilyList, SfxStyleFamilyItem*)
//#else
//typedef List SfxStyleFamilyList;
//#endif
class SFX2_DLLPUBLIC SfxStyleFamilies: public Resource
{
SfxStyleFamilyList aEntryList;
public:
/** ctor
<p>Will automatically call updateImages with BMP_COLOR_NORMAL.</p>
*/
SfxStyleFamilies( const ResId &);
SfxStyleFamilies( ) {};
~SfxStyleFamilies();
sal_uInt16 Count() const
{ return (sal_uInt16)aEntryList.Count(); }
const SfxStyleFamilyItem* GetObject(sal_uIntPtr nIdx) const
{ return (SfxStyleFamilyItem*)aEntryList.GetObject(nIdx); }
/** updates the images of all single SfxStyleFamilyItems with new images from the given resource
<p>The resource must contain a local image lists, with the id beeing the integer equivalent for the
requested bitmap mode, incremented by 1.</p>
<p>Usually, you will use the same resource which originally constructed the object.</p>
@return
<TRUE/> if an image list for the requested mode could be found in the given resource.
*/
sal_Bool updateImages( const ResId& _rId, const BmpColorMode _eMode );
};
#endif