26#include <svx/svxids.hrc>
27#include <osl/diagnose.h>
28#include <officecfg/Office/Common.hxx>
33 const OUString& rStr = rEntry.
GetName();
39 xDevice->SetOutputSize(aImageSize);
40 const ::tools::Rectangle aRect(
Point(0, 0), aImageSize);
41 xDevice->SetFillColor(rColor);
43 xDevice->DrawRect(aRect);
46 nullptr, xDevice.
get(),
false,
nullptr);
52 ImpColorList::iterator it =
aColorList.begin();
53 std::advance( it,
nPos );
61 ImpColorList::iterator it =
aColorList.begin();
62 std::advance(it,
nPos);
92 :
SfxTabPage(pPage, pController,
"cui/ui/optchartcolorspage.ui",
"OptChartColorsPage", &rInAttrs)
93 , m_xLbChartColors(m_xBuilder->weld_tree_view(
"colors"))
94 , m_xLbPaletteSelector(m_xBuilder->weld_combo_box(
"paletteselector"))
95 , m_xPBDefault(m_xBuilder->weld_button(
"default"))
96 , m_xPBAdd(m_xBuilder->weld_button(
"add"))
97 , m_xPBRemove(m_xBuilder->weld_button(
"delete"))
98 , m_xValSetColorBox(new
SvxColorValueSet(m_xBuilder->weld_scrolled_window(
"tablewin", true)))
99 , m_xValSetColorBoxWin(new
weld::CustomWeld(*m_xBuilder,
"table", *m_xValSetColorBox))
117 pEditOptionsItem->GetColorList());
145 return std::make_unique<SvxDefaultColorOptPage>( pPage, pController, *rAttrs );
176 for (
auto const& palette : aPaletteList)
179 OUString aPaletteName(officecfg::Office::Common::UserColors::PaletteName::get());
200 if( m_SvxChartColorTableUniquePtr )
202 m_SvxChartColorTableUniquePtr->useDefault();
204 FillBoxChartColorLB();
206 m_xLbChartColors->grab_focus();
207 m_xLbChartColors->select( 0 );
208 m_xPBRemove->set_sensitive(
true);
215 if( m_SvxChartColorTableUniquePtr )
217 Color const black( 0x00, 0x00, 0x00 );
219 m_SvxChartColorTableUniquePtr->append(
222 FillBoxChartColorLB();
223 m_xLbChartColors->grab_focus();
224 m_xLbChartColors->select(m_SvxChartColorTableUniquePtr->size() - 1);
225 m_xPBRemove->set_sensitive(
true);
232 sal_Int32
nIndex = m_xLbChartColors->get_selected_index();
236 if( !m_SvxChartColorTableUniquePtr )
239 OSL_ENSURE(m_SvxChartColorTableUniquePtr->size() > 1,
"don't delete the last chart color");
242 std::unique_ptr<weld::MessageDialog> xQuery(xBuilder->weld_message_dialog(
"QueryDeleteChartColorDialog"));
247 m_SvxChartColorTableUniquePtr->remove(
nIndex);
249 FillBoxChartColorLB();
251 m_xLbChartColors->grab_focus();
253 if (
nIndex == m_xLbChartColors->n_children() && m_xLbChartColors->n_children() > 0)
254 m_xLbChartColors->select(m_SvxChartColorTableUniquePtr->size() - 1);
255 else if (m_xLbChartColors->n_children() > 0)
256 m_xLbChartColors->select(
nIndex );
258 m_xPBRemove->set_sensitive(
true);
263 sal_Int32
nPos = m_xLbPaletteSelector->get_active();
264 aPaletteManager.SetPalette(
nPos );
265 aPaletteManager.ReloadColorSet( *m_xValSetColorBox );
266 m_xValSetColorBox->Resize();
271 sal_Int32 nIdx = m_xLbChartColors->get_selected_index();
274 const XColorEntry aEntry(m_xValSetColorBox->GetItemColor(m_xValSetColorBox->GetSelectedItemId()), m_xLbChartColors->get_selected_text());
276 ModifyColorEntry(aEntry, nIdx);
277 m_SvxChartColorTableUniquePtr->replace(nIdx, aEntry);
279 m_xLbChartColors->select(nIdx);
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
static std::unique_ptr< weld::Builder > CreateBuilder(weld::Widget *pParent, const OUString &rUIFile, bool bMobile=false, sal_uInt64 nLOKWindowId=0)
std::vector< OUString > GetPaletteList()
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const Color & GetDisableColor() const
const Size & GetListBoxPreviewDefaultPixelSize() const
static OUString getDefaultName(size_t _nIndex)
virtual void Reset(const SfxItemSet *rInAttrs) override
std::unique_ptr< weld::Button > m_xPBDefault
void InsertColorEntry(const XColorEntry &rEntry, sal_Int32 nPos=-1)
virtual bool FillItemSet(SfxItemSet *rOutAttrs) override
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rInAttrs)
SvxDefaultColorOptPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rInAttrs)
std::unique_ptr< SvxChartOptions > m_SvxChartOptionsUniquePtr
void RemoveColorEntry(sal_Int32 nPos)
std::unique_ptr< weld::TreeView > m_xLbChartColors
std::unique_ptr< weld::CustomWeld > m_xValSetColorBoxWin
void ModifyColorEntry(const XColorEntry &rEntry, sal_Int32 nPos)
std::unique_ptr< SvxColorValueSet > m_xValSetColorBox
std::unique_ptr< weld::Button > m_xPBAdd
virtual ~SvxDefaultColorOptPage() override
PaletteManager aPaletteManager
std::unique_ptr< weld::ComboBox > m_xLbPaletteSelector
std::unique_ptr< SvxChartColorTable > m_SvxChartColorTableUniquePtr
std::unique_ptr< weld::Button > m_xPBRemove
void FillBoxChartColorLB()
reference_type * get() const
const Color & GetColor() const
const OUString & GetName() const
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
#define LINK(Instance, Class, Member)
IMPL_LINK_NOARG(SvxDefaultColorOptPage, ResetToDefaults, weld::Button &, void)