Skip to content

Commit a44a069

Browse files
rishabhkumar296smehrbrodt
authored andcommitted
[GSoC] Add Bitmap tab to area dialog
Change-Id: I6549e7eb4efd24d035b0383a750698a4c3f16cf7 Reviewed-on: https://gerrit.libreoffice.org/27546 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
1 parent c9b2af0 commit a44a069

File tree

7 files changed

+627
-3
lines changed

7 files changed

+627
-3
lines changed

cui/Library_cui.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
197197
cui/source/tabpages/textanim \
198198
cui/source/tabpages/textattr \
199199
cui/source/tabpages/tparea \
200+
cui/source/tabpages/tpbitmap \
200201
cui/source/tabpages/tpcolor \
201202
cui/source/tabpages/tpgradnt \
202203
cui/source/tabpages/tphatch \

cui/UIConfig_cui.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
2727
cui/uiconfig/ui/autocorrectdialog \
2828
cui/uiconfig/ui/backgroundpage \
2929
cui/uiconfig/ui/baselinksdialog \
30+
cui/uiconfig/ui/bitmaptabpage \
3031
cui/uiconfig/ui/blackorwhitelistentrydialog \
3132
cui/uiconfig/ui/borderareatransparencydialog \
3233
cui/uiconfig/ui/borderbackgrounddialog \

cui/source/inc/cuitabarea.hxx

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class SvxAreaTabDialog : public SfxTabDialog
4646
sal_uInt16 m_nColorTabPage;
4747
sal_uInt16 m_nGradientTabPage;
4848
sal_uInt16 m_nHatchTabPage;
49-
//sal_uInt16 m_nBitmapTabPage;
49+
sal_uInt16 m_nBitmapTabPage;
5050
sal_uInt16 m_nPatternTabPage;
5151

5252
private:
@@ -553,6 +553,65 @@ public:
553553

554554
/************************************************************************/
555555

556+
class SvxBitmapTabPage : public SvxTabPage
557+
{
558+
using TabPage::ActivatePage;
559+
using TabPage::DeactivatePage;
560+
private:
561+
562+
VclPtr<SvxPresetListBox> m_pBitmapLB;
563+
VclPtr<PushButton> m_pBtnImport;
564+
VclPtr<SvxXRectPreview> m_pCtlBitmapPreview;
565+
566+
const SfxItemSet& m_rOutAttrs;
567+
568+
XBitmapListRef m_pBitmapList;
569+
ChangeType* m_pnBitmapListState;
570+
XFillStyleItem m_aXFStyleItem;
571+
XFillBitmapItem m_aXBitmapItem;
572+
573+
sal_uInt16* m_nPageType;
574+
sal_uInt16 m_nDlgType;
575+
sal_Int32* m_nPos;
576+
577+
bool* m_pbAreaTP;
578+
579+
XFillAttrSetItem m_aXFillAttr;
580+
SfxItemSet& m_rXFSet;
581+
582+
DECL_LINK_TYPED( ModifyBitmapHdl, ValueSet*, void );
583+
DECL_LINK_TYPED( ClickRenameHdl, SvxPresetListBox*, void );
584+
DECL_LINK_TYPED( ClickDeleteHdl, SvxPresetListBox*, void );
585+
DECL_LINK_TYPED( ClickImportHdl, Button*, void );
586+
void ClickBitmapHdl_Impl();
587+
sal_Int32 SearchBitmapList(const OUString& rBitmapName);
588+
589+
public:
590+
SvxBitmapTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
591+
virtual ~SvxBitmapTabPage();
592+
virtual void dispose() override;
593+
594+
void Construct();
595+
596+
static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
597+
598+
virtual bool FillItemSet( SfxItemSet* ) override;
599+
virtual void Reset( const SfxItemSet * ) override;
600+
virtual void ActivatePage( const SfxItemSet& rSet ) override;
601+
virtual DeactivateRC DeactivatePage( SfxItemSet* pSet ) override;
602+
virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) override;
603+
604+
void SetBitmapList( XBitmapListRef pBmpLst) { m_pBitmapList = pBmpLst; }
605+
606+
void SetPageType( sal_uInt16* pInType ) { m_nPageType = pInType; }
607+
void SetDlgType( sal_uInt16 nInType ) { m_nDlgType = nInType; }
608+
void SetPos( sal_Int32* pInPos ) { m_nPos = pInPos; }
609+
void SetAreaTP( bool* pIn ) { m_pbAreaTP = pIn; }
610+
void SetBmpChgd( ChangeType* pIn ) { m_pnBitmapListState = pIn; }
611+
};
612+
613+
/************************************************************************/
614+
556615
class SvxPatternTabPage : public SvxTabPage
557616
{
558617
using TabPage::ActivatePage;

cui/source/tabpages/tabarea.cxx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ SvxAreaTabDialog::SvxAreaTabDialog
9292
m_nColorTabPage = AddTabPage( "RID_SVXPAGE_COLOR", SvxColorTabPage::Create, nullptr );
9393
m_nGradientTabPage = AddTabPage( "RID_SVXPAGE_GRADIENT", SvxGradientTabPage::Create, nullptr );
9494
m_nHatchTabPage = AddTabPage( "RID_SVXPAGE_HATCH", SvxHatchTabPage::Create, nullptr );
95+
m_nBitmapTabPage = AddTabPage( "RID_SVXPAGE_BITMAP", SvxBitmapTabPage::Create, nullptr );
9596
m_nPatternTabPage = AddTabPage( "RID_SVXPAGE_PATTERN", SvxPatternTabPage::Create, nullptr);
9697

9798
SetCurPageId( "RID_SVXPAGE_AREA" );
@@ -309,6 +310,16 @@ void SvxAreaTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
309310
static_cast<SvxHatchTabPage&>(rPage).SetColorChgd( &mnColorListState );
310311
static_cast<SvxHatchTabPage&>(rPage).Construct();
311312
}
313+
else if (nId == m_nBitmapTabPage )
314+
{
315+
static_cast<SvxBitmapTabPage&>(rPage).SetBitmapList( mpBitmapList );
316+
static_cast<SvxBitmapTabPage&>(rPage).SetPageType( &mnPageType );
317+
static_cast<SvxBitmapTabPage&>(rPage).SetDlgType( 0 );
318+
static_cast<SvxBitmapTabPage&>(rPage).SetPos( &mnPos );
319+
static_cast<SvxBitmapTabPage&>(rPage).SetAreaTP( &mbAreaTP );
320+
static_cast<SvxBitmapTabPage&>(rPage).SetBmpChgd( &mnBitmapListState );
321+
static_cast<SvxBitmapTabPage&>(rPage).Construct();
322+
}
312323
else if (nId == m_nPatternTabPage)
313324
{
314325
static_cast<SvxPatternTabPage&>(rPage).SetColorList( mpColorList );

0 commit comments

Comments
 (0)