summaryrefslogtreecommitdiff
path: root/svx/source/sidebar/text/TextUnderlineControl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sidebar/text/TextUnderlineControl.cxx')
-rw-r--r--svx/source/sidebar/text/TextUnderlineControl.cxx178
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)
{