diff options
Diffstat (limited to 'svx/source/sidebar/text/TextUnderlineControl.cxx')
-rw-r--r-- | svx/source/sidebar/text/TextUnderlineControl.cxx | 178 |
1 files changed, 95 insertions, 83 deletions
diff --git a/svx/source/sidebar/text/TextUnderlineControl.cxx b/svx/source/sidebar/text/TextUnderlineControl.cxx index 61f94f8b48a0..a0eae0efb4b2 100644 --- a/svx/source/sidebar/text/TextUnderlineControl.cxx +++ b/svx/source/sidebar/text/TextUnderlineControl.cxx @@ -35,8 +35,8 @@ TextUnderlineControl::TextUnderlineControl ( : svx::sidebar::PopupControl( pParent,SVX_RES(RID_POPUPPANEL_TEXTPAGE_UNDERLINE)) , mrTextPropertyPanel(rPanel) , mpBindings(pBindings) -, maVSUnderline( this, SVX_RES(VS_UNDERLINE)) -, maPBOptions (this, SVX_RES(PB_OPTIONS) ) +, maVSUnderline(VclPtr<ValueSet>::Create(this, SVX_RES(VS_UNDERLINE))) +, maPBOptions (VclPtr<PushButton>::Create(this, SVX_RES(PB_OPTIONS))) , maIMGSingle (SVX_RES(IMG_SINGLE)) , maIMGDouble (SVX_RES(IMG_DOUBLE)) @@ -65,138 +65,150 @@ TextUnderlineControl::TextUnderlineControl ( FreeResource(); } +TextUnderlineControl::~TextUnderlineControl() +{ + disposeOnce(); +} + +void TextUnderlineControl::dispose() +{ + maVSUnderline.disposeAndClear(); + maPBOptions.disposeAndClear(); + svx::sidebar::PopupControl::dispose(); +} + void TextUnderlineControl::initial() { - maVSUnderline.SetColor(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): + maVSUnderline->SetColor(GetSettings().GetStyleSettings().GetHighContrastMode() ? + GetSettings().GetStyleSettings().GetMenuColor() : sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); - maVSUnderline.SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): + maVSUnderline->SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode() ? + GetSettings().GetStyleSettings().GetMenuColor() : sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ; - maPBOptions.SetClickHdl(aLink); + maPBOptions->SetClickHdl(aLink); - maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); + maVSUnderline->SetStyle( maVSUnderline->GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); // 'none' item - maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_NONEFIELD | WB_MENUSTYLEVALUESET ); - maVSUnderline.SetText( SVX_RESSTR(STR_WITHOUT) ); + maVSUnderline->SetStyle( maVSUnderline->GetStyle()| WB_NONEFIELD | WB_MENUSTYLEVALUESET ); + maVSUnderline->SetText( SVX_RESSTR(STR_WITHOUT) ); - maVSUnderline.InsertItem(1, maIMGSingle, SVX_RESSTR(STR_SINGLE)); - maVSUnderline.SetItemData(1, reinterpret_cast<void*>(UNDERLINE_SINGLE)); + maVSUnderline->InsertItem(1, maIMGSingle, SVX_RESSTR(STR_SINGLE)); + maVSUnderline->SetItemData(1, reinterpret_cast<void*>(UNDERLINE_SINGLE)); - maVSUnderline.InsertItem(2, maIMGDouble, SVX_RESSTR(STR_DOUBLE)); - maVSUnderline.SetItemData(2, reinterpret_cast<void*>(UNDERLINE_DOUBLE)); + maVSUnderline->InsertItem(2, maIMGDouble, SVX_RESSTR(STR_DOUBLE)); + maVSUnderline->SetItemData(2, reinterpret_cast<void*>(UNDERLINE_DOUBLE)); - maVSUnderline.InsertItem(3, maIMGBold, SVX_RESSTR(STR_BOLD)); - maVSUnderline.SetItemData(3, reinterpret_cast<void*>(UNDERLINE_BOLD)); + maVSUnderline->InsertItem(3, maIMGBold, SVX_RESSTR(STR_BOLD)); + maVSUnderline->SetItemData(3, reinterpret_cast<void*>(UNDERLINE_BOLD)); - maVSUnderline.InsertItem(4, maIMGDot, SVX_RESSTR(STR_DOT)); - maVSUnderline.SetItemData(4, reinterpret_cast<void*>(UNDERLINE_DOTTED)); + maVSUnderline->InsertItem(4, maIMGDot, SVX_RESSTR(STR_DOT)); + maVSUnderline->SetItemData(4, reinterpret_cast<void*>(UNDERLINE_DOTTED)); - maVSUnderline.InsertItem(5, maIMGDotBold, SVX_RESSTR(STR_DOT_BOLD)); - maVSUnderline.SetItemData(5, reinterpret_cast<void*>(UNDERLINE_BOLDDOTTED)); + maVSUnderline->InsertItem(5, maIMGDotBold, SVX_RESSTR(STR_DOT_BOLD)); + maVSUnderline->SetItemData(5, reinterpret_cast<void*>(UNDERLINE_BOLDDOTTED)); - maVSUnderline.InsertItem(6, maIMGDash, SVX_RESSTR(STR_DASH)); - maVSUnderline.SetItemData(6, reinterpret_cast<void*>(UNDERLINE_DASH)); + maVSUnderline->InsertItem(6, maIMGDash, SVX_RESSTR(STR_DASH)); + maVSUnderline->SetItemData(6, reinterpret_cast<void*>(UNDERLINE_DASH)); - maVSUnderline.InsertItem(7, maIMGDashLong, SVX_RESSTR(STR_DASH_LONG)); - maVSUnderline.SetItemData(7, reinterpret_cast<void*>(UNDERLINE_LONGDASH)); + maVSUnderline->InsertItem(7, maIMGDashLong, SVX_RESSTR(STR_DASH_LONG)); + maVSUnderline->SetItemData(7, reinterpret_cast<void*>(UNDERLINE_LONGDASH)); - maVSUnderline.InsertItem(8, maIMGDashDot, SVX_RESSTR(STR_DASH_DOT)); - maVSUnderline.SetItemData(8, reinterpret_cast<void*>(UNDERLINE_DASHDOT)); + maVSUnderline->InsertItem(8, maIMGDashDot, SVX_RESSTR(STR_DASH_DOT)); + maVSUnderline->SetItemData(8, reinterpret_cast<void*>(UNDERLINE_DASHDOT)); - maVSUnderline.InsertItem(9, maIMGDashDotDot, SVX_RESSTR(STR_DASH_DOT_DOT)); - maVSUnderline.SetItemData(9, reinterpret_cast<void*>(UNDERLINE_DASHDOTDOT)); + maVSUnderline->InsertItem(9, maIMGDashDotDot, SVX_RESSTR(STR_DASH_DOT_DOT)); + maVSUnderline->SetItemData(9, reinterpret_cast<void*>(UNDERLINE_DASHDOTDOT)); - maVSUnderline.InsertItem(10, maIMGWave, SVX_RESSTR(STR_WAVE)); - maVSUnderline.SetItemData(10, reinterpret_cast<void*>(UNDERLINE_WAVE)); + maVSUnderline->InsertItem(10, maIMGWave, SVX_RESSTR(STR_WAVE)); + maVSUnderline->SetItemData(10, reinterpret_cast<void*>(UNDERLINE_WAVE)); - maVSUnderline.SetColCount( 1 ); + maVSUnderline->SetColCount( 1 ); aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ; - maVSUnderline.SetSelectHdl(aLink); + maVSUnderline->SetSelectHdl(aLink); - maVSUnderline.StartSelection(); - maVSUnderline.Show(); + maVSUnderline->StartSelection(); + maVSUnderline->Show(); } void TextUnderlineControl::Rearrange(FontUnderline eLine) { - maVSUnderline.SetItemImage(1, maIMGSingle); - maVSUnderline.SetItemImage(2, maIMGDouble ); - maVSUnderline.SetItemImage(3, maIMGBold); - maVSUnderline.SetItemImage(4, maIMGDot); - maVSUnderline.SetItemImage(5, maIMGDotBold); - maVSUnderline.SetItemImage(6, maIMGDash); - maVSUnderline.SetItemImage(7, maIMGDashLong); - maVSUnderline.SetItemImage(8, maIMGDashDot); - maVSUnderline.SetItemImage(9, maIMGDashDotDot); - maVSUnderline.SetItemImage(10, maIMGWave); + maVSUnderline->SetItemImage(1, maIMGSingle); + maVSUnderline->SetItemImage(2, maIMGDouble ); + maVSUnderline->SetItemImage(3, maIMGBold); + maVSUnderline->SetItemImage(4, maIMGDot); + maVSUnderline->SetItemImage(5, maIMGDotBold); + maVSUnderline->SetItemImage(6, maIMGDash); + maVSUnderline->SetItemImage(7, maIMGDashLong); + maVSUnderline->SetItemImage(8, maIMGDashDot); + maVSUnderline->SetItemImage(9, maIMGDashDotDot); + maVSUnderline->SetItemImage(10, maIMGWave); switch(eLine) { case UNDERLINE_SINGLE: - maVSUnderline.SetItemImage(1, maIMGSingleSel); - maVSUnderline.SelectItem(1); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(1, maIMGSingleSel); + maVSUnderline->SelectItem(1); + maVSUnderline->GrabFocus(); break; case UNDERLINE_DOUBLE: - maVSUnderline.SetItemImage(2, maIMGDoubleSel); - maVSUnderline.SelectItem(2); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(2, maIMGDoubleSel); + maVSUnderline->SelectItem(2); + maVSUnderline->GrabFocus(); break; case UNDERLINE_BOLD: - maVSUnderline.SetItemImage(3, maIMGBoldSel); - maVSUnderline.SelectItem(3); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(3, maIMGBoldSel); + maVSUnderline->SelectItem(3); + maVSUnderline->GrabFocus(); break; case UNDERLINE_DOTTED: - maVSUnderline.SetItemImage(4, maIMGDotSel); - maVSUnderline.SelectItem(4); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(4, maIMGDotSel); + maVSUnderline->SelectItem(4); + maVSUnderline->GrabFocus(); break; case UNDERLINE_BOLDDOTTED: - maVSUnderline.SetItemImage(5, maIMGDotBoldSel); - maVSUnderline.SelectItem(5); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(5, maIMGDotBoldSel); + maVSUnderline->SelectItem(5); + maVSUnderline->GrabFocus(); break; case UNDERLINE_DASH: - maVSUnderline.SetItemImage(6, maIMGDashSel); - maVSUnderline.SelectItem(6); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(6, maIMGDashSel); + maVSUnderline->SelectItem(6); + maVSUnderline->GrabFocus(); break; case UNDERLINE_LONGDASH: - maVSUnderline.SetItemImage(7, maIMGDashLongSel); - maVSUnderline.SelectItem(7); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(7, maIMGDashLongSel); + maVSUnderline->SelectItem(7); + maVSUnderline->GrabFocus(); break; case UNDERLINE_DASHDOT: - maVSUnderline.SetItemImage(8, maIMGDashDotSel); - maVSUnderline.SelectItem(8); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(8, maIMGDashDotSel); + maVSUnderline->SelectItem(8); + maVSUnderline->GrabFocus(); break; case UNDERLINE_DASHDOTDOT: - maVSUnderline.SetItemImage(9, maIMGDashDotDotSel); - maVSUnderline.SelectItem(9); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(9, maIMGDashDotDotSel); + maVSUnderline->SelectItem(9); + maVSUnderline->GrabFocus(); break; case UNDERLINE_WAVE: - maVSUnderline.SetItemImage(10, maIMGWaveSel); - maVSUnderline.SelectItem(10); - maVSUnderline.GrabFocus(); + maVSUnderline->SetItemImage(10, maIMGWaveSel); + maVSUnderline->SelectItem(10); + maVSUnderline->GrabFocus(); break; case UNDERLINE_NONE: - maVSUnderline.SelectItem(0); - maVSUnderline.GrabFocus(); + maVSUnderline->SelectItem(0); + maVSUnderline->GrabFocus(); break; default: - maVSUnderline.SelectItem(1); - maVSUnderline.SetNoSelection(); - maPBOptions.GrabFocus(); + maVSUnderline->SelectItem(1); + maVSUnderline->SetNoSelection(); + maPBOptions->GrabFocus(); } - maVSUnderline.StartSelection(); + maVSUnderline->StartSelection(); } @@ -204,10 +216,10 @@ IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl) { if ( pControl == &maVSUnderline ) { - const sal_uInt16 iPos = maVSUnderline.GetSelectItemId(); + const sal_uInt16 iPos = maVSUnderline->GetSelectItemId(); const FontUnderline eUnderline = ( iPos == 0 ) ? UNDERLINE_NONE - : static_cast<FontUnderline>(reinterpret_cast<sal_uInt64>(maVSUnderline.GetItemData( iPos ))); + : static_cast<FontUnderline>(reinterpret_cast<sal_uInt64>(maVSUnderline->GetItemData( iPos ))); SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE); @@ -220,7 +232,7 @@ IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl) IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn) { - if(pPBtn == &maPBOptions) + if(pPBtn == maPBOptions.get()) { if (mpBindings) { |