TextUnderlineControl.cxx (900fdb6d) | TextUnderlineControl.cxx (a3586bee) |
---|---|
1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance --- 71 unchanged lines hidden (view full) --- 80 81{ 82 initial(); 83 FreeResource(); 84} 85 86void TextUnderlineControl::initial() 87{ | 1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance --- 71 unchanged lines hidden (view full) --- 80 81{ 82 initial(); 83 FreeResource(); 84} 85 86void TextUnderlineControl::initial() 87{ |
88 maVSUnderline.SetColor(GetSettings().GetStyleSettings().GetHighContrastMode()? 89 GetSettings().GetStyleSettings().GetMenuColor(): 90 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); 91 maVSUnderline.SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? 92 GetSettings().GetStyleSettings().GetMenuColor(): 93 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); | 88 maVSUnderline.SetColor(GetSettings().GetStyleSettings().GetHighContrastMode()? 89 GetSettings().GetStyleSettings().GetMenuColor(): 90 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); 91 maVSUnderline.SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? 92 GetSettings().GetStyleSettings().GetMenuColor(): 93 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); |
94 | 94 |
95 Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ; 96 maPBOptions.SetClickHdl(aLink); | 95 Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ; 96 maPBOptions.SetClickHdl(aLink); |
97 | 97 |
98 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); | 98 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); |
99 | 99 |
100 maVSUnderline.InsertItem(1, maIMGSingle ,String(SVX_RES(STR_SINGLE))); 101 maVSUnderline.SetItemData(1, (void*)(sal_uInt64)UNDERLINE_SINGLE); | 100 // 'none' item 101 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_NONEFIELD | WB_MENUSTYLEVALUESET ); 102 maVSUnderline.SetText( String(SVX_RES(STR_WITHOUT) ) ); |
102 | 103 |
103 maVSUnderline.InsertItem(2, maIMGDouble ,String(SVX_RES(STR_DOUBLE))); 104 maVSUnderline.SetItemData(2, (void*)(sal_uInt64)UNDERLINE_DOUBLE); | 104 maVSUnderline.InsertItem(1, maIMGSingle ,String(SVX_RES(STR_SINGLE))); 105 maVSUnderline.SetItemData(1, (void*)(sal_uInt64)UNDERLINE_SINGLE); |
105 | 106 |
106 maVSUnderline.InsertItem(3, maIMGBold, String(SVX_RES(STR_BOLD))); 107 maVSUnderline.SetItemData(3,(void*)(sal_uInt64)UNDERLINE_BOLD); | 107 maVSUnderline.InsertItem(2, maIMGDouble ,String(SVX_RES(STR_DOUBLE))); 108 maVSUnderline.SetItemData(2, (void*)(sal_uInt64)UNDERLINE_DOUBLE); |
108 | 109 |
109 maVSUnderline.InsertItem(4, maIMGDot, String(SVX_RES(STR_DOT))); 110 maVSUnderline.SetItemData(4,(void*)(sal_uInt64)UNDERLINE_DOTTED); | 110 maVSUnderline.InsertItem(3, maIMGBold, String(SVX_RES(STR_BOLD))); 111 maVSUnderline.SetItemData(3,(void*)(sal_uInt64)UNDERLINE_BOLD); |
111 | 112 |
112 maVSUnderline.InsertItem(5, maIMGDotBold, String(SVX_RES(STR_DOT_BOLD))); 113 maVSUnderline.SetItemData(5,(void*)(sal_uInt64)UNDERLINE_BOLDDOTTED); | 113 maVSUnderline.InsertItem(4, maIMGDot, String(SVX_RES(STR_DOT))); 114 maVSUnderline.SetItemData(4,(void*)(sal_uInt64)UNDERLINE_DOTTED); |
114 | 115 |
115 maVSUnderline.InsertItem(6, maIMGDash, String(SVX_RES(STR_DASH))); 116 maVSUnderline.SetItemData(6,(void*)(sal_uInt64)UNDERLINE_DASH); | 116 maVSUnderline.InsertItem(5, maIMGDotBold, String(SVX_RES(STR_DOT_BOLD))); 117 maVSUnderline.SetItemData(5,(void*)(sal_uInt64)UNDERLINE_BOLDDOTTED); |
117 | 118 |
118 maVSUnderline.InsertItem(7, maIMGDashLong,String(SVX_RES(STR_DASH_LONG))); 119 maVSUnderline.SetItemData(7,(void*)(sal_uInt64)UNDERLINE_LONGDASH); | 119 maVSUnderline.InsertItem(6, maIMGDash, String(SVX_RES(STR_DASH))); 120 maVSUnderline.SetItemData(6,(void*)(sal_uInt64)UNDERLINE_DASH); |
120 | 121 |
121 maVSUnderline.InsertItem(8, maIMGDashDot, String(SVX_RES(STR_DASH_DOT))); 122 maVSUnderline.SetItemData(8,(void*)(sal_uInt64)UNDERLINE_DASHDOT); | 122 maVSUnderline.InsertItem(7, maIMGDashLong,String(SVX_RES(STR_DASH_LONG))); 123 maVSUnderline.SetItemData(7,(void*)(sal_uInt64)UNDERLINE_LONGDASH); |
123 | 124 |
124 maVSUnderline.InsertItem(9, maIMGDashDotDot, String(SVX_RES(STR_DASH_DOT_DOT))); 125 maVSUnderline.SetItemData(9,(void*)(sal_uInt64)UNDERLINE_DASHDOTDOT); | 125 maVSUnderline.InsertItem(8, maIMGDashDot, String(SVX_RES(STR_DASH_DOT))); 126 maVSUnderline.SetItemData(8,(void*)(sal_uInt64)UNDERLINE_DASHDOT); |
126 | 127 |
127 maVSUnderline.InsertItem(10, maIMGWave, String(SVX_RES(STR_WAVE))); 128 maVSUnderline.SetItemData(10,(void*)(sal_uInt64)UNDERLINE_WAVE); | 128 maVSUnderline.InsertItem(9, maIMGDashDotDot, String(SVX_RES(STR_DASH_DOT_DOT))); 129 maVSUnderline.SetItemData(9,(void*)(sal_uInt64)UNDERLINE_DASHDOTDOT); |
129 | 130 |
130 maVSUnderline.SetColCount( 1 ); 131 aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ; | 131 maVSUnderline.InsertItem(10, maIMGWave, String(SVX_RES(STR_WAVE))); 132 maVSUnderline.SetItemData(10,(void*)(sal_uInt64)UNDERLINE_WAVE); 133 134 maVSUnderline.SetColCount( 1 ); 135 aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ; |
132 maVSUnderline.SetSelectHdl(aLink); 133 | 136 maVSUnderline.SetSelectHdl(aLink); 137 |
134 maVSUnderline.StartSelection(); 135 maVSUnderline.Show(); | 138 maVSUnderline.StartSelection(); 139 maVSUnderline.Show(); |
136} 137 138 139void TextUnderlineControl::Rearrange(FontUnderline eLine) 140{ 141 // high contrast 142 maVSUnderline.SetItemImage(1, GetDisplayBackground().GetColor().IsDark()? maIMGSingleH :maIMGSingle); 143 maVSUnderline.SetItemImage(2, GetDisplayBackground().GetColor().IsDark()? maIMGDoubleH : maIMGDouble ); 144 maVSUnderline.SetItemImage(3, GetDisplayBackground().GetColor().IsDark()? maIMGBoldH : maIMGBold); 145 maVSUnderline.SetItemImage(4, GetDisplayBackground().GetColor().IsDark()? maIMGDotH : maIMGDot); 146 maVSUnderline.SetItemImage(5, GetDisplayBackground().GetColor().IsDark()? maIMGDotBoldH :maIMGDotBold); 147 maVSUnderline.SetItemImage(6, GetDisplayBackground().GetColor().IsDark()? maIMGDashH :maIMGDash); 148 maVSUnderline.SetItemImage(7, GetDisplayBackground().GetColor().IsDark()? maIMGDashLongH : maIMGDashLong); 149 maVSUnderline.SetItemImage(8, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotH : maIMGDashDot); 150 maVSUnderline.SetItemImage(9, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotDotH : maIMGDashDotDot); 151 maVSUnderline.SetItemImage(10, GetDisplayBackground().GetColor().IsDark()? maIMGWaveH : maIMGWave); 152 | 140} 141 142 143void TextUnderlineControl::Rearrange(FontUnderline eLine) 144{ 145 // high contrast 146 maVSUnderline.SetItemImage(1, GetDisplayBackground().GetColor().IsDark()? maIMGSingleH :maIMGSingle); 147 maVSUnderline.SetItemImage(2, GetDisplayBackground().GetColor().IsDark()? maIMGDoubleH : maIMGDouble ); 148 maVSUnderline.SetItemImage(3, GetDisplayBackground().GetColor().IsDark()? maIMGBoldH : maIMGBold); 149 maVSUnderline.SetItemImage(4, GetDisplayBackground().GetColor().IsDark()? maIMGDotH : maIMGDot); 150 maVSUnderline.SetItemImage(5, GetDisplayBackground().GetColor().IsDark()? maIMGDotBoldH :maIMGDotBold); 151 maVSUnderline.SetItemImage(6, GetDisplayBackground().GetColor().IsDark()? maIMGDashH :maIMGDash); 152 maVSUnderline.SetItemImage(7, GetDisplayBackground().GetColor().IsDark()? maIMGDashLongH : maIMGDashLong); 153 maVSUnderline.SetItemImage(8, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotH : maIMGDashDot); 154 maVSUnderline.SetItemImage(9, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotDotH : maIMGDashDotDot); 155 maVSUnderline.SetItemImage(10, GetDisplayBackground().GetColor().IsDark()? maIMGWaveH : maIMGWave); 156 |
153 switch(eLine) 154 { 155 case UNDERLINE_SINGLE: 156 maVSUnderline.SetItemImage(1, maIMGSingleSel); 157 maVSUnderline.SelectItem(1); 158 maVSUnderline.GrabFocus(); 159 break; 160 case UNDERLINE_DOUBLE: 161 maVSUnderline.SetItemImage(2, maIMGDoubleSel); 162 maVSUnderline.SelectItem(2); 163 maVSUnderline.GrabFocus(); 164 break; 165 case UNDERLINE_BOLD: 166 maVSUnderline.SetItemImage(3, maIMGBoldSel); 167 maVSUnderline.SelectItem(3); 168 maVSUnderline.GrabFocus(); 169 break; 170 case UNDERLINE_DOTTED: 171 maVSUnderline.SetItemImage(4, maIMGDotSel); 172 maVSUnderline.SelectItem(4); 173 maVSUnderline.GrabFocus(); 174 break; 175 case UNDERLINE_BOLDDOTTED: 176 maVSUnderline.SetItemImage(5, maIMGDotBoldSel); 177 maVSUnderline.SelectItem(5); 178 maVSUnderline.GrabFocus(); 179 break; 180 case UNDERLINE_DASH: 181 maVSUnderline.SetItemImage(6, maIMGDashSel); 182 maVSUnderline.SelectItem(6); 183 maVSUnderline.GrabFocus(); 184 break; 185 case UNDERLINE_LONGDASH: 186 maVSUnderline.SetItemImage(7, maIMGDashLongSel); 187 maVSUnderline.SelectItem(7); 188 maVSUnderline.GrabFocus(); 189 break; 190 case UNDERLINE_DASHDOT: 191 maVSUnderline.SetItemImage(8, maIMGDashDotSel); 192 maVSUnderline.SelectItem(8); 193 maVSUnderline.GrabFocus(); 194 break; 195 case UNDERLINE_DASHDOTDOT: 196 maVSUnderline.SetItemImage(9, maIMGDashDotDotSel); 197 maVSUnderline.SelectItem(9); 198 maVSUnderline.GrabFocus(); 199 break; 200 case UNDERLINE_WAVE: 201 maVSUnderline.SetItemImage(10, maIMGWaveSel); 202 maVSUnderline.SelectItem(10); 203 maVSUnderline.GrabFocus(); 204 break; 205 case UNDERLINE_NONE: 206 default: 207 maVSUnderline.SelectItem(1); 208 maVSUnderline.SetNoSelection(); 209 maPBOptions.GrabFocus(); 210 } 211 maVSUnderline.StartSelection(); | 157 switch(eLine) 158 { 159 case UNDERLINE_SINGLE: 160 maVSUnderline.SetItemImage(1, maIMGSingleSel); 161 maVSUnderline.SelectItem(1); 162 maVSUnderline.GrabFocus(); 163 break; 164 case UNDERLINE_DOUBLE: 165 maVSUnderline.SetItemImage(2, maIMGDoubleSel); 166 maVSUnderline.SelectItem(2); 167 maVSUnderline.GrabFocus(); 168 break; 169 case UNDERLINE_BOLD: 170 maVSUnderline.SetItemImage(3, maIMGBoldSel); 171 maVSUnderline.SelectItem(3); 172 maVSUnderline.GrabFocus(); 173 break; 174 case UNDERLINE_DOTTED: 175 maVSUnderline.SetItemImage(4, maIMGDotSel); 176 maVSUnderline.SelectItem(4); 177 maVSUnderline.GrabFocus(); 178 break; 179 case UNDERLINE_BOLDDOTTED: 180 maVSUnderline.SetItemImage(5, maIMGDotBoldSel); 181 maVSUnderline.SelectItem(5); 182 maVSUnderline.GrabFocus(); 183 break; 184 case UNDERLINE_DASH: 185 maVSUnderline.SetItemImage(6, maIMGDashSel); 186 maVSUnderline.SelectItem(6); 187 maVSUnderline.GrabFocus(); 188 break; 189 case UNDERLINE_LONGDASH: 190 maVSUnderline.SetItemImage(7, maIMGDashLongSel); 191 maVSUnderline.SelectItem(7); 192 maVSUnderline.GrabFocus(); 193 break; 194 case UNDERLINE_DASHDOT: 195 maVSUnderline.SetItemImage(8, maIMGDashDotSel); 196 maVSUnderline.SelectItem(8); 197 maVSUnderline.GrabFocus(); 198 break; 199 case UNDERLINE_DASHDOTDOT: 200 maVSUnderline.SetItemImage(9, maIMGDashDotDotSel); 201 maVSUnderline.SelectItem(9); 202 maVSUnderline.GrabFocus(); 203 break; 204 case UNDERLINE_WAVE: 205 maVSUnderline.SetItemImage(10, maIMGWaveSel); 206 maVSUnderline.SelectItem(10); 207 maVSUnderline.GrabFocus(); 208 break; 209 case UNDERLINE_NONE: 210 maVSUnderline.SelectItem(0); 211 maVSUnderline.GrabFocus(); 212 break; 213 default: 214 maVSUnderline.SelectItem(1); 215 maVSUnderline.SetNoSelection(); 216 maPBOptions.GrabFocus(); 217 } 218 maVSUnderline.StartSelection(); |
212} 213 214 215IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl) 216{ | 219} 220 221 222IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl) 223{ |
217 if(pControl == &maVSUnderline) 218 { 219 sal_uInt16 iPos = maVSUnderline.GetSelectItemId(); 220 FontUnderline eUnderline = (FontUnderline)(sal_uInt64)maVSUnderline.GetItemData( iPos ); | 224 if ( pControl == &maVSUnderline ) 225 { 226 const sal_uInt16 iPos = maVSUnderline.GetSelectItemId(); 227 const FontUnderline eUnderline = ( iPos == 0 ) 228 ? UNDERLINE_NONE 229 : (FontUnderline)(sal_uInt64)maVSUnderline.GetItemData( iPos ); |
221 | 230 |
222 SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE); | 231 SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE); |
223 | 232 |
224 aLineItem.SetColor(mrTextPropertyPanel.GetUnderlineColor()); 225 mpBindings->GetDispatcher()->Execute(SID_ATTR_CHAR_UNDERLINE, SFX_CALLMODE_RECORD, &aLineItem, 0L); | 233 aLineItem.SetColor(mrTextPropertyPanel.GetUnderlineColor()); 234 mpBindings->GetDispatcher()->Execute(SID_ATTR_CHAR_UNDERLINE, SFX_CALLMODE_RECORD, &aLineItem, 0L); |
226 | 235 |
227 mrTextPropertyPanel.SetUnderline(eUnderline); | 236 mrTextPropertyPanel.SetUnderline(eUnderline); |
228 | 237 |
229 mrTextPropertyPanel.EndUnderlinePopupMode(); 230 } 231 return( 0L ); | 238 mrTextPropertyPanel.EndUnderlinePopupMode(); 239 } 240 return( 0L ); |
232} 233 234IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn) 235{ 236 if(pPBtn == &maPBOptions) 237 { 238 if (mpBindings) 239 { 240 SfxDispatcher* pDisp = mpBindings->GetDispatcher(); 241 pDisp->Execute( SID_CHAR_DLG_EFFECT, SFX_CALLMODE_ASYNCHRON ); 242 } 243 mrTextPropertyPanel.EndUnderlinePopupMode(); 244 } 245 return 0; 246} 247 248}} | 241} 242 243IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn) 244{ 245 if(pPBtn == &maPBOptions) 246 { 247 if (mpBindings) 248 { 249 SfxDispatcher* pDisp = mpBindings->GetDispatcher(); 250 pDisp->Execute( SID_CHAR_DLG_EFFECT, SFX_CALLMODE_ASYNCHRON ); 251 } 252 mrTextPropertyPanel.EndUnderlinePopupMode(); 253 } 254 return 0; 255} 256 257}} |