xref: /aoo42x/main/sd/source/ui/app/tbxww.cxx (revision 79aad27f)
1*5b190011SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*5b190011SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*5b190011SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*5b190011SAndrew Rist  * distributed with this work for additional information
6*5b190011SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*5b190011SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*5b190011SAndrew Rist  * "License"); you may not use this file except in compliance
9*5b190011SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*5b190011SAndrew Rist  *
11*5b190011SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*5b190011SAndrew Rist  *
13*5b190011SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*5b190011SAndrew Rist  * software distributed under the License is distributed on an
15*5b190011SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*5b190011SAndrew Rist  * KIND, either express or implied.  See the License for the
17*5b190011SAndrew Rist  * specific language governing permissions and limitations
18*5b190011SAndrew Rist  * under the License.
19*5b190011SAndrew Rist  *
20*5b190011SAndrew Rist  *************************************************************/
21*5b190011SAndrew Rist 
22*5b190011SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_sd.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir 
28cdf0e10cSrcweir #include <sfx2/bindings.hxx>
29cdf0e10cSrcweir #include <svx/svxids.hrc>
30cdf0e10cSrcweir #include <svx/grafctrl.hxx>
31cdf0e10cSrcweir #include <svl/cjkoptions.hxx>
32cdf0e10cSrcweir #include <sfx2/viewsh.hxx>
33cdf0e10cSrcweir #ifndef _SFX_IMAGEMGR_HXX
34cdf0e10cSrcweir #include <sfx2/imagemgr.hxx>
35cdf0e10cSrcweir #endif
36cdf0e10cSrcweir #include <rtl/ustring.hxx>
37cdf0e10cSrcweir #include <rtl/ustrbuf.hxx>
38cdf0e10cSrcweir 
39cdf0e10cSrcweir #include "sddll.hxx"
40cdf0e10cSrcweir #include "GraphicDocShell.hxx"
41cdf0e10cSrcweir 
42cdf0e10cSrcweir #include <vcl/toolbox.hxx>
43cdf0e10cSrcweir 
44cdf0e10cSrcweir #include "app.hxx"
45cdf0e10cSrcweir #include "app.hrc"
46cdf0e10cSrcweir #include "res_bmp.hrc"
47cdf0e10cSrcweir #include "sdresid.hxx"
48cdf0e10cSrcweir #include "tbx_ww.hxx"
49cdf0e10cSrcweir #include "tbx_ww.hrc"
50cdf0e10cSrcweir 
SFX_IMPL_TOOLBOX_CONTROL(SdTbxControl,TbxImageItem)51cdf0e10cSrcweir SFX_IMPL_TOOLBOX_CONTROL( SdTbxControl, TbxImageItem )
52cdf0e10cSrcweir 
53cdf0e10cSrcweir /*************************************************************************
54cdf0e10cSrcweir |*
55cdf0e10cSrcweir |* PopUp-Window
56cdf0e10cSrcweir |*
57cdf0e10cSrcweir \************************************************************************/
58cdf0e10cSrcweir /*
59cdf0e10cSrcweir SdPopupWindowTbx::SdPopupWindowTbx( sal_uInt16 nId, WindowAlign eAlign,
60cdf0e10cSrcweir                                     SdResId aRIdWin, SdResId aRIdTbx,
61cdf0e10cSrcweir 									SfxBindings& rBindings ) :
62cdf0e10cSrcweir 				SfxPopupWindow	( nId, aRIdWin, rBindings ),
63cdf0e10cSrcweir                 aTbx            ( this, GetBindings(), aRIdTbx ),
64cdf0e10cSrcweir                 aSdResIdWin       ( aRIdWin ),
65cdf0e10cSrcweir                 aSdResIdTbx       ( aRIdTbx ),
66cdf0e10cSrcweir 				eTbxAlign		( eAlign )
67cdf0e10cSrcweir {
68cdf0e10cSrcweir 	aTbx.UseDefault();
69cdf0e10cSrcweir 	aSelectLink = aTbx.GetToolBox().GetSelectHdl();
70cdf0e10cSrcweir 	aTbx.GetToolBox().SetSelectHdl( LINK( this, SdPopupWindowTbx, TbxSelectHdl ) );
71cdf0e10cSrcweir 
72cdf0e10cSrcweir 	FreeResource();
73cdf0e10cSrcweir 
74cdf0e10cSrcweir 	if( ( eAlign == WINDOWALIGN_TOP ) || ( eAlign == WINDOWALIGN_BOTTOM ) )
75cdf0e10cSrcweir 	{
76cdf0e10cSrcweir         if ( aSdResIdWin.GetId() != RID_TEXT )
77cdf0e10cSrcweir 	        aTbx.GetToolBox().SetAlign( WINDOWALIGN_LEFT );
78cdf0e10cSrcweir 
79cdf0e10cSrcweir         SetText( String() );
80cdf0e10cSrcweir 	}
81cdf0e10cSrcweir 
82cdf0e10cSrcweir     AdaptToCTL();
83cdf0e10cSrcweir }
84cdf0e10cSrcweir 
85cdf0e10cSrcweir 
86cdf0e10cSrcweir void SdPopupWindowTbx::AdaptToCTL (void)
87cdf0e10cSrcweir {
88cdf0e10cSrcweir 	Size aSize = aTbx.CalcWindowSizePixel();
89cdf0e10cSrcweir 	if (aSdResIdWin.GetId() == RID_TEXT)
90cdf0e10cSrcweir 	{
91cdf0e10cSrcweir         SvtCJKOptions aCJKOptions;
92cdf0e10cSrcweir         if ( ! aCJKOptions.IsVerticalTextEnabled())
93cdf0e10cSrcweir         {
94cdf0e10cSrcweir             ToolBox& aToolBox = aTbx.GetToolBox();
95cdf0e10cSrcweir 
96cdf0e10cSrcweir             // Iterate over all tool box items and remove those that are
97cdf0e10cSrcweir             // specific to complex text layout.
98cdf0e10cSrcweir             sal_uInt16 i=0;
99cdf0e10cSrcweir             while (i < aToolBox.GetItemCount())
100cdf0e10cSrcweir             {
101cdf0e10cSrcweir                 sal_uInt16 nIndex = aToolBox.GetItemId(i);
102cdf0e10cSrcweir                 switch (nIndex)
103cdf0e10cSrcweir                 {
104cdf0e10cSrcweir                     case 0: // Line break.
105cdf0e10cSrcweir                     case SID_ATTR_CHAR_VERTICAL:
106cdf0e10cSrcweir                     case SID_TEXT_FITTOSIZE_VERTICAL:
107cdf0e10cSrcweir                     case SID_DRAW_CAPTION_VERTICAL:
108cdf0e10cSrcweir 					case SID_DRAW_FONTWORK_VERTICAL:
109cdf0e10cSrcweir                         aToolBox.RemoveItem (i);
110cdf0e10cSrcweir                         break;
111cdf0e10cSrcweir 
112cdf0e10cSrcweir                     default:
113cdf0e10cSrcweir                         // Leave the item unmodified.  Advance to the next one.
114cdf0e10cSrcweir                         i+=1;
115cdf0e10cSrcweir                 }
116cdf0e10cSrcweir             }
117cdf0e10cSrcweir             aToolBox.RecalcItems();
118cdf0e10cSrcweir             // Why is this necessary?
119cdf0e10cSrcweir             aToolBox.SetLineCount(1);
120cdf0e10cSrcweir             sal_uInt16 nLineCount = aToolBox.GetLineCount();
121cdf0e10cSrcweir             aSize = aToolBox.CalcWindowSizePixel(nLineCount);
122cdf0e10cSrcweir         }
123cdf0e10cSrcweir     }
124cdf0e10cSrcweir 	aTbx.SetPosSizePixel( Point(), aSize );
125cdf0e10cSrcweir 	SetOutputSizePixel( aSize );
126cdf0e10cSrcweir }
127cdf0e10cSrcweir */
128cdf0e10cSrcweir 
129cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
130cdf0e10cSrcweir /*
131cdf0e10cSrcweir SdPopupWindowTbx::~SdPopupWindowTbx()
132cdf0e10cSrcweir {
133cdf0e10cSrcweir }
134cdf0e10cSrcweir */
135cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
136cdf0e10cSrcweir /*
137cdf0e10cSrcweir SfxPopupWindow* SdPopupWindowTbx::Clone() const
138cdf0e10cSrcweir {
139cdf0e10cSrcweir 	SfxBindings& rBindings = (SfxBindings&)GetBindings();
140cdf0e10cSrcweir 
141cdf0e10cSrcweir 	return( new SdPopupWindowTbx( GetId(), eTbxAlign,
142cdf0e10cSrcweir                     aSdResIdWin, aSdResIdTbx, rBindings ) );
143cdf0e10cSrcweir 
144cdf0e10cSrcweir 	//return( SfxPopupWindow::Clone() );
145cdf0e10cSrcweir }
146cdf0e10cSrcweir */
147cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
148cdf0e10cSrcweir /*
149cdf0e10cSrcweir void SdPopupWindowTbx::Update()
150cdf0e10cSrcweir {
151cdf0e10cSrcweir     AdaptToCTL();
152cdf0e10cSrcweir 
153cdf0e10cSrcweir 	ToolBox *pBox = &aTbx.GetToolBox();
154cdf0e10cSrcweir 	aTbx.Activate( pBox );
155cdf0e10cSrcweir 	aTbx.Deactivate( pBox );
156cdf0e10cSrcweir }
157cdf0e10cSrcweir */
158cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
159cdf0e10cSrcweir /*
160cdf0e10cSrcweir void SdPopupWindowTbx::PopupModeEnd()
161cdf0e10cSrcweir {
162cdf0e10cSrcweir 	aTbx.GetToolBox().EndSelection();
163cdf0e10cSrcweir 
164cdf0e10cSrcweir 	SfxPopupWindow::PopupModeEnd();
165cdf0e10cSrcweir }
166cdf0e10cSrcweir */
167cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
168cdf0e10cSrcweir /*
169cdf0e10cSrcweir IMPL_LINK( SdPopupWindowTbx, TbxSelectHdl, ToolBox*, pBox)
170cdf0e10cSrcweir {
171cdf0e10cSrcweir 	if( IsInPopupMode() )
172cdf0e10cSrcweir 		EndPopupMode();
173cdf0e10cSrcweir 
174cdf0e10cSrcweir 	aSelectLink.Call( &aTbx.GetToolBox() );
175cdf0e10cSrcweir 
176cdf0e10cSrcweir 	if ( pBox->GetModifier() & KEY_MOD1 )
177cdf0e10cSrcweir 	{
178cdf0e10cSrcweir 		//	#99013# if selected with control key, return focus to current view
179cdf0e10cSrcweir 		Window* pShellWnd = SfxViewShell::Current()->GetWindow();
180cdf0e10cSrcweir 		if ( pShellWnd )
181cdf0e10cSrcweir 			pShellWnd->GrabFocus();
182cdf0e10cSrcweir 	}
183cdf0e10cSrcweir 
184cdf0e10cSrcweir 	return( 0L );
185cdf0e10cSrcweir }
186cdf0e10cSrcweir */
187cdf0e10cSrcweir /*************************************************************************
188cdf0e10cSrcweir |*
189cdf0e10cSrcweir |* Klasse fuer Toolbox
190cdf0e10cSrcweir |*
191cdf0e10cSrcweir \************************************************************************/
192cdf0e10cSrcweir 
193cdf0e10cSrcweir SdTbxControl::SdTbxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) :
194cdf0e10cSrcweir 		SfxToolBoxControl( nSlotId, nId, rTbx )
195cdf0e10cSrcweir {
196cdf0e10cSrcweir 	rTbx.SetItemBits( nId, TIB_DROPDOWN | rTbx.GetItemBits( nId ) );
197cdf0e10cSrcweir 	rTbx.Invalidate();
198cdf0e10cSrcweir }
199cdf0e10cSrcweir 
200cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
201cdf0e10cSrcweir 
GetPopupWindowType() const202cdf0e10cSrcweir SfxPopupWindowType SdTbxControl::GetPopupWindowType() const
203cdf0e10cSrcweir {
204cdf0e10cSrcweir 	return( SFX_POPUPWINDOW_ONTIMEOUT );
205cdf0e10cSrcweir }
206cdf0e10cSrcweir 
207cdf0e10cSrcweir /*************************************************************************
208cdf0e10cSrcweir |*
209cdf0e10cSrcweir |* Hier wird das Fenster erzeugt
210cdf0e10cSrcweir |* Lage der Toolbox mit GetToolBox() abfragbar
211cdf0e10cSrcweir |* rItemRect sind die Screen-Koordinaten
212cdf0e10cSrcweir |*
213cdf0e10cSrcweir \************************************************************************/
214cdf0e10cSrcweir 
CreatePopupWindow()215cdf0e10cSrcweir SfxPopupWindow*	SdTbxControl::CreatePopupWindow()
216cdf0e10cSrcweir {
217cdf0e10cSrcweir 	SfxPopupWindow *pWin = NULL;
218cdf0e10cSrcweir     rtl::OUString aToolBarResStr;
219cdf0e10cSrcweir     rtl::OUStringBuffer aTbxResName( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/" )));
220cdf0e10cSrcweir 	switch( GetSlotId() )
221cdf0e10cSrcweir 	{
222cdf0e10cSrcweir         case SID_OBJECT_ALIGN:
223cdf0e10cSrcweir             aTbxResName.appendAscii( "alignmentbar" );
224cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
225cdf0e10cSrcweir         break;
226cdf0e10cSrcweir 		case SID_ZOOM_TOOLBOX:
227cdf0e10cSrcweir             aTbxResName.appendAscii( "zoombar" );
228cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
229cdf0e10cSrcweir 		break;
230cdf0e10cSrcweir 		case SID_OBJECT_CHOOSE_MODE:
231cdf0e10cSrcweir             aTbxResName.appendAscii( "choosemodebar" );
232cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
233cdf0e10cSrcweir 		break;
234cdf0e10cSrcweir 		case SID_POSITION:
235cdf0e10cSrcweir             aTbxResName.appendAscii( "positionbar" );
236cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
237cdf0e10cSrcweir 		break;
238cdf0e10cSrcweir 		case SID_DRAWTBX_TEXT:
239cdf0e10cSrcweir             aTbxResName.appendAscii( "textbar" );
240cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
241cdf0e10cSrcweir 		break;
242cdf0e10cSrcweir 		case SID_DRAWTBX_RECTANGLES:
243cdf0e10cSrcweir             aTbxResName.appendAscii( "rectanglesbar" );
244cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
245cdf0e10cSrcweir 		break;
246cdf0e10cSrcweir 		case SID_DRAWTBX_ELLIPSES:
247cdf0e10cSrcweir             aTbxResName.appendAscii( "ellipsesbar" );
248cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
249cdf0e10cSrcweir 		break;
250cdf0e10cSrcweir 		case SID_DRAWTBX_LINES:
251cdf0e10cSrcweir             aTbxResName.appendAscii( "linesbar" );
252cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
253cdf0e10cSrcweir 		break;
254cdf0e10cSrcweir 		case SID_DRAWTBX_ARROWS:
255cdf0e10cSrcweir             aTbxResName.appendAscii( "arrowsbar" );
256cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
257cdf0e10cSrcweir 		break;
258cdf0e10cSrcweir 		case SID_DRAWTBX_3D_OBJECTS:
259cdf0e10cSrcweir             aTbxResName.appendAscii( "3dobjectsbar" );
260cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
261cdf0e10cSrcweir 		break;
262cdf0e10cSrcweir         case SID_DRAWTBX_CONNECTORS:
263cdf0e10cSrcweir             aTbxResName.appendAscii( "connectorsbar" );
264cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
265cdf0e10cSrcweir 		break;
266cdf0e10cSrcweir         case SID_DRAWTBX_INSERT:
267cdf0e10cSrcweir             aTbxResName.appendAscii( "insertbar" );
268cdf0e10cSrcweir             aToolBarResStr = aTbxResName.makeStringAndClear();
269cdf0e10cSrcweir 		break;
270cdf0e10cSrcweir     }
271cdf0e10cSrcweir 
272cdf0e10cSrcweir     if ( aToolBarResStr.getLength() > 0 )
273cdf0e10cSrcweir         createAndPositionSubToolBar( aToolBarResStr );
274cdf0e10cSrcweir 
275cdf0e10cSrcweir 	return( pWin );
276cdf0e10cSrcweir }
277cdf0e10cSrcweir 
278cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
279cdf0e10cSrcweir 
StateChanged(sal_uInt16 nSId,SfxItemState eState,const SfxPoolItem * pState)280cdf0e10cSrcweir void SdTbxControl::StateChanged( sal_uInt16 nSId,
281cdf0e10cSrcweir 						SfxItemState eState, const SfxPoolItem* pState )
282cdf0e10cSrcweir {
283cdf0e10cSrcweir 	SfxToolBoxControl::StateChanged( nSId, eState, pState );
284cdf0e10cSrcweir 
285cdf0e10cSrcweir 	if( eState == SFX_ITEM_AVAILABLE )
286cdf0e10cSrcweir 	{
287cdf0e10cSrcweir 		TbxImageItem* pItem = PTR_CAST( TbxImageItem, pState );
288cdf0e10cSrcweir 		//DBG_ASSERT( pItem, "TbxImageItem erwartet!" );
289cdf0e10cSrcweir 		// Im StarDesktop kann jetzt auch ein anderes Item ankommen,
290cdf0e10cSrcweir 		// das nicht ausgewertet werden darf (#33802# und #33838#)
291cdf0e10cSrcweir 		if( pItem )
292cdf0e10cSrcweir 		{
293cdf0e10cSrcweir 			ToolBox& rTbx = GetToolBox();
294cdf0e10cSrcweir 			sal_uInt16 nImage = pItem->GetValue();
295cdf0e10cSrcweir 			if( nImage == 0 )
296cdf0e10cSrcweir 			{
297cdf0e10cSrcweir 				if( rTbx.IsItemChecked( nSId ) )
298cdf0e10cSrcweir 					rTbx.CheckItem( nSId, sal_False );
299cdf0e10cSrcweir 			}
300cdf0e10cSrcweir 			else
301cdf0e10cSrcweir 			{
302cdf0e10cSrcweir                 rtl::OUString aSlotURL( RTL_CONSTASCII_USTRINGPARAM( "slot:" ));
303cdf0e10cSrcweir                 aSlotURL += rtl::OUString::valueOf( sal_Int32( nImage ));
304cdf0e10cSrcweir                 Image aImage = GetImage( m_xFrame,
305cdf0e10cSrcweir                                          aSlotURL,
306cdf0e10cSrcweir                                          hasBigImages(),
307cdf0e10cSrcweir                                          GetToolBox().GetSettings().GetStyleSettings().GetHighContrastMode() );
308cdf0e10cSrcweir 
309cdf0e10cSrcweir 				// !-Operator prueft, ob Image nicht vorhanden ist
310cdf0e10cSrcweir 				if( !!aImage )
311cdf0e10cSrcweir 				{
312cdf0e10cSrcweir 					rTbx.SetItemImage( GetId(), aImage );
313cdf0e10cSrcweir 					rTbx.CheckItem( GetId(), IsCheckable( nImage ) );
314cdf0e10cSrcweir 
315cdf0e10cSrcweir 					if( nSId != SID_ZOOM_TOOLBOX &&
316cdf0e10cSrcweir 						nSId != SID_DRAWTBX_INSERT &&
317cdf0e10cSrcweir 						nSId != SID_POSITION &&
318cdf0e10cSrcweir 						nSId != SID_OBJECT_ALIGN )
319cdf0e10cSrcweir 					{
320cdf0e10cSrcweir 						if( nSId != SID_OBJECT_CHOOSE_MODE &&
321cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_OBJECT_CHOOSE_MODE ) )
322cdf0e10cSrcweir 							rTbx.CheckItem( SID_OBJECT_CHOOSE_MODE, sal_False );
323cdf0e10cSrcweir 						if( nSId != SID_DRAWTBX_TEXT &&
324cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_DRAWTBX_TEXT ) )
325cdf0e10cSrcweir 			 				rTbx.CheckItem( SID_DRAWTBX_TEXT, sal_False );
326cdf0e10cSrcweir 						if( nSId != SID_DRAWTBX_RECTANGLES &&
327cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_DRAWTBX_RECTANGLES ) )
328cdf0e10cSrcweir 			   				rTbx.CheckItem( SID_DRAWTBX_RECTANGLES, sal_False );
329cdf0e10cSrcweir 						if( nSId != SID_DRAWTBX_ELLIPSES &&
330cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_DRAWTBX_ELLIPSES ) )
331cdf0e10cSrcweir 			   				rTbx.CheckItem( SID_DRAWTBX_ELLIPSES, sal_False );
332cdf0e10cSrcweir 						if( nSId != SID_DRAWTBX_LINES &&
333cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_DRAWTBX_LINES ) )
334cdf0e10cSrcweir 							rTbx.CheckItem( SID_DRAWTBX_LINES, sal_False );
335cdf0e10cSrcweir 						if( nSId != SID_DRAWTBX_ARROWS &&
336cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_DRAWTBX_ARROWS ) )
337cdf0e10cSrcweir 							rTbx.CheckItem( SID_DRAWTBX_ARROWS, sal_False );
338cdf0e10cSrcweir 						if( nSId != SID_DRAWTBX_3D_OBJECTS &&
339cdf0e10cSrcweir 							rTbx.IsItemChecked( SID_DRAWTBX_3D_OBJECTS ) )
340cdf0e10cSrcweir 							rTbx.CheckItem( SID_DRAWTBX_3D_OBJECTS, sal_False );
341cdf0e10cSrcweir                         if( nSId != SID_DRAWTBX_CONNECTORS &&
342cdf0e10cSrcweir                             rTbx.IsItemChecked( SID_DRAWTBX_CONNECTORS ) )
343cdf0e10cSrcweir                             rTbx.CheckItem( SID_DRAWTBX_CONNECTORS, sal_False );
344cdf0e10cSrcweir                     }
345cdf0e10cSrcweir 				}
346cdf0e10cSrcweir 			}
347cdf0e10cSrcweir 		}
348cdf0e10cSrcweir 	}
349cdf0e10cSrcweir }
350cdf0e10cSrcweir 
351cdf0e10cSrcweir /*-------------------------------------------------------------------------*/
352cdf0e10cSrcweir 
IsCheckable(sal_uInt16 nSId)353cdf0e10cSrcweir sal_Bool SdTbxControl::IsCheckable( sal_uInt16 nSId )
354cdf0e10cSrcweir {
355cdf0e10cSrcweir 	switch( nSId )
356cdf0e10cSrcweir 	{
357cdf0e10cSrcweir 		case SID_OBJECT_ROTATE:
358cdf0e10cSrcweir 		case SID_OBJECT_MIRROR:
359cdf0e10cSrcweir 		case SID_OBJECT_CROP:
360cdf0e10cSrcweir 		case SID_OBJECT_TRANSPARENCE:
361cdf0e10cSrcweir 		case SID_OBJECT_GRADIENT:
362cdf0e10cSrcweir 		case SID_OBJECT_SHEAR:
363cdf0e10cSrcweir 		case SID_OBJECT_CROOK_ROTATE:
364cdf0e10cSrcweir 		case SID_OBJECT_CROOK_SLANT:
365cdf0e10cSrcweir 		case SID_OBJECT_CROOK_STRETCH:
366cdf0e10cSrcweir         case SID_CONVERT_TO_3D_LATHE:
367cdf0e10cSrcweir 
368cdf0e10cSrcweir 		case SID_ATTR_CHAR:
369cdf0e10cSrcweir 		case SID_ATTR_CHAR_VERTICAL:
370cdf0e10cSrcweir 		case SID_TEXT_FITTOSIZE:
371cdf0e10cSrcweir 		case SID_TEXT_FITTOSIZE_VERTICAL:
372cdf0e10cSrcweir 		case SID_DRAW_CAPTION:
373cdf0e10cSrcweir 		case SID_DRAW_CAPTION_VERTICAL:
374cdf0e10cSrcweir 		case SID_DRAW_FONTWORK:
375cdf0e10cSrcweir 		case SID_DRAW_FONTWORK_VERTICAL:
376cdf0e10cSrcweir 
377cdf0e10cSrcweir 		case SID_DRAW_RECT:
378cdf0e10cSrcweir 		case SID_DRAW_SQUARE:
379cdf0e10cSrcweir 		case SID_DRAW_RECT_ROUND:
380cdf0e10cSrcweir 		case SID_DRAW_SQUARE_ROUND:
381cdf0e10cSrcweir 		case SID_DRAW_RECT_NOFILL:
382cdf0e10cSrcweir 		case SID_DRAW_SQUARE_NOFILL:
383cdf0e10cSrcweir 		case SID_DRAW_RECT_ROUND_NOFILL:
384cdf0e10cSrcweir 		case SID_DRAW_SQUARE_ROUND_NOFILL:
385cdf0e10cSrcweir 
386cdf0e10cSrcweir 		case SID_DRAW_ELLIPSE:
387cdf0e10cSrcweir 		case SID_DRAW_CIRCLE:
388cdf0e10cSrcweir 		case SID_DRAW_PIE:
389cdf0e10cSrcweir 		case SID_DRAW_CIRCLEPIE:
390cdf0e10cSrcweir 		case SID_DRAW_ELLIPSECUT:
391cdf0e10cSrcweir 		case SID_DRAW_CIRCLECUT:
392cdf0e10cSrcweir 		case SID_DRAW_ARC:
393cdf0e10cSrcweir 		case SID_DRAW_CIRCLEARC:
394cdf0e10cSrcweir 		case SID_DRAW_ELLIPSE_NOFILL:
395cdf0e10cSrcweir 		case SID_DRAW_CIRCLE_NOFILL:
396cdf0e10cSrcweir 		case SID_DRAW_PIE_NOFILL:
397cdf0e10cSrcweir 		case SID_DRAW_CIRCLEPIE_NOFILL:
398cdf0e10cSrcweir 		case SID_DRAW_ELLIPSECUT_NOFILL:
399cdf0e10cSrcweir 		case SID_DRAW_CIRCLECUT_NOFILL:
400cdf0e10cSrcweir 
401cdf0e10cSrcweir         case SID_DRAW_BEZIER_NOFILL:
402cdf0e10cSrcweir 		case SID_DRAW_POLYGON_NOFILL:
403cdf0e10cSrcweir 		case SID_DRAW_XPOLYGON_NOFILL:
404cdf0e10cSrcweir         case SID_DRAW_BEZIER_FILL:
405cdf0e10cSrcweir 		case SID_DRAW_POLYGON:
406cdf0e10cSrcweir 		case SID_DRAW_XPOLYGON:
407cdf0e10cSrcweir         case SID_DRAW_FREELINE:
408cdf0e10cSrcweir         case SID_DRAW_FREELINE_NOFILL:
409cdf0e10cSrcweir 
410cdf0e10cSrcweir 		case SID_DRAW_LINE:
411cdf0e10cSrcweir 		case SID_DRAW_XLINE:
412cdf0e10cSrcweir 		case SID_DRAW_MEASURELINE:
413cdf0e10cSrcweir 		case SID_LINE_ARROW_START:
414cdf0e10cSrcweir 		case SID_LINE_ARROW_END:
415cdf0e10cSrcweir 		case SID_LINE_ARROWS:
416cdf0e10cSrcweir 		case SID_LINE_ARROW_CIRCLE:
417cdf0e10cSrcweir 		case SID_LINE_CIRCLE_ARROW:
418cdf0e10cSrcweir 		case SID_LINE_ARROW_SQUARE:
419cdf0e10cSrcweir 		case SID_LINE_SQUARE_ARROW:
420cdf0e10cSrcweir 
421cdf0e10cSrcweir 		case SID_3D_CUBE:
422cdf0e10cSrcweir 		case SID_3D_SPHERE:
423cdf0e10cSrcweir 		case SID_3D_CYLINDER:
424cdf0e10cSrcweir 		case SID_3D_CONE:
425cdf0e10cSrcweir 		case SID_3D_PYRAMID:
426cdf0e10cSrcweir 		case SID_3D_TORUS:
427cdf0e10cSrcweir 		case SID_3D_SHELL:
428cdf0e10cSrcweir 		case SID_3D_HALF_SPHERE:
429cdf0e10cSrcweir 
430cdf0e10cSrcweir         case SID_TOOL_CONNECTOR:
431cdf0e10cSrcweir         case SID_CONNECTOR_ARROW_START:
432cdf0e10cSrcweir         case SID_CONNECTOR_ARROW_END:
433cdf0e10cSrcweir         case SID_CONNECTOR_ARROWS:
434cdf0e10cSrcweir         case SID_CONNECTOR_CIRCLE_START:
435cdf0e10cSrcweir         case SID_CONNECTOR_CIRCLE_END:
436cdf0e10cSrcweir         case SID_CONNECTOR_CIRCLES:
437cdf0e10cSrcweir         case SID_CONNECTOR_LINE:
438cdf0e10cSrcweir         case SID_CONNECTOR_LINE_ARROW_START:
439cdf0e10cSrcweir         case SID_CONNECTOR_LINE_ARROW_END:
440cdf0e10cSrcweir         case SID_CONNECTOR_LINE_ARROWS:
441cdf0e10cSrcweir         case SID_CONNECTOR_LINE_CIRCLE_START:
442cdf0e10cSrcweir         case SID_CONNECTOR_LINE_CIRCLE_END:
443cdf0e10cSrcweir         case SID_CONNECTOR_LINE_CIRCLES:
444cdf0e10cSrcweir         case SID_CONNECTOR_CURVE:
445cdf0e10cSrcweir         case SID_CONNECTOR_CURVE_ARROW_START:
446cdf0e10cSrcweir         case SID_CONNECTOR_CURVE_ARROW_END:
447cdf0e10cSrcweir         case SID_CONNECTOR_CURVE_ARROWS:
448cdf0e10cSrcweir         case SID_CONNECTOR_CURVE_CIRCLE_START:
449cdf0e10cSrcweir         case SID_CONNECTOR_CURVE_CIRCLE_END:
450cdf0e10cSrcweir         case SID_CONNECTOR_CURVE_CIRCLES:
451cdf0e10cSrcweir         case SID_CONNECTOR_LINES:
452cdf0e10cSrcweir         case SID_CONNECTOR_LINES_ARROW_START:
453cdf0e10cSrcweir         case SID_CONNECTOR_LINES_ARROW_END:
454cdf0e10cSrcweir         case SID_CONNECTOR_LINES_ARROWS:
455cdf0e10cSrcweir         case SID_CONNECTOR_LINES_CIRCLE_START:
456cdf0e10cSrcweir         case SID_CONNECTOR_LINES_CIRCLE_END:
457cdf0e10cSrcweir         case SID_CONNECTOR_LINES_CIRCLES:
458cdf0e10cSrcweir 
459cdf0e10cSrcweir 
460cdf0e10cSrcweir 
461cdf0e10cSrcweir 		//case SID_ZOOM_OUT:
462cdf0e10cSrcweir 			return( sal_True );
463cdf0e10cSrcweir 	}
464cdf0e10cSrcweir 	return( sal_False );
465cdf0e10cSrcweir }
466cdf0e10cSrcweir 
467cdf0e10cSrcweir 
468cdf0e10cSrcweir 
469