blob: 222f3c549871e6d987d303d86449e78fe8741b03 [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.
*
*************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_cui.hxx"
// include ---------------------------------------------------------------
#include <tools/shl.hxx>
#include <svx/dialogs.hrc>
#include <cuires.hrc>
#include "page.hrc"
#include "bbdlg.hxx"
#include "border.hxx"
#include "backgrnd.hxx"
#include <dialmgr.hxx>
//UUUU
#include "cuitabarea.hxx"
// class SvxBorderBackgroundDlg ------------------------------------------
SvxBorderBackgroundDlg::SvxBorderBackgroundDlg(Window *pParent,
const SfxItemSet& rCoreSet,
bool bEnableSelector,
bool bEnableDrawingLayerFillStyles)
: SfxTabDialog(
pParent,
CUI_RES(
bEnableDrawingLayerFillStyles ? RID_SVXDLG_BBDLG_AREA_TRANS : RID_SVXDLG_BBDLG_BACKGROUND),
&rCoreSet),
mbEnableBackgroundSelector(bEnableSelector),
mbEnableDrawingLayerFillStyles(bEnableDrawingLayerFillStyles)
{
FreeResource();
AddTabPage(RID_SVXPAGE_BORDER,SvxBorderTabPage::Create,0);
if(mbEnableDrawingLayerFillStyles)
{
//UUUU Here we want full DrawingLayer FillStyle access, so add Area and Transparency TabPages
AddTabPage( RID_SVXPAGE_AREA, SvxAreaTabPage::Create, 0 );
AddTabPage( RID_SVXPAGE_TRANSPARENCE, SvxTransparenceTabPage::Create, 0);
}
else
{
//UUUU Use the more simple Background TabPage
AddTabPage(RID_SVXPAGE_BACKGROUND, SvxBackgroundTabPage::Create, 0);
}
}
// -----------------------------------------------------------------------
SvxBorderBackgroundDlg::~SvxBorderBackgroundDlg()
{
}
// -----------------------------------------------------------------------
void SvxBorderBackgroundDlg::PageCreated(sal_uInt16 nPageId, SfxTabPage& rTabPage)
{
switch(nPageId)
{
case RID_SVXPAGE_BACKGROUND:
{
// allow switching between Color/graphic
if(mbEnableBackgroundSelector)
{
static_cast< SvxBackgroundTabPage& >(rTabPage).ShowSelector();
}
break;
}
//UUUU inits for Area and Transparency TabPages
// The selection attribute lists (XPropertyList derivates, e.g. XColorList for
// the color table) need to be added as items (e.g. SvxColorTableItem) to make
// these pages find the needed attributes for fill style suggestions.
// These are added in SwDocStyleSheet::GetItemSet() for the SFX_STYLE_FAMILY_PARA on
// demand, but could also be directly added from the DrawModel.
case RID_SVXPAGE_AREA:
{
SfxItemSet aNew(
*GetInputSetImpl()->GetPool(),
SID_COLOR_TABLE, SID_BITMAP_LIST,
SID_OFFER_IMPORT, SID_OFFER_IMPORT,
0, 0);
aNew.Put(*GetInputSetImpl());
// add flag for direct graphic content selection
aNew.Put(SfxBoolItem(SID_OFFER_IMPORT, true));
rTabPage.PageCreated(aNew);
break;
}
case RID_SVXPAGE_TRANSPARENCE:
{
rTabPage.PageCreated(*GetInputSetImpl());
break;
}
}
}
//eof